1.1 地址掃描(ICMP探測/TCP連接探測/ UDP連接探測)
攻擊原理:
攻擊者運用ICMP報文(如Ping和Tracert命令)探測目標地址,或者使用TCP/UDP報文對一定地址發起連接(如TCP ping),通過判斷是否有應答報文,以確定哪些目標系統確實存活著并且連接在目標網絡上。
防御原理:
配置IP地址掃描攻擊防范后,設備對接收的TCP、UDP、ICMP報文進行檢測,如果某個源IP地址每秒發往不同目的IP地址的報文數超過了設定的閾值時,就認為該源IP地址在進行IP地址掃描攻擊,FW將該IP地址加入黑名單。
1.2 TCP/UDP端口掃描攻擊原理:
攻擊者通過對端口進行掃描探測網絡結構,探尋被攻擊對象目前開放的端口,以確定攻擊方式。在端口掃描攻擊中,攻擊者通常使用Port Scan攻擊軟件,發起一系列TCP/UDP連接,根據應答報文判斷主機是否使用這些端口提供服務。
防御原理:
配置端口掃描攻擊防范后,設備對接收的TCP、UDP報文進行檢測,如果某個源IP地址每秒發出的報文中目的端口不同的報文數超過了設定的閾值時,就認為該源IP地址在進行端口掃描攻擊,FW將該IP地址加入黑名單。
方法:可以使用kali自帶工具hing3或者netwox、nmap
1.3 Connect()掃描此掃描試圖與每一個TCP端口進行“三次握手”通信。如果能夠成功建立連接,則證明端口開發,否則為關閉。準確度很高,但是最容易被防火墻和IDS檢測到,并且在目標主機的日志中會記錄大量的連接請求以及錯誤信息。
TCP connect端口掃描服務端與客戶端建立連接成功(目標端口開放)的過程:
① Client端發送SYN;
② Server端返回SYN/ACK,表明端口開放;
③ Client端返回ACK,表明連接已建立;
④ Client端主動斷開連接。
建立連接成功(目標端口開放)如圖所示
connect掃描
TCP connect端口掃描服務端與客戶端未建立連接成功(目標端口關閉)過程:
① Client端發送SYN;
② Server端返回RST/ACK,表明端口未開放。
未建立連接成功(目標端口關閉)
優點:實現簡單,對操作者的權限沒有嚴格要求(有些類型的端口掃描需要操作者具有root權限),系統中的任何用戶都有權力使用這個調用,而且如果想要得到從目標端口返回banners信息,也只能采用這一方法。
另一優點是掃描速度快。如果對每個目標端口以線性的方式,使用單獨的connect()調用,可以通過同時打開多個套接字,從而加速掃描。
缺點:是會在目標主機的日志記錄中留下痕跡,易被發現,并且數據包會被過濾掉。目標主機的logs文件會顯示一連串的連接和連接出錯的服務信息,并且能很快地使它關閉。
測試:nmap -sT 1.1.1.1 –p 22,5001(存在的端口,且大于設置的閾值)
1.4 SYN掃描掃描器向目標主機的一個端口發送請求連接的SYN包,掃描器在收到SYN/ACK后,不是發送的ACK應答而是發送RST包請求斷開連接。這樣,三次握手就沒有完成,無法建立正常的TCP連接,因此,這次掃描就不會被記錄到系統日志中。這種掃描技術一般不會在目標主機上留下掃描痕跡。但是,這種掃描需要有root權限。
SYN掃描
端口開放:1、Client發送SYN 2、Server端發送SYN/ACK 3、Client發送RST斷開(只需要前兩步就可以判斷端口開放)
端口關閉:1、Client發送SYN 2、Server端回復RST(表示端口關閉)
優點:SYN掃描要比TCP Connect()掃描隱蔽一些,SYN僅僅需要發送初始的SYN數據包給目標主機,如果端口開放,則相應SYN-ACK數據包;如果關閉,則響應RST數據包;
1.5 NULL掃描:反向掃描----原理是將一個沒有設置任何標志位的數據包發送給TCP端口,在正常的通信中至少要設置一個標志位,根據RFC 793的要求,在端口關閉的情況下,若收到一個沒有設置標志位的數據字段,那么主機應該舍棄這個分段,并發送一個RST數據包,否則不會響應發起掃描的客戶端計算機。也就是說,如果TCP端口處于關閉則響應一個RST數據包,若處于開放則無相應。但是應該知道NULL掃描要求所有的主機都符合RFC 793規定,但是windows系統主機不遵從RFC 793標準,且只要收到沒有設置任何標志位的數據包時,不管端口是處于開放還是關閉都響應一個RST數據包。但是基于Unix(*nix,如Linux)遵從RFC 793標準,所以可以用NULL掃描。 經過上面的分析,我們知道NULL可以辨別某臺主機運行的操作系統是什么操作系統,是windows呢?還是Unix?
端口開放:Client發送Null,rver沒有響應
端口關閉:1、Client發送NUll 2、Server回復RST
說明:Null掃描和前面的TCP Connect()和SYN的判斷條件正好相反。在前兩種掃描中,有響應數據包的表示端口開放,但在NUll掃描中,收到響應數據包表示端口關閉。反向掃描比前兩種隱蔽性高些,但精確度也相對低一些。
用途:判斷是否為Windows系統還是unix
測試:nmap -sN X.X.X.X
1.6 FIN掃描:與NULL有點類似,只是FIN為指示TCP會話結束,在FIN掃描中一個設置了FIN位的數據包被發送后,若響應RST數據包,則表示端口關閉,沒有響應則表示開放。此類掃描同樣不能準確判斷windows系統上端口開發情況。
端口開放:發送FIN,沒有響應
端口關閉:1、發送FIN 2、回復RST
測試:nmap -sF X.X.X.X
1.7 ACK掃描:掃描主機向目標主機發送ACK數據包。根據返回的RST數據包有兩種方法可以得到端口的信息。方法一是: 若返回的RST數據包的TTL值小于或等于64,則端口開放,反之端口關閉,如圖所示。
ACK掃描
測試:nmap -sA X.X.X.X
1.8 Xmas-Tree掃描:通過發送帶有下列標志位的tcp數據包
URG:指示數據是緊急數據,應立即處理。
PSH:強制將數據壓入緩沖區。
FIN:在結束TCP會話時使用。
正常情況下,三個標志位不能被同時設置,但在此種掃描中可以用來判斷哪些端口關閉還是開放,與上面的反向掃描情況相同,依然不能判斷windows平臺上的端口。
端口開放:發送URG/PSH/FIN, 沒有響應
端口關閉:1、發送URG/PSH/FIN,沒有響應 2、響應RST
XMAS掃描原理和NULL掃描的類似,將TCP數據包中的ACK、FIN、RST、SYN、URG、PSH標志位置1后發送給目標主機。在目標端口開放的情況下,目標主機將不返回任何信息。
測試:nmap -sX X.X.X.X
1.9 Dump掃描:也被稱為Idle掃描或反向掃描,在掃描主機時應用了第三方僵尸計算機掃描。由僵尸主機向目標主機發送SYN包。目標主機端口開發時回應SYN|ACK,關閉時返回RST,僵尸主機對SYN|ACK回應RST,對RST不做回應。從僵尸主機上進行掃描時,進行的是一個從本地計算機到僵尸主機的、連續的ping操作。查看僵尸主機返回的Echo響應的ID字段,能確定目標主機上哪些端口是開放的還是關閉的。
1.10 系統服務探測:檢測ACK數據包,并且有對應的SYN,表示三次握手成功,此時判斷該IP對某個端
端口的連接次數在一定的時間范圍大于閾值則報警(在json文件中 如:10秒內檢測22端口syn包達到1個則觸發報警)。注意:端口要存在。
nmap -sT -p 22 -v 172.16.100.21
切記:網絡攻擊行為所觸犯的法律包括有《網絡安全法》、《刑法》以及《民法典》等。我國《民法典》規定,網絡用戶、網絡服務提供者利用網絡侵害他人民事權益的,應當承擔侵權責任。
本文發布于:2023-02-28 20:02:00,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/167765037474380.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:網絡掃描(網絡掃描怎么設置).doc
本文 PDF 下載地址:網絡掃描(網絡掃描怎么設置).pdf
| 留言與評論(共有 0 條評論) |