僵尸扫描:
- 条件较为苛刻,首先要能够进行地址欺骗;
- 其次僵尸机没有什么网络流量产生;
- 最后僵尸机的ipid必须是递增的(win xp及以前windows机型)闲置系统;
1. 僵尸扫描的过程
Port is Open
Port is Closed
僵尸扫描的过程:
1. 扫描者向僵尸机发送SYN/ACK数据包,僵尸机会返回一个RST数据包,记录下ipid为x;
2. 扫描者向目标主机发送SYN数据包(将原地址伪造成僵尸机);
3. 若目标主机端口开放,则目标主机向僵尸机发送SYN/ACK数据包;
3.1 僵尸机收到SYN/ACK数据包,则向目标主机发送RST数据包,此时僵尸机ipid为x+1;
3.2 扫描者向僵尸机再次发送SYN/ACK数据包,僵尸机返回一个RST数据包,此时ipid为x+2;
4. 若目标主机端口关闭,则目标主机向僵尸机发送RST数据包,此时僵尸机不会产生任何数据包;
4.1 扫描者向僵尸机再次发送SYN/ACK数据包时,僵尸机返回一个RST数据包,此时ipid为x+1;
5. 通过扫描者从僵尸机接收到的两个RST数据包的ipid可以判断目标主机的目标端口是否开放;
2. 僵尸扫描——scapy
(1)scapy
实验环境:
kali(攻击者): 192.168.37.131
Windows 2008(目标主机) :192.168.37.128
win xp (僵尸机) :192.168.37.130
root@root:~# scapy
WARNING: No route found for IPv6 destination :: (no default route?)
INFO: Can't import python ecdsa lib. Disabled certificate manipulation tools
Welcome to Scapy (2.3.3)
>>> i=IP()
>>> t=TCP()
>>> rz=(i/t)
>>> rt=(i/t)
>>> rz[IP].dst="192.168.37.130"
>>> rz[TCP].dport=445
>>> rz[TCP].f