原形毕露--基于wireshake对各种类型攻击流量进行分析(一)
在复杂的内网环境中,为了感知攻击行为,管理员喜欢放置一个IDS来从网络流量层感知攻击行为,最经典的就是snort了,这里不多讲述IDS规则的编写,而是着重分析各种攻击流量。本文以下图为组织:
一:扫描流量发现
在攻击者进入内网之后,所做的第一件事就是扫描内网,获取内网内网拓扑结构,再经过分析,获取进攻点。所以先来介绍一下扫描,这里以nmap为例:扫描一共分为四步:主机发现->端口扫描->版本侦测->系统侦测。
一:主机发现:
1.利用arp探测主机是否存活
nmap命令如下:nmap -sn 192.168.118.128。看一下数据包:
这里主要通过ARP的方式获取主机是否存活,arp的工作原理如下:
1) 首先﹐每一台主机都会在 ARP Cache中建立一个 ARP表格﹐用来记录 IP地址和MAC地址的对应关系。这个 Table的每一条信息会根据自身的存活时间递减而最终消失﹐以确保信息的真实性。
2) 当发送主机有一个封包要传送给目的主机并且获得目的主机的 IP 地址的时候﹐发送主机会先检查自己的 ARP表格中有没有与该 IP地址对应的MAC地址。如果有﹐就直接使用此地址来传送封包﹔如果没有﹐则向网络发出一个 ARP Request广播封包﹐查询目的主机的MAC地址。这个封包会包含发送端的 IP地址和MAC地址信息。
3) 这时﹐网络上所有的主机都会收到这个广播封包﹐会检查封包的 IP 栏位是否和自己的 IP 地址一致。如果不是则忽略﹔如果是则会先将发送端的MAC地址和 IP资料更新到自己的 ARP表格去﹐如果已经有该 IP的对应﹐则用新的信息覆盖原来的﹔然后再回应一个 ARP Reply封包给对方﹐告知发送主机关于自己的MAC地址﹔
4)当发送端接到 ARP Reply之后﹐也会更新自己的 ARP表格﹔然后就可以用此记录进行传送了。
5) 如果发送端没有得到 ARP Reply ﹐则宣告查询失败。
一句话来说,就是:
2:非内网情况下的主机存货获知
默认情况下,Nmap会发送四种不同类型的数据包来探测目标主机是否在线。
1. ICMP echo request
2. a TCP SYN packet to port 443
3. a TCP ACK packet to port 80
4. an ICMP timestamp request
依次发送四个报文探测目标机是否开启。只要收到其中一个包的回复,那就证明目标机开启。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误。