天天看點

Nmap一些進階用法

繞過防火牆

所謂逃脫,就是不讓别人發現自己,否則要幹的偵測工作還沒搞完,就被迫中止豈不讓人笑話。同樣的,排名不分先後。

0x01:利用掩體

namp -D IP位址1,IP位址2... IP位址

1

你可以使用 D 選項(英文 decoy)跟一些 IP 位址,IP 和 IP 之間用逗号隔開。這樣看起來用來偵測而發送的資料包不僅來自于你的 IP 位址,還來自于這些掩體 IP。這就叫做 “混入其中”。

0x02:禁用 ping

nmap -P0 IP位址

在 2010 年之後,該選項和 PN 選項被一起合并到 Pn 選項之中。但是如果你願意,你仍然可以使用 P0 選項(P 後面跟的是零)。

0x03:IP 位址僞裝

sudo proxychains nmap ...

僞裝 IP 位址的方法也有很多,比如你可以使用 prxychains 這款工具來實作匿名代理。

0x04:空閑掃描

nmap -sI 僵屍IP位址[:開放的僵屍端口] IP位址

和 D 選線不同的是,sI 根本不使用你自己的 IP 位址,而是使用空閑的網絡資源。這樣隐蔽性就更強了。開放的僵屍端口為選填,預設等于 80 端口。具體原理請參考 Nmap 文檔。根據這個理論,你不能使用空閑掃描來掃描你自己的主機 IP。在 msfconsole 中,你可以使用 auxiliary/scanner/ip/ipidseq 來完成這個工作。

0x05:指定網卡進行掃描

nmap -e 網卡 IP位址

當你擁有不止一個網卡的時候,這很有用。

0x06:限制掃描時間

nmap --host-timeout 時間 IP位址

限制每個 IP 位址的掃描時間(機關為秒),當要掃描大量的主機 IP 時這很有用。

0x07:指定源 IP 位址

nmap -S 源IP位址 IP位址

使用冒充的 IP 位址進行掃描以增強隐蔽性。這裡僞裝成的 IP 也可以來自于下線狀态的主機位址。

0x08:指定源主機端口

nmap -g 53 IP位址

使用 g 參數,或者 source-port 參數,來手動設定用來掃描的端口。常用的,如 20、53、67 端口。

0x09:資料包分片技術

nmap -f IP位址

nmap --mtu mtu單元大小 IP位址

上面兩種方法都可以利用資料包分片技術,某些防火牆為了加快處理速度而不會進行重組處理,這樣進而逃脫防火牆或闖入檢測系統的檢測。注意,mtu 的值必須是 8 的倍數(如 8、16、24、32 等)。

0x10:添加垃圾資料

nmap --data-length 垃圾資料長度 IP位址

一些常見的掃描之資料包是有特定的資料長度的,通過在發送的資料包末尾添加随機的垃圾資料,以達到混淆視聽的作效果。

0x11:随機選擇掃描對象

nmap --randomize-hosts IP位址

如果你要掃描大量的,比如成百上千的主機 IP,這很有效。它會打亂掃描順序,以規避檢測系統的檢測。

0x12:僞裝 MAC 位址

nmap --spoof-mac 僞造MAC IP位址

你可以通過指定供應商的名字來僞裝 MAC 位址。可選的名字有 Dell、Apple、3Com。當然也可以手動指定 MAC 位址的值。或者為了簡單起見,可以在上面 “僞造IP” 的地方填寫數字 0,這将生成一個随機的 MAC 位址。

0x13:僞造檢驗值

nmap --badsum IP位址

這将使用僞造的 TCP / UDP / SCTP 校驗和發送資料。

0x14:掃描速度

nmap -T0 IP位址

T後面跟的數字代表掃描速度,數字越大則速度越快。0~5分别表示:妄想症、鬼鬼祟祟、彬彬有禮、正常、好鬥、精神病。

-S:可以僞裝源位址進行掃描。這樣好處在于不會被對方發現自己的真實IP

[root@B ~]# nmap -e eth0 10.0.1.161 -S 10.0.1.167

WARNING: If -S is being used to fake your source address, you may also have to use -e <interface> and -Pn . If you are using it to specify your real source address, you can ignore this warning.

上面提示如果你使用-S僞裝自己源位址進行掃描的話,你必須另外使用-e 指定網卡和-Pn參數才能僞裝

把自己源位址僞裝成10.0.1.167掃描A機器

nmap -e eth0 10.0.1.161 -S 10.0.1.167 -Pn