在Kali Linux下實戰Nmap(網絡安全掃描器)
2016-11-16 14:26:00 來源:來源:Linux中國 評論:0 點擊:
在這第二篇 Kali Linux 文章中, 將討論稱為 ‘nmap‘ 的網絡工具。雖然 nmap 不是 Kali 下唯一的一個工具,但它是最有用的網絡映射工具之一。
Nmap, 是 Network Mapper 的縮寫,由 Gordon Lyon 維護(更多關于 Mr. Lyon 的信息在這里: http://insecure.org/fyodor/) ,并被世界各地許多的安全專業人員使用。
這個工具在 Linux 和 Windows 下都能使用,并且是用命令行驅動的。相對于那些令人害怕的命令行,對于 nmap,在這里有一個美妙的圖形化前端叫做 zenmap。
強烈建議個人去學習 nmap 的命令行版本,因為與圖形化版本 zenmap 相比,它提供了更多的靈活性。
對服務器進行 nmap 掃描的目的是什么?很好的問題。Nmap 允許管理員快速徹底地了解網絡上的系統,因此,它的名字叫 Network MAPper 或者 nmap。
Nmap 能夠快速找到活動的主機和與該主機相關聯的服務。Nmap 的功能還可以通過結合 Nmap 腳本引擎(通常縮寫為 NSE)進一步被擴展。
這個腳本引擎允許管理員快速創建可用于確定其網絡上是否存在新發現的漏洞的腳本。已經有許多腳本被開發出來并且包含在大多數的 nmap 安裝中。
提醒一句 - 使用 nmap 的人既可能是善意的,也可能是惡意的。應該非常小心,確保你不要使用 nmap 對沒有明確得到書面許可的系統進行掃描。請在使用 nmap 工具的時候注意!
系統要求
- Kali Linux (nmap 可以用于其他操作系統,并且功能也和這個指南里面講的類似)。
- 另一臺計算機,并且裝有 nmap 的計算機有權限掃描它 - 這通常很容易通過軟件來實現,例如通過 VirtualBox 創建虛擬機。
1).想要有一個好的機器來練習一下,可以了解一下 Metasploitable 2。
2).下載 MS2 :Metasploitable2。
- 一個可以工作的網絡連接,或者是使用虛擬機就可以為這兩臺計算機建立有效的內部網絡連接。
Kali Linux – 使用 Nmap
使用 nmap 的第一步是登錄 Kali Linux,如果需要,就啟動一個圖形會話(本系列的第一篇文章安裝了 Kali Linux 的 Enlightenment 桌面環境)。
在安裝過程中,安裝程序將提示用戶輸入用來登錄的“root”用戶和密碼。 一旦登錄到 Kali Linux 機器,使用命令startx就可以啟動 Enlightenment 桌面環境 - 值得注意的是 nmap 不需要運行桌面環境。
- # startx
在 Kali Linux 中啟動桌面環境
一旦登錄到 Enlightenment,將需要打開終端窗口。通過點擊桌面背景,將會出現一個菜單。導航到終端可以進行如下操作:應用程序 -> 系統 -> 'Xterm' 或 'UXterm' 或 '根終端'。
作者是名為 'Terminator' 的 shell 程序的粉絲,但是這可能不會顯示在 Kali Linux 的默認安裝中。這里列出的所有 shell 程序都可用于使用 nmap 。
在 Kali Linux 下啟動終端
一旦終端啟動,nmap 的樂趣就開始了。 對于這個特定的教程,將會創建一個 Kali 機器和 Metasploitable機器之間的私有網絡。
這會使事情變得更容易和更安全,因為私有的網絡范圍將確保掃描保持在安全的機器上,防止易受攻擊的 Metasploitable 機器被其他人攻擊。
怎樣在我的網絡上找到活動主機
在此示例中,這兩臺計算機都位于專用的 192.168.56.0/24 網絡上。 Kali 機器的 IP 地址為 192.168.56.101,要掃描的 Metasploitable 機器的 IP 地址為 192.168.56.102。
假如我們不知道 IP 地址信息,但是可以通過快速 nmap 掃描來幫助確定在特定網絡上哪些是活動主機。這種掃描稱為 “簡單列表” 掃描,將 -sL參數傳遞給 nmap 命令。
- # nmap -sL 192.168.56.0/24
Nmap – 掃描網絡上的活動主機
悲傷的是,這個初始掃描沒有返回任何活動主機。 有時,這是某些操作系統處理端口掃描網絡流量的一個方法。
在我的網絡中找到并 ping 所有活動主機
不用擔心,在這里有一些技巧可以使 nmap 嘗試找到這些機器。 下一個技巧會告訴 nmap 嘗試去 ping 192.168.56.0/24 網絡中的所有地址。
- # nmap -sn 192.168.56.0/24
Nmap – Ping 所有已連接的活動網絡主機
這次 nmap 會返回一些潛在的主機來進行掃描! 在此命令中,-sn 禁用 nmap 的嘗試對主機端口掃描的默認行為,只是讓 nmap 嘗試 ping 主機。
找到主機上的開放端口
讓我們嘗試讓 nmap 端口掃描這些特定的主機,看看會出現什么。
- # nmap 192.168.56.1,100-102
Nmap – 在主機上掃描網絡端口
哇! 這一次 nmap 挖到了一個金礦。 這個特定的主機有相當多的開放網絡端口。
這些端口全都代表著在此特定機器上的某種監聽服務。 我們前面說過,192.168.56.102 的 IP 地址會分配給一臺易受攻擊的機器,這就是為什么在這個主機上會有這么多開放端口。
在大多數機器上打開這么多端口是非常不正常的,所以趕快調查這臺機器是個明智的想法。管理員可以檢查下網絡上的物理機器,并在本地查看這些機器,但這不會很有趣,特別是當 nmap 可以為我們更快地做到時!
找到主機上監聽端口的服務
下一個掃描是服務掃描,通常用于嘗試確定機器上什么服務監聽在特定的端口。
Nmap 將探測所有打開的端口,并嘗試從每個端口上運行的服務中獲取信息。
- # nmap -sV 192.168.56.102
Nmap – 掃描網絡服務監聽端口
請注意這次 nmap 提供了一些關于 nmap 在特定端口運行的建議(在白框中突出顯示),而且 nmap 也試圖確認運行在這臺機器上的這個操作系統的信息和它的主機名(也非常成功!)。
查看這個輸出,應該引起網絡管理員相當多的關注。 第一行聲稱 VSftpd 版本 2.3.4 正在這臺機器上運行! 這是一個真正的舊版本的 VSftpd。
通過查找 ExploitDB,對于這個版本早在 2001 年就發現了一個非常嚴重的漏洞(ExploitDB ID – 17491)。
發現主機上上匿名 ftp 登錄
讓我們使用 nmap 更加清楚的查看這個端口,并且看看可以確認什么。
- # nmap -sC 192.168.56.102 -p 21
Nmap – 掃描機器上的特定端口
使用此命令,讓 nmap 在主機上的 FTP 端口(-p 21)上運行其默認腳本(-sC)。 雖然它可能是、也可能不是一個問題,但是 nmap 確實發現在這個特定的服務器是允許匿名 FTP 登錄的。
檢查主機上的漏洞
這與我們早先知道 VSftd 有舊漏洞的知識相匹配,應該引起一些關注。 讓我們看看 nmap有沒有腳本來嘗試檢查 VSftpd 漏洞。
- # locate .nse | grep ftp
Nmap – 掃描 VSftpd 漏洞
注意 nmap 已有一個 NSE 腳本已經用來處理 VSftpd 后門問題!讓我們嘗試對這個主機運行這個腳本,看看會發生什么,但首先知道如何使用腳本可能是很重要的。
- # nmap --script-help=ftp-vsftd-backdoor.nse
了解 Nmap NSE 腳本使用
通過這個描述,很明顯,這個腳本可以用來試圖查看這個特定的機器是否容易受到先前識別的 ExploitDB 問題的影響。
讓我們運行這個腳本,看看會發生什么。
- # nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21
Nmap – 掃描易受攻擊的主機
耶!Nmap 的腳本返回了一些危險的消息。 這臺機器可能面臨風險,之后可以進行更加詳細的調查。雖然這并不意味著機器缺乏對風險的抵抗力和可以被用于做一些可怕/糟糕的事情,但它應該給網絡/安全團隊帶來一些關注。
Nmap 具有極高的選擇性,非常平穩。 到目前為止已經做的大多數掃描, nmap 的網絡流量都保持適度平穩,然而以這種方式掃描對個人擁有的網絡可能是非常耗時的。
Nmap 有能力做一個更積極的掃描,往往一個命令就會產生之前幾個命令一樣的信息。 讓我們來看看積極的掃描的輸出(注意 - 積極的掃描會觸發入侵檢測/預防系統!)。
- # nmap -A 192.168.56.102
Nmap – 在主機上完成網絡掃描
注意這一次,使用一個命令,nmap 返回了很多關于在這臺特定機器上運行的開放端口、服務和配置的信息。 這些信息中的大部分可用于幫助確定如何保護本機以及評估網絡上可能運行的軟件。
這只是 nmap 可用于在主機或網段上找到的許多有用信息的很短的一個列表。強烈敦促個人在個人擁有的網絡上繼續以nmap 進行實驗。(不要通過掃描其他主機來練習!)。
有一個關于 Nmap 網絡掃描的官方指南,作者 Gordon Lyon,可從亞馬遜上獲得。
方便的話可以留下你的評論和問題(或者使用 nmap 掃描器的技巧)。
相關熱詞搜索:Kali Linux Nmap 網絡安全掃描器
