您的位置:首页 > 运维架构 > Linux

Kali Linux 渗透测试之主动收集(僵尸扫描)

2019-05-23 16:38 176 查看

端口后面对应相应的应用程序,我们查到了活着的IP之后我们可以查看开放了那些端口,攻击进入一个操作系统都是通过端口后面应用程序的漏洞攻击进去的。
用scapy判断udp端口是否开放:
如果收到了icmp端口不存在回包(icmp-portunreachable),则端口没有开放。
如果没有回复任何信息,则端口开放。
namp做udp扫描:

root@kali:~# nmap -sU 192.168.19.1  //-U  udp扫描
root@kali:~# nmap -sU 192.168.19.1 -p 53 //-p指定端口

udp很可能目标主机发现,扫描过程中会产生大量的网络流量,很容易被防止入侵系统发现。
tcp端口扫描:
我们使用tcp扫描,可以用不完整的三次握手进行隐蔽扫描(只要建立了完整的三次握手我们的扫描活动就会被发现),我们使用tcp虽然我们在扫描但是我们不建立连接,同时也不产生应用层的访问不会在应用层的日志上体现出来,只会在网络层有一些迹象。另外namp还支持一种僵尸扫描,它几乎不和目标系统产生会话进程。
隐蔽扫描:
我们只发syn包,目标主机回ack,我们就知道你的端口开放了,否则回复RST。最后一个ack扫描发起方并不发送。此时目标系统的应用层日志不会有记录,网络层会有一些迹象。
僵尸扫描:
此扫描的条件比较苛刻,扫描发起方和被扫描的主机之间必须可以实现地址伪造。但是现在许多互联环境实现地址伪造是非常难的。另外,实施之前必须要有一个僵尸机,此僵尸机是指的是机器闲置(没事干),也没有被入侵,操作系统的ipid(ip头的id字段)必须是递增的状态。
实现过程:
三个机器:僵尸机、目标机器、扫描机器
首先目标机器向僵尸机器发送一个syn+ack的包,正常情况下,僵尸机返回一个RST包。包中有一个ipid(为x),扫描者收到ipid。
第二步扫描机器向目标服务器发送一个syn数据包,这个数据包就是用来伪造ip的。如果目标端口开放,它就会向僵尸机发一个syn+ack,syn包是扫描主机发送的,对僵尸机器来说他并没有发送syn包,但是却收到了一个syn+ack(扫描机器已经向他发送了一次)就会返回一个RST包,此时ipid又会+1(x+1)。(为什么僵尸机器要闲置,因为如果不闲置,僵尸机器与别的服务器进行通信会干扰ipid)。
第三步扫描者再向僵尸机发送syn+ack,僵尸机又会返回一个RET包,此时僵尸机器的ipid又+1,此时扫描者收到的包的ipid是(x+2),则扫描者可以判断目标端口是开放的。
如果端口没有开放:
第一步不变。
第二步向目标发syn包,端口没开放目标机器会发送RST而不是syn+ack,但是僵尸机不会有任何反映。
第三步扫描者再次向僵尸机器发送syn+ack,僵尸机器同样会发送RST(此时的ip包的id是x+1)。
为什么机器会发送一个RST包,那是因为没有进行正常的tcp三次握手。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: