端口掃描介紹(三)——殭屍掃描實操

殭屍掃描:


過程(掃描者、殭屍機、目標機):
端口打開狀態:
一:由掃描者給殭屍機發一個SYN/ACK包(爲發生三次握手),正常情況下,殭屍機返回一個RST給掃描者,收到一個IPID值
二:掃描者向目標服務器發一個SYN包(這個包是要僞造源地址的,不能透露scanner,這個包的源IP是要爲造成殭屍機的IP),因爲是SYN包,這個目標服務器就會向殭屍機的IP發一個SYN/ACK包,殭屍機(莫名奇妙收到一個ACK包,這個包是我們掃描目標,目標回給我們的ACK包,但是是殭屍機的IP,所以包給了殭屍機)收到後,有兩個ACK包?(一個我們發的,一個目標給的),殭屍機看來這個不是正常的數據包,再返回一個RST包,因爲是遞增的就是IPID+1。
因爲不能讓IPID穩定能是被識別,殭屍機要足夠空閒不可發生通信。
三:掃描者再向殭屍機發一個SYN/ACK,殭屍機而話不說直接回一個RST包,這裏的RST的IPID+2了
四:如果掃描者接受到IPID+2這個RST包,那麼就能判定目標的這個端口就是開放的狀態。

(IPID——>IPID+1——>IPID+2)

端口關閉狀態:
第一步一樣;
第二步掃描者向目標發一個SYN包,端口未開,就會給殭屍機發一個RST是IPID,殭屍機不會再跟目標通信;
第三步:掃描者給殭屍機發一個SYN/ACK包,殭屍機返回一個RST給掃描者,但是這裏掃描者掃收是IPID+1。

(IPID——>IPID+1)

 

實例演示:

1、合格的殭屍機,最好是XP,2000,2003這類早期的機器,因爲這類早期的機器的IPID是遞增的,即+1
2、完成地址僞造

殭屍掃描:
***************1、nmap。2、Scary。×××××××××××××××××××××××

Scapy——————zombie.py

i=IP()
t=TCP()
rz=(i/t)
rt=(i/t)
rz[IP].dst=IPz       //殭屍機的IP
rz[TCP].dport=445       //殭屍機端口
rz[TCP].flags="SA"
rt[IP].src=IPz       //殭屍機IP
rt[IP].dst=IPt        //目標IP
rt[TCP].dport=22         //目標端口
rt[TCP].flags="S"
az1=sr1(rz)   ————>  at=sr1(rt.timeout=1)  ————>  at=sr1(rt)    ————>   az2=sr1(rz)
az1.display()      ————>    az2.display()
顯示出來直接看ID的結果          //要快速輸入

腳本:
==============================================================

#!/usr/bin/python
import logging
logging.getlogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import*


==============================================================


————Nmap
發現殭屍機:
 

nmap -p445 1.1.1.1 --script=ipidseq.nse 

#--scrlpt這是調用nmap的腳本,測試殭屍
#可以換IP測試、換端口測試——————
|_ipidseq:Incremental表示合格
掃描目標

    nmap 1.1.1.1 -sI 1.1.1.2 -Pn -p 0-100


#1.1.1.1是目標IP,-sI跟殭屍機

不得不說還是nmap強大。


隱蔽掃描的主要是:Scapy、nmap爲主。

 

發佈了36 篇原創文章 · 獲贊 19 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章