滲透測試工具Nmap從初級到高級

Nmap是一款網絡掃描和主機檢測的非常有用的工具。 Nmap是不局限于僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用于winodws,linux,mac等操作系統。Nmap是一款非常強大的實用工具,可用于:

檢測活在網絡上的主機(主機發現)

檢測主機上開放的端口(端口發現或枚舉)

檢測到相應的端口(服務發現)的軟件和版本

檢測操作系統,硬件地址,以及軟件版本

檢測脆弱性的漏洞(Nmap的腳本)

Nmap是一個非常普遍的工具,它有命令行界面和圖形用戶界面。本人包括以下方面的內容:

介紹Nmap

掃描中的重要參數

操作系統檢測

Nmap使用教程

Nmap使用不同的技術來執行掃描,包括:TCP的connect()掃描,TCP反向的ident掃描,FTP反彈掃描等。所有這些掃描的類型有自己的優點和缺點,我們接下來將討論這些問題。

Nmap的使用取決于目標主機,因為有一個簡單的(基本)掃描和預先掃描之間的差異。我們需要使用一些先進的技術來繞過防火墻和入侵檢測/防御系統,以獲得正確的結果。下面是一些基本的命令和它們的用法的例子:

掃描單一的一個主機,命令如下:

#nmap nxadmin.com

#nmap 192.168.1.2

掃描整個子網,命令如下:

#nmap 192.168.1.1/24

掃描多個目標,命令如下:

#nmap 192.168.1.2 192.168.1.5

掃描一個范圍內的目標,如下:

#nmap 192.168.1.1-100 (掃描IP地址為192.168.1.1-192.168.1.100內的所有主機)

如果你有一個ip地址列表,將這個保存為一個txt文件,和namp在同一目錄下,掃描這個txt內的所有主機,命令如下:

#nmap -iL target.txt

如果你想看到你掃描的所有主機的列表,用以下命令:

#nmap -sL 192.168.1.1/24

掃描除過某一個ip外的所有子網主機,命令:

#nmap 192.168.1.1/24 -exclude 192.168.1.1

掃描除過某一個文件中的ip外的子網主機命令

#nmap 192.168.1.1/24 -exclude file xxx.txt(xxx.txt中的文件將會從掃描的主機中排除)

掃描特定主機上的80,21,23端口,命令如下

#nmap -p80,21,23 192.168.1.1

從上面我們已經了解了Nmap的基礎知識,下面我們深入的探討一下Nmap的掃描技術.

Tcp SYN Scan (sS)

這是一個基本的掃描方式,它被稱為半開放掃描,因為這種技術使得Nmap不需要通過完整的握手,就能獲得遠程主機的信息。Nmap發送SYN包到遠程主機,但是它不會產生任何會話.因此不會在目標主機上產生任何日志記錄,因為沒有形成會話。這個就是SYN掃描的優勢.

如果Nmap命令中沒有指出掃描類型,默認的就是Tcp SYN.但是它需要root/administrator權限.

#nmap -sS 192.168.1.1

Tcp connect() scan(sT)

如果不選擇SYN掃描,TCP connect()掃描就是默認的掃描模式.不同于Tcp SYN掃描,Tcp connect()掃描需要完成三次握手,并且要求調用系統的connect().Tcp connect()掃描技術只適用于找出TCP和UDP端口.

#nmap -sT 192.168.1.1

Udp scan(sU)

顧名思義,這種掃描技術用來尋找目標主機打開的UDP端口.它不需要發送任何的SYN包,因為這種技術是針對UDP端口的。UDP掃描發送UDP數 據包到目標主機,并等待響應,如果返回ICMP不可達的錯誤消息,說明端口是關閉的,如果得到正確的適當的回應,說明端口是開放的.

#nmap -sU 192.168.1.1

FIN scan (sF)

有時候Tcp SYN掃描不是最佳的掃描模式,因為有防火墻的存在.目標主機有時候可能有IDS和IPS系統的存在,防火墻會阻止掉SYN數據包。發送一個設置了FIN標志的數據包并不需要完成TCP的握手.

root@bt:~# nmap -sF 192.168.1.8

Starting Nmap 5.51? at 2012-07-08 19:21 PKT

Nmap scan report for 192.168.1.8

Host is up (0.000026s latency).

Not shown: 999 closed ports

PORT STATE SERVICE

111/tcp open|filtered rpcbind

FIN掃描也不會在目標主機上創建日志(FIN掃描的優勢之一).個類型的掃描都是具有差異性的,FIN掃描發送的包只包含FIN標識,NULL掃描不發送數據包上的任何字節,XMAS掃描發送FIN、PSH和URG標識的數據包.

PING Scan (sP)

PING掃描不同于其它的掃描方式,因為它只用于找出主機是否是存在在網絡中的.它不是用來發現是否開放端口的.PING掃描需要ROOT權限,如果用戶沒有ROOT權限,PING掃描將會使用connect()調用.

#nmap -sP 192.168.1.1

版本檢測(sV)

版本檢測是用來掃描目標主機和端口上運行的軟件的版本.它不同于其它的掃描技術,它不是用來掃描目標主機上開放的端口,不過它需要從開放的端口獲取信息來判斷軟件的版本.使用版本檢測掃描之前需要先用TCP SYN掃描開放了哪些端口.

#nmap -sV 192.168.1.1

Idle scan (sL)

Idle scan是一種先進的掃描技術,它不是用你真實的主機Ip發送數據包,而是使用另外一個目標網絡的主機發送數據包.

#nmap -sI 192.168.1.6 192.168.1.1

Idle scan是一種理想的匿名掃描技術,通過目標網絡中的192.168.1.6向主機192.168.1.1發送數據,來獲取192.168.1.1開放的端口

有需要其它的掃描技術,如?FTP bounce(FTP反彈), fragmentation scan(碎片掃描), IP protocol scan(IP協議掃描),以上討論的是幾種最主要的掃描方式.

Nmap的OS檢測(O)

Nmap最重要的特點之一是能夠遠程檢測操作系統和軟件,Nmap的OS檢測技術在滲透測試中用來了解遠程主機的操作系統和軟件是非常有用的,通過 獲取的信息你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB數據庫,該數據庫包含超過2600操作系統的信息。 Nmap把TCP和UDP數據包發送到目標機器上,然后檢查結果和數據庫對照。

Initiating SYN Stealth Scan at 10:21

Scanning localhost (127.0.0.1) [1000 ports]

Discovered open port 111/tcp on 127.0.0.1

Completed SYN Stealth Scan at 10:21, 0.08s elapsed (1000 total ports)

Initiating OS detection (try #1) against localhost (127.0.0.1)

Retrying OS detection (try #2) against localhost (127.0.0.1)

上面的例子清楚地表明,Nmap的首次發現開放的端口,然后發送數據包發現遠程操作系統。操作系統檢測參數是O(大寫O)

Nmap的操作系統指紋識別技術:

設備類型(路由器,工作組等)

運行(運行的操作系統)

操作系統的詳細信息(操作系統的名稱和版本)

網絡距離(目標和攻擊者之間的距離跳)

如果遠程主機有防火墻,IDS和IPS系統,你可以使用-PN命令來確保不ping遠程主機,因為有時候防火墻會組織掉ping請求.-PN命令告訴Nmap不用ping遠程主機。

# nmap -O -PN 192.168.1.1/24

以上命令告訴發信主機遠程主機是存活在網絡上的,所以沒有必要發送ping請求,使用-PN參數可以繞過PING命令,但是不影響主機的系統的發現.

Nmap的操作系統檢測的基礎是有開放和關閉的端口,如果OS scan無法檢測到至少一個開放或者關閉的端口,會返回以下錯誤:

Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port

OS Scan的結果是不可靠的,因為沒有發現至少一個開放或者關閉的端口.

這種情況是非常不理想的,應該是遠程主機做了針對操作系統檢測的防范。如果Nmap不能檢測到遠程操作系統類型,那么就沒有必要使用-osscan_limit檢測。

想好通過Nmap準確的檢測到遠程操作系統是比較困難的,需要使用到Nmap的猜測功能選項,?–osscan-guess 猜測認為最接近目標的匹配操作系統類型。

# nmap -O –osscan-guess 192.168.1.1

總結

Nmap是一個非常強大的工具,它具有覆蓋滲透測試的第一方面的能力,其中包括信息的收集和統計。本文從初級到高級的講解了Nmap入侵掃描工具的使用.希望對大家有所幫助.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容

  • nmap使用指南(終極版) 原創2017-09-09hl0rey信安之路 一、目標指定 1.CIDR標志位 192...
    用電熱毯烤豬閱讀 12,019評論 1 49
  • Nmap掃描原理與用法 1Nmap介紹 Nmap掃描原理與用法PDF:下載地址 Nmap是一款開源免費的網絡發現(...
    y0ungta1a閱讀 5,409評論 0 50
  • Nmap輸出的是掃描目標的列表,以及每個目標的補充信息,至于是哪些信息則依賴于所使用的選項。“所感興趣的端口表格...
    令狐沖233閱讀 1,960評論 0 4
  • 結婚前,并不認為愛情需要保鮮,甚至認為那些都太作。任性的覺得,他這么愛我,還需要保鮮嗎? 不是溫柔哄哄,甜蜜的撒嬌...
    可月閱讀 242評論 0 2
  • 權謀從哪來? 有位網友問了我2個問題,什么樣的公司不玩權術?為什么30歲了發現自己慫了? 我發現只有一種人,無需玩...
    諸葛司馬村夫閱讀 361評論 0 0