如何分析理解端口扫描行为

端口扫描,通常是指利用TCP、UDP等方式,去检测操作系统类型及开放的服务,为进一步的攻击做好准备。通常蠕虫病毒、网络攻击等常见的影响网络安全的行为,都是从扫描开始的。所以,深入了解各种网络扫描的工作原理及其表现特征,对网络管理者具有重要的实战意义。

NMAP作为常见的网络扫描工具,内置了多种扫描方式。每种方式的工作原理不同,其数据包和通讯特征也不尽相同。我们将通过网络分析软件,对常见扫描方式进行分析和图形化的展现,以方便大家对这些扫描方式有一个深入的理解。

 

12.1 分析过程

 

12.1.1 TCP SYN扫描

TCP SYN扫描,是最受攻击者欢迎的扫描类型之一。其扫描速度快(每秒可以扫描数以千计的端口),兼容性好(只要对端支持TCP协议栈即可),且不易被发现。

TCP SYN扫描,通常又叫“半开放”扫描。因为它不必打开一个完整的TCP连接,只发送一个SYN包,就能做到打开连接的效果,然后等待对端的反应。如果对端返回SYN/ACK报文,则表示该端口处于监听状态,此时,扫描端则必须再返回一个RST报文来关闭此连接;返回RST报文表示该端口没有开放。

TCP SYN扫描在科来网络分析中的视图表现:小包多(<128字节),如下图所示。

图 12-1

在TCP Flag统计中,TCP同步位发送和TCP复位接收较多,如下图所示。

图 12-2

可能会触发TCP端口扫描诊断,如下图所示。

图 12-3

以固定端口与被扫描IP尝试连接,且会话大多具有相同的特征,如下图所示。

图 12-4

会话数据包总计为2个或3个。3个包表示端口开放,2个包表示端口未开放,如下图所示。

图 12-5

图 12-6

12.1.2 TCP connect扫描

TCP connect()扫描,是一种常见的扫描方式。它通过操作系统与目标机器建立连接,而不是直接发送原始数据包。这与浏览器、P2P客户端以及大多数网络应用程序一样,建立连接由高层系统调用。执行这种扫描的最大好处是无需root权限,但会在系统日志里留下记录。所以当在日志系统里,看到同一系统的大量连接尝试,就应该知道系统被扫描了。

TCP connect()扫描在科来网络分析系统中的视图表现:小包多(<128字节),如下图所示。

图 12-7

在TCP Flag统计中TCP同步位发送和TCP复位接收较多,同时会有少量的同步接受和复位包发送,如下图所示。

图 12-8

以连续端口与被扫描IP尝试连接,且会话大多具有相同的特征,如下图所示。

图 12-9

会话数据包总计为2-6个不等,需查看数据信息确认端口状态,如下图所示。

图 12-10

12.1.3 UDP扫描

UDP扫描,通常与ICMP相结合进行。在给目标主机发送没有携带任何数据的UDP数据包时,如果返回信息为“ICMP端口不可达”(类型为3,代码为3)的提示,则表示目标端口是关闭的,但主机是存活的;如果某服务响应一个UDP报文,则表明该端口是开放的。

当然,UDP扫描也存在瓶颈,那就是速度。很多主机默认限制发送“ICMP端口不可达”信息,或者限制发包的频率。如Linux2.4.20内核,就只允许一秒钟发送一条目标不可达信息。这样,扫描65535个端口,需要18小时的时间。这是不可接受的,所以加速UDP扫描的方法,通常是并发扫描或先扫描主要端口。

UDP扫描在科来网络分析中的视图表现:出现大量UDP会话,如下图所示。

图 12-11

大量的UDP小包,且不携带任何数据,如下图所示。

图 12-12

触发大量ICMP端口不可达诊断,如下图所示。

图 12-13

会话数据包总计为1-2个,通常情况1个表示端口关闭,2个或以上表示端口开放,如下图所示。

图 12-14

12.1.4 NULL扫描

根据RFC 793,主机发送一个没有任何标志位的TCP包,如果目标主机的对应端口是关闭的话,则会返回一个RST数据包,如果没有响应则表示该端口是开放的。

NULL扫描,可以躲过无状态防火墙和报文过滤路由器,且比SYN扫描要隐秘。值得注意的是,并不是所有系统都遵循RFC 793。一些系统不管端口是开放还是关闭,都响应RST数据包。如Cisco设备、BSDI等。

根据RFC793,类似的扫描还有FIN扫描、FIN+PSH+URG扫描。

NULL扫描在科来网络分析中的视图表现:网络中存在大量小包,大量的TCP复位数据包,如下图所示。

图 12-15

大量没有任何标志位的数据包,如下图所示。

图 12-16

12.1.5 ACK扫描

ACK扫描发送一个只设置ACK标志位的数据包,目标主机端口无论是关闭还是开放状态,都会返回RST数据包。但ACK扫描不能确定目标主机的端口状态,可以确定对方主机是否存活,可以发现防火墙规则来确定防火墙的状态。

ACK扫描在科来网络分析中的视图表现:网络中存在大量小包,大量的TCP复位数据包,如下图所示。

图 12-17

大量ACK标志位置1的数据包,如下图所示。

图 12-18

12.1.6 窗口扫描

在某些系统上,开放端口用正数表示窗口大小,而关闭的窗口大小则为0。窗口扫描,就是通过检查返回RST报文的窗口字段,来判断端口是否开放。

窗口扫描依赖于少数的系统实现细节,不支持它的系统通常会返回“所有端口都关闭”信息;甚至有些系统会给出相反的行为(比如:扫描显示1000端口开放,3个端口关闭,那么这3个端口反而是开放的)。

窗口扫描在科来网络分析中的视图表现:网络中存在大量小包,大量的TCP复位统计,如下图所示。

图 12-19

图 12-20

网络中存在大量特征相同的协议统计,如下图所示。

图 12-21

12.1.7 IP扫描

IP协议扫描,用来确定目标主机支持的IP协议,如TCP、UDP、ICMP等。它不对任何TCP或UDP端口发送报文,而是对IP协议号发送对应的数据包。

IP协议扫描发送IP报文,报文不包含任何数据,甚至不包含协议的正确报文头(TCP、UDP、ICMP例外)。IP协议扫描需要关注“ICMP协议不可达”信息,收到目标主机的任何协议响应,即表示该协议是开放的。

窗口扫描在科来网络分析中的视图表现:网络中存在大量小包,如下图所示。

图 12-22

网络中存在大量特征相同的IP数据包,且不携带任何数据,如下图所示。

图 12-23

12.1.8 FIN\ACK扫描

FIN/ACK扫描也被称作Maimon扫描,根据发现者Uriel Maimon命名。其实Maimon扫描与NULL、FIN扫描的原理一样,根据RFC 793,无论端口是关闭还是开放,目标主机都会对FIN+ACK探测数据包,响应RST报文(但许多基于BSD的系统,会丢弃FIN+ACK探测数据包)。

FIN\ACK扫描在科来网络分析中的视图表现:网络中存在大量小包,大量的TCP复位统计,如下图所示。

图 12-24

图 12-25

网络中存在大量特征相同的协议统计,如下图所示。

图 12-26

大量同步位(ACK)和终止位(FIN)的数据包,如下图所示。

图 12-27

12.1.9 定制扫描

一些高级用户,不会遵循现成的扫描类型和规则,而是根据实际情况,任意指定TCP的相关标志位和扫描类型,从而避免IDS等设备的检测。

FIN/ACK扫描在科来网络分析中的视图表现:

利用概要、协议、TCP/UDP会话、解码视图进行综合分析。

 

12.2 分析结论

 

1、端口扫描的大致特征

  • 小包多,大小基本在64-128字节之间;
  • SYN置1,RST置1的数据包较多;
  • 大量的TCP或UDP会话,且具有相同的会话特征;
  • 采用连续端口或固定端口,尝试与目标主机连接;
  • 诊断提示中会出现TCP复位,ICMP端口不达,甚至端口扫描提示。

2、了解端口扫描原理有哪些好处

  • 快速定位蠕虫病毒;
  • 快速确定攻击行为及类型;
  • 快速厘清正常通讯与异常通讯;
  • 快速发现网络中的异常行为。

 

12.3 价值

 

端口扫描有很多种,只要我们掌握其原理,无论使用的哪种扫描技术,我们都可以通过网络分析进行快速定位,找出攻击源。

免费测试申请及购买咨询

您的名字 :

您的手机 :

您的邮箱 :

公司名称 :

您的职位 :

公司地址 :

网络规模 :

购买用途 :

补充留言:

验证: