僵尸扫描详解及实例演示

【摘要】端口扫描是主动扫描的重要一部分,而僵尸扫描是主动信息收集下的一种及其隐蔽的TCP扫描方式,相对于全连接扫描和隐蔽扫描而言,执行僵尸扫描的条件非常苛刻。一个合格的僵尸机是实现僵尸扫描的关键因素,僵尸至少要保证在进行扫描阶段不会产生其他的IP包,即是不会与我们主机之外的任何机器进行第三层的IP通讯,至少在我们控制其进行扫描的阶段不可以,否则将直接导致我们的扫描结果不可靠。

【关键字】  IP  僵尸  端口扫描

僵尸扫描详解

1.僵尸扫描实施环境:

  • 足够闲置的系统(僵尸机)
  • 僵尸系统必须使用递增的IPID
  • 可伪造源地址

2.僵尸扫描实施过程:

                                                                图一:目标机端口开放

第一步:扫描机与僵尸机发送SYN/ACK的请求包,基于TCP三次握手协议,僵尸机会返回一个RST包及系统此时的IPID_0。

第二步:扫描机紧接着向目标机发送一个源地址为僵尸机的IP的SYN数据包,目标机收到后,由于源IP是僵尸机的地址,便向僵尸机发送SYN/ACK的应答包,僵尸机则回复一个RST包(此时系统的IPID加1)。

第三步:扫描机再重复第一步的操作,此时僵尸机便向扫描者返回RST包及IPID_1,一次僵尸扫描结束。

                                                                   图二:目标机端口未开放

第一步:扫描机与僵尸机发送SYN/ACK的请求包,基于TCP三次握手协议,僵尸机会返回一个RST包及系统此时的IPID_0。

第二步:扫描机紧接着想目标机发送一个源地址为僵尸机的IP的SYN数据包,目标机收到后,由于源IP是僵尸机的地址,便向僵尸机发送一个RST包,僵尸机未作回应。(此时僵尸机系统的IPID不变)。

第三步:扫描机再重复第一步的操作,此时僵尸机便向扫描者返回RST包及IPID_1,一次僵尸扫描结束。      

3.僵尸扫描原理:

由于僵尸机的IPID是递增,并且系统足够闲置,则僵尸机总共与外界发生三次对话,则僵尸机在操作第二步和第三步时IPID发生变化。
如果IPID_1-IPID_0=2,则目标主机端口开放;
如果IPID_1-IPID_0=1,则目标主机端口关闭。

僵尸扫描实例:

1、实验环境:

  • 扫描机:Kali_Linux-2019.1(192.168.3.28)
  • 僵尸机:Windows_xp(192.168.3.42)
  • 目标机:Metasploitable2-Linux(192.168.3.39)

2、实验步骤:

第一步:使用扫描机先扫描判断目标机和僵尸机所开放的端口:

目标机:

僵尸机:

第二步:使用scapy工具构造包:

rz(发向僵尸机的SYN/ACK包):

rt(发向目标机的SYN包,源IP:僵尸机,目的IP:目标机, 目标端口为25,开放):

第三步:发送rz和rt数据包,得到两个来自僵尸机的应答包az1和az2

第四步:查看数据包az1和az2:

第五步:结果判断:az2.id-az1.id=2,目标主机端口25开放

检测未开放端口44444:

第二步:

rz(发向僵尸机的SYN/ACK包):

rt(发向目标机的SYN包,源IP:僵尸机,目的IP:目标机, 目标端口为44444,开放):

第三步:发送rz和rt数据包,得到两个来自僵尸机的应答包az1和az2

第四步:查看数据包az1和az2:

第五步:结果验证:az2.id-az1.id=1,目标主机端口44444关闭。

【注释】

IPID:IP包头的标识(identification)字段 占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。

Scapy:一个强大的操纵报文的python交互程序。它可以伪造或者解析多种协议的报文,还具有发送、捕获、匹配请求和响应这些报文以及更多的功能。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值