|

很明显出现这种现象是不正常的,我们可以在所捕获的数据包里定义过滤器,选择只查看Netbios协议,进一步了解具体的数据包内容(如下图所示):

发现存在大量网内的私网地址发起的139端口连接请求,而且全都是TCP的SYN请求,TCP的三次握手只有一次,很可能受到了SYN攻击。数据包大小都是62字节,而且每个数据包之间发送间隔都在1ms内,排除人为发起TCP请求的可能。通过观察数据包的源,目的IP地址,发现源地址很分散,目的地址均为实际并不存在的IP地址,但根据我公司IP地址规划都属于某地市分公司私网地址段。根据流量的特征,初步判断为私网用户感染蠕虫病毒,病毒通过139端口与大量虚假IP地址建立连接,造成网络中存在大量短数据包,严重降低网络运行效率。 | |
问题:TCP连接请求进行不断的循环重传
同时我们还发现当前网络对每一个TCP连接请求进行不断的重传,直到TTL值过期之后才被丢弃。通过跟踪查看某个地址的重传数据包,发现一个奇怪的现象:

上面两幅截图是Sniffer捕获的172.17.60.126对172.17.46.14发起TCP连接请求的两个数据包,可以看到在数据包的网络层里面有两个选项:Identification,Time to live(TTL)。Identification是用来唯一标识主机发出的每个数据包的,正常情况下每个数据包的ID都不一样,而TTL是用来限制数据包在网络中经过的跳数的,每经过一跳TTL值就减1,直到TTL值为0的时候数据包就被丢弃,主要是防止当网络中出现环路时数据包的循环传送。而在上图可以看到,这两个数据包的Identification是一样,只是TTL值相差1。这就表示这两个数据包实际上是同一个数据包(因为ID一样),只不过被发出去以后又被送回来了。到了这里,我们可以初步怀疑是否出现了路由环路。
总结:路由环路、中毒机器
进一步在中心机房尝试tracert172.17.46.14这个IP地址跟踪路由,发现路由在中心机房交换机和地市交换机之间形成环路,数据包在环路不断往返,直到TTL值过期才被丢弃。
通过查看中心机房交换机路由表,发现配置了静态路由,将172.17.44.0/22这段地址指向了地市分公司交换机,而在分公司交换机配置的私网地址池里面只配置了172.17.44.0/23,并没有包括172.17.46.0这段地址,所以在里面找不到对应的路由,故将流量通过默认路由又传回至中心机房,从而形成环路。检查针对其他网段的异常流量时同样出现这种情况。所以,当感染蠕虫病毒的机器与大量实际并不存在的地址建立139连接时,借助静态路由设置不当的漏洞,这些数据包在网络中循环传送,消耗了大量网络带宽,降低了网络的运行效率。所以针对以上流量分析,我们可以得出以下结论:
⑴目前网络中存在大量中毒机器,并且正在试图通过局域网感染其他主机,最好能及时通知客户做杀毒处理,消除网络隐患。
⑵出于安全方面的考虑,建议拒绝基于139端口的流量。
⑶中心机房交换机上需要更改静态路由,取消路由环路。
上面的文章只是一个抛砖引玉,其实Sniffer还有很多强大的功能,希望大家能在平时多多使用,互相交流经验,进一步提高我们的日常维护工作效率。
|