您好,登錄后才能下訂單哦!
大部分人認為,Nmap中不應該提供逃避防火墻規則和欺騙IDS的功能。但是很多安全工具都已經提供了這些功能,因此Nmap中包含這些功能可以幫助網絡管理員增強安全性。Nmap不提供檢測和破壞防火墻及IDS系統專門工具和選項,但是卻提供了相關技術。
Nmap -f 目標
使用 -f 選項可以對Nmap發送的探測數據包進行分段。這樣將原來的數據包分為幾個部分,目標網絡的防御機制如包過濾,防火墻等在對這些數據包進行檢測的時候就會變得更加困難。另外必須謹慎使用這個選項,一些比較老的系統在處理分段的包時會經常出現死機的情況。
nmap -f 192.168.0.103
在這里想要看的更直觀一些的話,我們可以通過抓包工具對這個步驟進行抓包。我們就會發現大量的數據包上面都含有 Fragmented IP protocol 的標志。這個標志就說明這些數據包都是分段的報文。
我們在檢測結果中可以發現有一個warning的提示,這個提示說明我們剛才所演示的功能可能在windows下無法正常工作。
-mtu(使用指定的MTU)
MTU(最大輸出單元)是指一種通信協議的某一層上面所能通過的最大數據包大小。一般來說,以太網的MTU值默認是1500 bytes,這個含義就是指當發送者的協議高層向IP層發送了長度為2008 bytes數據報文,則該報文再添加20 bytes的IP包頭后,IP包的總長度是2028 bytes。為2028大于1500,因此該數據報文就會被分片。
在Nmap中使用 -mtu 參數可以指定MTU的大小。這里 MTU 的值必須是8的整數倍。
nmap --mtu 16 192.168.0.103
因為我這里的windows沒有操作成功我這里就暫時不貼圖了。在這里我們同樣使用抓包工具查看,我們會發現每個發送的數據包大小都被修改成了16bytes。
-D <decoy1[,decoy2][,ME],...>(使用誘餌主機隱蔽掃描)
通常在對目標進行掃描時,有可能會被發現。一個比好用的方法就是同時偽造大量的主機地址對目標進行掃描,這是目標主機及時發現了有人正在進行掃描,但是由于掃描數據包來自于多個主機,即使是IDS也只能知道目前正在被掃描,并不知道到底是哪臺主機在進行掃描。這是一種常用的隱蔽自身IP的技術。
Nmap中支持使用誘餌主機,在掃描時,使用選項-D來指定誘餌主機,使用逗號分隔每個誘餌IP地址,也可以使用自己的真實IP做為誘餌,自己的ip地址可以使用ME選項。如果在第六個位置和更后的位置使用ME選項,一些常用的端口掃描檢測器就不會報告這個真實IP。如果不使用ME選項,Nmap將真實IP放在一個隨機位置。
作為誘餌的主機,必須處于工作狀態中,否則這次掃描就可能變成SYN FLOOD,也就是我們常說的DDoS。如果網絡中只有一臺主機在工作,無論你產生多少個誘餌,都是這一臺主機在掃描。
在我們之前講到的Ping掃描(ICMP、SYN、ACK等)階段或真正的端口掃描。以及遠程操作系統檢測階段,都可以使用誘餌主機選項。但是在進行版本檢測或TCP連接掃描時,誘餌主機選項是不能使用的。
我們用這條命令來進行測試,在參數-D 后面加上RND:10 表示產生十臺誘餌主機。(產生的誘餌主機的數量越多,會導致掃描變慢,而且結果不準確。)
nmap -D RND:10 192.168.0.103
這個時候我們使用抓包工具進行抓包檢測的話,我們就可以發現很多源地址不一樣的數據包發送。
--source-port <portnumber>;-g <portnumber>(源端口欺騙)
網絡安全控制中有一種訪問控制列表技術(Access Control Lists, ACL)。這種技術主要是依靠ip地址和端口數來對數據包進行限制,有時候需要保證DNS和FTP協議正常工作,DNS響應來自53端口,FTP連接來自于20端口,很多時候網絡管理員會直接允許來自于這些端口的數據進入網絡,這樣做其實就是在防護的網絡邊界上開的一個漏洞。
Nmap提供了-g和--source-port參數,用于利用上述弱點,nmap就可從不常用或被遺忘的端口發送數據,下面我們來測試一下,將掃描的源端口指定為8888。
nmap -g 8888 192.168.0.103
在這里我們也可以通過抓包工具,對發送出去的數據包進行檢測,在數據包中的Source port 字段中可以看到源端口為8888。
5.--date-length <number> (發送報文時附加隨機數據)
默認情況下,Nmap發送到報文中只包含頭部,內容部分是空的。,因此,TCP的數據包大小只有40字節,而ICMP ECHO請求只有28字節。我們在之前也講到這種空的報文,很容易被網絡中檢測機制發現,所以在試圖通過這些網絡的檢測機制時,可以在數據包上附加指定數量的隨機字節,這個選項會使得大部分Ping和端口掃描變慢,但是影響并不大。
使用 --data-length 指定為25
nmap --data-length 25 192.168.0.103
想要進一步查看是否更改成功的話,還需要通過抓包軟件。在抓包軟件中可以看到發送出去的數據包的data部分的長度是25字節。
--ttl <value> (設置IP time to live )
TTL(time to live 生存時間)。Nmap中可以設置IPv4數據包的ttl域為指定的值,指定參數為 -ttl
nmap -ttl 25 192.168.0.103
在這里就不再去貼圖片了,因為結果都是一樣的。不一樣的就是需要自己通過抓包軟件去分析數據包中被修改過的值。
--spoof-mac <mac address ,prefix ,or vendor name> (MAC地址欺騙)
通過這個選項可以人為指定Nmap在進行掃描工作時發送的Mac地址。這個選項默認使用了 --send-eth 參數,這樣Nmap發送的才是真正的以太網包。Nmap支持多種格式,如果簡單使用字符串 0 ,Nmap選擇一個完全隨機的MAC地址。如果給定的字符是一個使用分號分隔的十六進制偶數,Nmap將使用這個MAC地址。如果是小于12的十六進制數字,Nmap會隨機填充剩下的六個字節。如果參數不是0和十六進制字符串,Nmap將通過Nmap-mac-prefixes查找廠商名稱,如果找到匹配,將使用廠商的三字節前綴,然后隨機填充剩下的三個字節。
偽造MAC地址的掃描方法(-PR ARP ping 掃描)
nmap -sn -PR --spoof-mac 0 192.168.0.103
這個TCP Connect掃描之前說過,這里就不再多寫了,算了還是寫上吧...
TCP Connect掃描是一種最為基本的掃描方式。Nmap向一個開放的端口發起了連接請求,并且完成三次握手,之后結束了這次連接。這種掃描很容易被檢測到,因為Nmap會向每一個目標端口發送一個數據包。如果該端口是關閉的,目標會回復一個RST和ACK標志位的數據包。如果該端口是開放的,目標會回復一個設置了SYN/ACK標志位的數據包。然后Nmap會發送一個設置了ACK標志位的數據包來完成三次握手,在這個過程中會產生大量錯誤消息。
下面來測試分析一下這個實驗,我這里使用物理機192.168.126.1去掃描虛擬機192.168.126.139
我們可以看到這段時間內有大量的TCP Connect活動出現,如此頻繁地對大量TCP端口發起連接很可能意味有人正在對你的主機進行掃描。如果網絡中部署了網絡檢測設備,當達到一定的閾值時就會報警。
可以看出這個時間段內正在嘗試大量的端口進行連接
當維護一個網絡的時候,最簡單的辦法無非為系統及時打上補丁,及時安裝更新等。但是真正這樣并不能阻止他人的掃描,最好增加防火墻之類的安全設備。另外,Morph和IP Personality兩款軟件也是極為優秀的防護軟件。
防范網絡中進行的操作系統掃描,最好的辦法就是提供虛假的信息來迷惑對方,可以使用上述兩個軟件。
具體的我也沒用過,感興趣的可以自己下一下試試。
應該沒啥大問題,這個環節主要是需要Nmap配合wireshake進行使用,這樣實驗的效果會更明顯,理解起來也有幫助。
為什么最后一點才貼wireshake的圖,因為我懶的貼圖。
過段時間會更新wireshake的用法和操作
文章可能有的地方寫的比較多,什么TTL,ACL這種基礎的網絡知識其實都不想寫,就當給自己復習了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。