<返回更多

黑客实施攻击-网络扫描技术

2020-06-29    
加入收藏
黑客实施攻击-网络扫描技术

 

踩点foot printing,获得一定信息(例如IP地址范围、DNS服务器地址和邮件服务器地址等),下一步确定目标网络范围内哪些系统是活动的、提供哪些服务;与盗窃案踩点相比,扫描就像辨别建筑物位置并观察有哪些门窗。

扫描scanning,通过向目标主机发送数据报文,根据响应获得目标主机的情况。扫描主要目的是使攻击者对目标系统提供的各种服务进行评估,以便在最有希望的途径上攻击。扫描分为3种:地址扫描、端口扫描和漏洞扫描,端口扫描是网络扫描核心技术。

(1)地址扫描,简单做法是通过ping判断某个IP地址是否有活动主机,或者主机是否在线。Ping向目标系统发送ICMP 回显请求报文,等待返回的ICMP回显应答。Ping程序一次只能对一台主机进行测试。Fping以并发形式向大量地址发出 ping请求。地址扫描预防:在防火墙规则中加入丢弃ICMP回显请求信息,或者在主机中设置禁止对这样的请求信息应答。

(2)端口扫描,为区别通信的程序,在所有IP数据报文中有源地址和目的地址,也有源端口号与目的端口号。常用服务使用标准端口号,只要扫描到相应端口就能直到目标主机上执行着什么服务,然后入侵者才能针对这些服务进行相应的攻击。

(3)漏洞扫描,使用漏洞扫描程序对目标系统进行信息查询。通过漏洞扫描,可以发现系统中存在不安全的地方。漏洞扫描器是一种自动检测远程或本地主机安全性弱点的程序。

漏洞扫描器的外部扫描:在实际的Internet环境下通过网络对系统管理员所维护的服务器进行外部特征扫描;

漏洞扫描器的内部扫描:以系统管理员的身份对所维护的服务器进行内部特征扫描。

1)端口

端口是由TCP/IP协议定义,是指逻辑意义上的端口,一个端口是一个潜在的通信通道,也就是一个入侵通道。

端口和进程一一对应,端口相当于两台计算机进程间的大门,目的是为了让两台计算机找到对方进程,所以必须给端口进行编号。

端口范围0~65535,分为标准端口和非标准端口。标准端口范围0~1023,分配一些固定服务。非标准端口范围1024~65535,不分配固定服务,许多服务都可以使用。病毒木马程序常常利用这些端口从事服务活动。

端口扫描,向目标主机TCP/IP服务端口发送探测数据包,记录目标主机的响应。分析响应判断服务端口是打开、关闭,可以得知端口提供的服务或信息。只要扫描到相应端口开着,获得目标主机运行的服务,入侵者针对这些服务进行相应的攻击。

扫描器Scanner主要功能:

检测主机是否在线;

扫描目标系统开放的端口,测试端口的服务信息;

获取目标操作系统的敏感信息;

破解系统口令;

扫描其他系统敏感信息。

CGI扫描器、ASP扫描器、从各个主要端口取得服务信息的扫描器、数据库扫描器和木马扫描器等。

2)端口扫描分类

端口扫描分为TCP connect扫描(全连接扫描)、TCP SYN扫描(半打开扫描)、秘密扫描和间接扫描等。TCP connect扫描是最基础的一种端口扫描方式。TCP SYN扫描在扫描过程中没有建立完整的TCP连接,故又称为半打开扫描。秘密扫描包含TCP FIN扫描、TCP ACK扫描等多种方式。

TCP Connect扫描,调用套接口函数connect()连接目标端口,完成三次握手过程。客户发送一个SYN分组给服务器;服务器发出SYN/ACK分组给客户;客户再发送一个ACK分组给服务器。

TCP SYN扫描,称为半打开扫描(Half-Open Scanning),没有建立完全的TCP连接。

扫描主机向目标端口发送一个SYN分组,收到来自目标端口的SYN/ACK分组,则可推断该端口处于监听状态;如果收到一个RST/ACK分组,则说明该端口未被监听。执行端口扫描的系统随后发出RST/ACK分组,这样并未建立任何“连接”。但是,打开的半开连接数量过多,目标主机会形成“拒绝服务”。

TCP FIN扫描,申请方主机向目标主机一个端口发送TCP标志位FIN置位的数据包,如果目标主机该端口是“关”状态,则返回一个TCP RST数据包;否则不回复。根据这一原理可以判断对方端口是处于“开”还是“关”状态。

TCP ACK扫描,用于探测防火墙的规则集。它可以确定防火墙是否只是简单地分组过滤、只允许已建好的连接(设置ACK位);还是一个基于状态的、可执行高级的分组过滤防火墙。

TCP NULL扫描,该技术是关掉所有的标志。根据RFC793文档规定,如目标端口是关闭的,目标主机应该返回RST分组。

TCP SYN/ACK扫描,故意忽略TCP的3次握手。TCP连接化简为SYN-SYN/ACK-ACK形式的3次握手。扫描主机不向目标主机发送SYN数据包,而先发送SYN/ACK数据包。目标主机报错则判断为一次错误连接,若目标端口开放目标主机将返回RST信息。

UDP扫描,向目标端口发送一个UDP分组。如果目标端口发回“ICMP port unreachable”,则表示端口关闭;否则端口开放。

3)端口扫描技术

Ping扫射、TCP/UDP端口扫描、操作系统检测和旗标获取。

①Ping扫射,判别主机是否“活动”的有效方式。Ping用于向目标主机发送ICMP回射请求(Echo Request)分组,期待由此引发的表明目标系统“活动”的回射应答(Echo Reply)分组。Ping扫射工具:Ping命令和扫射网段fping、WS_ping等。

②TCP/UDP端口扫描,连接目标主机的TCP和UDP端口,确定哪些服务正在运行及服务版本号,发现相应服务程序的漏洞。扫描工具:Superscan和NetScan Tool Pro。

③操作系统检测,许多漏洞和操作系统紧密相关,黑客确定操作系统类型对于攻击目标十分重要。探测操作系统技术分为两类:利用系统旗标信息,利用TCP/IP堆栈指纹;每种技术细分为主动鉴别和被动鉴别。检测工具:Nmap、Queso和Siphon。

④旗标获取,利用一个打开端口识别系统提供的服务类型和版本号。常用方法:连接到一个端口,按Enter键几次,看返回什么类型信息。

旗标获取实例

[Netat_svr#]Telnet 192.168.5.33 22

SSH-1.99-OpenSSH_3.1p1

表明端口提供SSH服务,版本号为3.1p1。

一般的服务器配置安全防护设备,有防火墙、入侵检测,重要安全服务器配置蜜罐系统、防DoS攻击系统和过滤邮件等。根据扫描结果判断,目标主机使用了哪些安全防护设施。

获取内容包括

获取目标的网络路径信息。目标网段信息:确认目标所在网段,掩码情况;判断安全区域划分情况;为可能的跳板攻击做准备。目标路由信息:确认目标所在具体路由情况,判断路由路径的各个设备类型,如路由器、三层交换机、防火墙。

了解目标的具体路由。确认目标是否安装安全设施,包括防火墙、入侵检测和蜜罐系统。

了解目标使用的安全设备。包括入侵检测、日志审计和防病毒。

通过扫描,入侵者掌握目标系统使用的操作系统,下一个工作是查点(enumeration)。

查点,搜索特定系统上用户和用户组名、路由表、SNMP信息、共享资源、服务程序及旗标等信息。查点采用技术依操作系统而定。

windows采用技术,查点NetBIOS线路、空会话(NULL Session)、活动目录(Active Directory)和SNMP代理等。

网络踩点收集网络用户名、IP地址范围、DNS服务器以及邮件服务器等有价值信息。

网络扫描确定哪些系统在活动,并能从因特网访问。

通过扫描,入侵者掌握目标系统使用的操作系统,下一个工作是查点(enumeration)。

查点,搜索特定系统上用户和用户组名、路由表、SNMP信息、共享资源、服务程序及旗标等信息。查点采用技术依操作系统而定。

Windows采用技术,查点NetBIOS线路、空会话(NULL Session)、活动目录(Active Directory)和SNMP代理等。

网络踩点收集网络用户名、IP地址范围、DNS服务器以及邮件服务器等有价值信息。

网络扫描确定哪些系统在活动,并能从因特网访问。

①确定目标系统是否在活动

Ping,向目标系统发送ICMP回送请求(Echo Request)分组,期待目标系统ICMP回送应答(Echo Reply)分组。对于中小规模网络,这种方法确定系统是否在活动。对于大规模网络,Ping效率低下。

Windows系统,有许多ICMP Ping扫描工具。Fping是以并行的轮询形式发出大量Ping请求。

Fping两种用法:一种是通过标准输入设备(stdin)向它提供一系列IP地址;一种是从文件中读取,每行放一个IP地址,组成一个文件abc.txt,格式如下。

192.168.26.1

192.168.26.2

……

192.168.26.253

192.168.26.254

然后,使用“-H”参数读入文件:

C:>fping –H abc.txt

Fast pinger version 2.22

(c) Wouter Dhondt (http://www.kwakkelflap.com)

Pinging multiple hosts with 32 bytes of data every 1000 ms:

Reply[1] from 192.168.26.1: bytes=32 time=0.5 ms TTL=64

Reply[2] from 192.168.26.2: bytes=32 time=0.5 ms TTL=64

……

192.168.26.134 request timed out(该机器没有启动)

……

Reply[253] from 192.168.26.253: bytes=32 time=0.5 ms TTL=64

Reply[254] from 192.168.26.254: bytes=32 time=0.5 ms TTL=64

Ping statistics for multiple hosts:

Packets:Sent = 254, Received = 127, Lost = 127 (50% loss)(机器活动数量127台,未启动数量127台)

Approximate round trip times in milli-seconds:

Minimum = 0.2 ms, Maximum = 0.5 ms, Average = 0.3 ms

②确定哪些服务正处于监听状态

对目标系统的TCP和UDP端口进行连接,以确定该系统正在运行哪些服务的过程就称为端口扫描。

SuperScan,黑客工具,网络安全工具。黑客利用拒绝服务攻击DoS收集远程网络主机信息。作为安全工具,SuperScan能够发现网络中的弱点,Ping扫描、TCP端口扫描、UDP端口扫描,组合多种技术同时扫描。

advanced port scanner,多线程端口扫描器。扫描器为一般端口列出详情,在扫描前预先设置扫描的端口范围或者基于常用端口列表,扫描结果以图的形式显示。

端口扫描检测程序,Windows平台Genius 2.0软件监测简单的端口扫描活动,适用于Windows 2003。Genius在一段给定时间内同时监听大量的端口打开请求,当它监测到一次扫描时,就会弹出一个窗口向你报告来犯者的IP地址和DNS主机名。

③确定被扫描系统的操作系统类型

确定操作系统类型两个方法:主动协议栈指纹鉴别,被动协议栈指纹鉴别。TCP/IP协议栈只在RFC文档中描述,没有统一的行业标准,各个公司的操作系统在TCP/IP协议栈实现上不相同。

协议栈指纹鉴别,不同厂家TCP/IP协议栈实现存在细微差别,通过探测差异,对目标系统的操作系统进行比较准确的判别。

主动协议栈指纹鉴别基本内容:

FIN探测分组。给一个打开端口发送一个只有FIN标志位的TCP数据包,Windows发回一个FIN/ACK分组。

ACK序号。给一个关闭TCP端口发送一个FIN/PSH/URG数据包,Windows发回序号为初始序号加1的ACK包。

虚假标记的SYN包。在SYN包的TCP首部设置一个准确定义的TCP标记,Windows系统在响应字节中会复位连接。

ISN初始化序列号。在响应一个连接请求时,Windows系统选择TCP ISN时采用一种时间相关的模型。

TOS服务类型。ICMP端口不可达消息,Windows送回包值为0。

主机使用的端口。Windows开放一些特殊端口,137、139和445。

被动协议栈指纹鉴别基本内容:

主动协议栈指纹识别主动向目标发送数据包,被IDS捕获。隐秘识别远程操作系统,需要被动协议栈指纹识别。

被动协议栈指纹识别和主动协议栈指纹识别相似,不主动发送数据包,被动捕获远程主机返回的包,分析操作系统类型或版本。

TCP/IP会话,三个基本属性识别操作系统。

Windows三个基本属性:

TTL = 128,Time-To-Live 表示存活期。

Windows Size窗口大小 = 0x402e。

Don't Fragment 位(DF)= 0(分片)。

被动分析这些属性,远程操作系统类型为Windows。

⑷端口扫描器

①端口扫描程序Nmap(Network Mapper)

Nmap,网络发现Network Discovery和安全审计Security Auditing工具,跨平台端口扫描工具。

NMap网络连接端扫描软件,用来扫描网上电脑开放的网络连接端,确定哪些服务运行在连接端,推断计算机运行哪个操作系统 fingerprinting。

Nmap基本功能

主机发现Host Discovery,端口扫描Port Scanning,版本侦测Version Detection,操作系统侦测Operating System Detection。

四项功能之间存在依赖关系,首先主机发现,确定端口状况,确定端口运行具体应用程序与版本信息,进行操作系统的侦测。

四项基本功能之上,Nmap提供防火墙与入侵检测系统规避技巧,综合应用四个基本功能的各个阶段;Nmap提供Scripting Language脚本引擎功能,脚本对基本功能补充和扩展。

Zenmap,Nmap官方提供的Python语言编写的的图形界面,运行在不同操作系统平台。

Zenmap,常用操作命令保存为profile,用户扫描时选择profile。可以比较不同的扫描结果;提供网络拓扑结构图形显示功能。

Profile栏位,Zenmap默认的Profile或用户创建的Profile。

Command栏位,Profile对应的命令或者用户指定的命令。

Topology选项,显示扫描的目标机与本机之间拓扑结构。

黑客实施攻击-网络扫描技术

 

主机发现

用于发现目标主机是否在线(Alive,处于开启状态),主机发现原理与Ping命令类似,发送探测包到目标主机,如果收到回复说明目标主机是开启的。

黑客实施攻击-网络扫描技术

 

Wireshark抓包,scanme.nmap.org的IP地址182.140.147.57发送四个探测包:ICMPEcho,80和135端口的TCP SYN包,53端口的UDP包(DNS domain)。

收到ICMP Echo回复与80端口回复,确定scanme.nmap.org主机正常在线。

黑客实施攻击-网络扫描技术

 

端口扫描Port Scanning

Nmap最基本最核心功能,确定目标主机的TCP/UDP端口开放情况。Nmap命令行参数来指定扫描方式和扫描端口。

Nmap通过探测将端口划分为六个状态:

open,端口开放;

closed,端口关闭;

filtered,端口被防火墙IDS/IPS屏蔽,无法确定其状态;

unfiltered,端口没有被屏蔽,是否开放需要进一步确定;

open|filtered,端口是开放的或被屏蔽;

closed|filtered,端口是关闭的或被屏蔽。

扫描结果,横线处写明共有589个端口关闭;红色框图中列举出开放的端口和可能开放的端口。

黑客实施攻击-网络扫描技术

 

版本侦测,确定目标主机开放端口运行的具体的应用程序及版本信息。图显示操作系统Windows版本信息。

结果看到996个端口关闭,4个open端口版本侦测。图中红色为版本信息,红色线条划出部分版本侦测的附加信息,从应用中检测到微软特定应用服务,推断对方运行Windows操作系统。

黑客实施攻击-网络扫描技术

 

操作系统侦测,检测目标主机运行操作系统及设备类型等,Nmap使用TCP/IP协议栈指纹识别不同操作系统和设备,2600多种操作系统与设备类型。指纹数据库nmap-os-db,图显示设备类型信息。

图可看到,指定-O选项,先进行主机发现与端口扫描,根据扫描到端口来进行操作系统侦测。结果信息:设备类型、操作系统类型与CPE描述、操作系统细节、网络距离等。

黑客实施攻击-网络扫描技术

 

3. 进行网络监听

踩点收集网络用户名、IP地址范围、DNS服务器以及邮件服务器等信息。

扫描获得目标主机端口开关、运行服务以及操作系统类型。

查点搜索目标主机系统用户名、路由表、SNMP信息、共享资源、服务程序及旗标等信息。

黑客利用网络监听,截获网络上传输的信息,取得超级用户权限,获取用户账号和口令。

网络监听只能连接同一网段主机,局域网同一个网段所有网络接口都可以访问到物理媒体上传输的数据,每一个网络接口都有一个唯一的mac地址,在MAC地址和IP地址之间使用ARP和RARP协议进行相互转换。

以大网的工作原理,将要发送的数据包发往连接在同一网段中的所有主机,在包头中包含应该接收数据包的主机的正确地址,只有与数据包中目标地址相同的主机才能接收到信息包。

主机工作在监听模式,无论数据包中的目标物理地址是什么,主机都将接收。

网络监听工具嗅探器Sniffer,软件、硬件、网络分析仪。

①HUB和网卡工作原理

以太网等很多网络是基于总线方式,物理上是广播的,就是当一个机器发给另一个机器的数据,共享HUB先收到然后把它接收到的数据再发给HUB上的其他每个接口,所以在共享HUB所连接的同一网段的所有设备的网卡都能接收到数据。

而对于交换机,其内部单片程序能够记住每个接口的MAC地址,能够将收到的数据直接转发到相应接口连接的计算机,不像共享HUB那样发给所有的接口,所以交换式网络环境下只有相应的设备能够接受到数据(除了广播包)。

网卡工作在数据链路层,在数据链路层上数据是以帧为单位传输的,帧有几部分组成,不同的部分执行不同的功能。其中,帧头包括数据的MAC地址和源MAC地址。帧通过特定的称为网络驱动程序的软件处理进行成型,然后通过网卡发送到网线上,通过网线到达目标机器,在目标机器的一端执行相反的过程。

目标机器网卡收到传输来的数据,认为应该接收就在接收后产生中断信号通知CPU,认为不该接收就丢弃,所以不该接收的数据网卡被截断,计算机根本不知道。

CPU得到中断信号产生中断,操作系统根据网卡驱动程序中设置的网卡中断程序地址调用驱动程序接收数据。网卡收到传来的数据,先接收数据头的目标MAC地址。

只有目标MAC地址与本地MAC地址相同的数据包(直接模式)或者广播包(广播模式)或者组播数据(组播模式),网卡才接受,否则数据包直接被网卡抛弃。

网卡通常有4种接收数据方式;广播方式,接受网络中的广播信息;组播方式,接受组播数据;直接方式,只有目的网卡才能接受该数据;混杂模式,接受一切通过它的数据,而不管该数据是否是传给它的。网卡工作混杂模式,可以捕获网络上所有经过的数据帧,这时网卡就是嗅探器。

②网络监听基本原理

Sniffer基本工作原理,让网卡接受一切所能接受的数据。Sniffer工作过程分为三步:网卡置于混杂模式,捕获数据包,分析数据包。

ARP协议,IP地址到MAC地址转换,地址映像关系存储在ARP缓存表。黑客攻击ARP缓存表,将发送给正确主机的数据包,由攻击者转发给其控制的另外主机。

共享式网络环境,攻击者把网卡设置为混杂模式。

交换式网络环境,攻击者试探交换机是否存在失败保护模式(Fail-Safe Mode);交换机维护IP地址和MAC地址映像关系需要一定时间,网络通信出现大量虚假MAC地址,某些类型交换机出现过载情况会转换到失败保护模式,工作模式与共享式相同。

交换机不存在失败保护模式,需使用ARP欺骗。ARP欺骗需要攻击者主机具有IP数据包的转发能力,拥有两块网卡,假设IP地址分别是192.168.0.5和192.168.0.6,插入交换机两个端口,它截获目标主机192.16.0.3和网关192.168.0.2之间的通信,如图4-26所示。

主机A(192.168.0.4)通过网关(192.168.0.2)访问因特网,广播ARP请求,要求获得网关MAC地址。

交换机收到ARP请求,将请求包转发给各个主机;交换机将更新MAC地址和端口之间的映射表,主机A绑定所连接的端口。

网关收到ARP请求,发出带有网关MAC地址的ARP响应。

网关更新ARP缓存表,绑定主机A的IP地址和MAC地址。

交换机收到网关对主机A的ARP响应,查找它的MAC地址和端口之间映射表,转发ARP数据包到相应端口。

交换机更新MAC地址和端口之间的映射表,即将192.168.0.2绑定连接端口。

主机A收到ARP响应包,更新ARP缓存表,绑定网关的IP地址和MAC地址。

主机A用新MAC地址信息把数据发送给网关,通信信道建立。

在ARP欺骗的情况下,攻击者诱使目标主机(192.168.0.3)、网关(192.168.O.2)与其通信;攻击者伪装成路由器,使目标主机和网关之间所有数据通信经由攻击者主机转发,攻击者可对数据随意处理。

如果攻击者执行两次ARP欺骗,就能同时欺骗目标主机和网关。

黑客实施攻击-网络扫描技术

 

③Sniffer演示

硬件Sniffer价格昂贵,功能非常强大,可以捕获网络上所有的传输,并且可以重新构造各种数据包。Sniffer Pro、Wireshark等软件,优点是物美价廉易于使用,缺点是无法捕获网络上所有的数据传输,无法真正了解网络的故障和运行状态。

WireShark,运行在多个操作系统平台上的网络协议分析工具,主要作用尝试捕获网络包,显示包的详细情况。

WireShark是今天最好的开源网络协议分析软件,Etheral更高级的演进版本,包含WinPcap;通常运行在路由器或有路由功能的主机上,这样就能对大量的数据进行监控,几乎能得到以太网上传送的任何数据包。

WireShark-win32和WireShark-win64两个版本,WireShark-win32可在大多数电脑系统上运行,WireShark-win64必须安装在64位CPU的电脑和64位操作系统。图4-27、图4-28和图4-29分别显示WireShark捕获数据包设置、捕获数据包、捕获TCP数据包。

黑客实施攻击-网络扫描技术

 


黑客实施攻击-网络扫描技术

 


黑客实施攻击-网络扫描技术

 

@木子雨辰,将一直带给大家信息安全知识,由浅至深、采用体系化结构逐步分享,大家有什么建议和问题,可以及留言,多谢大家点击关注、转发、评论,谢谢大家。

大家如果有需要了解安全知识内容需求的可以留言,沟通,愿与大家携手前行。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>