閱讀147 返回首頁    go 阿裏雲 go 技術社區[雲棲]


在 Kali Linux 下實戰 Nmap(網絡安全掃描器)

Nmap, 是 Network Mapper 的縮寫,由 Gordon Lyon 維護(更多關於 Mr. Lyon 的信息在這裏: https://insecure.org/fyodor/) ,並被世界各地許多的安全專業人員使用。

這個工具在 Linux 和 Windows 下都能使用,並且是用命令行驅動的。相對於那些令人害怕的命令行,對於 nmap,在這裏有一個美妙的圖形化前端叫做 zenmap。

強烈建議個人去學習 nmap 的命令行版本,因為與圖形化版本 zenmap 相比,它提供了更多的靈活性。

對服務器進行 nmap 掃描的目的是什麼?很好的問題。Nmap 允許管理員快速徹底地了解網絡上的係統,因此,它的名字叫 Network MAPper 或者 nmap。

Nmap 能夠快速找到活動的主機和與該主機相關聯的服務。Nmap 的功能還可以通過結合 Nmap 腳本引擎(通常縮寫為 NSE)進一步被擴展。

這個腳本引擎允許管理員快速創建可用於確定其網絡上是否存在新發現的漏洞的腳本。已經有許多腳本被開發出來並且包含在大多數的 nmap 安裝中。

提醒一句 - 使用 nmap 的人既可能是善意的,也可能是惡意的。應該非常小心,確保你不要使用 nmap 對沒有明確得到書麵許可的係統進行掃描。請在使用 nmap 工具的時候注意!

係統要求

  1. Kali Linux (nmap 可以用於其他操作係統,並且功能也和這個指南裏麵講的類似)。
  2. 另一台計算機,並且裝有 nmap 的計算機有權限掃描它 - 這通常很容易通過軟件來實現,例如通過 VirtualBox 創建虛擬機。
    1. 想要有一個好的機器來練習一下,可以了解一下 Metasploitable 2。
    2. 下載 MS2 :Metasploitable2
  3. 一個可以工作的網絡連接,或者是使用虛擬機就可以為這兩台計算機建立有效的內部網絡連接。

Kali Linux – 使用 Nmap

使用 nmap 的第一步是登錄 Kali Linux,如果需要,就啟動一個圖形會話(本係列的第一篇文章安裝了 Kali Linux 的 Enlightenment 桌麵環境)。

在安裝過程中,安裝程序將提示用戶輸入用來登錄的“root”用戶和密碼。 一旦登錄到 Kali Linux 機器,使用命令startx就可以啟動 Enlightenment 桌麵環境 - 值得注意的是 nmap 不需要運行桌麵環境。


  1. # startx

在 Kali Linux 中啟動桌麵環境

在 Kali Linux 中啟動桌麵環境

一旦登錄到 Enlightenment,將需要打開終端窗口。通過點擊桌麵背景,將會出現一個菜單。導航到終端可以進行如下操作:應用程序 -> 係統 -> 'Xterm' 或 'UXterm' 或 '根終端'。

作者是名為 'Terminator' 的 shell 程序的粉絲,但是這可能不會顯示在 Kali Linux 的默認安裝中。這裏列出的所有 shell 程序都可用於使用 nmap 。

在 Kali Linux 下啟動終端

在 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 命令。


  1. # nmap -sL 192.168.56.0/24

Nmap  掃描網絡上的活動主機

Nmap – 掃描網絡上的活動主機

悲傷的是,這個初始掃描沒有返回任何活動主機。 有時,這是某些操作係統處理端口掃描網絡流量的一個方法。

在我的網絡中找到並 ping 所有活動主機

不用擔心,在這裏有一些技巧可以使 nmap 嚐試找到這些機器。 下一個技巧會告訴 nmap 嚐試去 ping 192.168.56.0/24 網絡中的所有地址。


  1. # nmap -sn 192.168.56.0/24

Nmap  Ping 所有已連接的活動網絡主機

Nmap – Ping 所有已連接的活動網絡主機

這次 nmap 會返回一些潛在的主機來進行掃描! 在此命令中,-sn 禁用 nmap 的嚐試對主機端口掃描的默認行為,隻是讓 nmap 嚐試 ping 主機。

找到主機上的開放端口

讓我們嚐試讓 nmap 端口掃描這些特定的主機,看看會出現什麼。


  1. # nmap 192.168.56.1,100-102

Nmap  在主機上掃描網絡端口

Nmap – 在主機上掃描網絡端口

哇! 這一次 nmap 挖到了一個金礦。 這個特定的主機有相當多的開放網絡端口

這些端口全都代表著在此特定機器上的某種監聽服務。 我們前麵說過,192.168.56.102 的 IP 地址會分配給一台易受攻擊的機器,這就是為什麼在這個主機上會有這麼多開放端口

在大多數機器上打開這麼多端口是非常不正常的,所以趕快調查這台機器是個明智的想法。管理員可以檢查下網絡上的物理機器,並在本地查看這些機器,但這不會很有趣,特別是當 nmap 可以為我們更快地做到時!

找到主機上監聽端口的服務

下一個掃描是服務掃描,通常用於嚐試確定機器上什麼服務監聽在特定的端口

Nmap 將探測所有打開的端口,並嚐試從每個端口上運行的服務中獲取信息。


  1. # nmap -sV 192.168.56.102

Nmap  掃描網絡服務監聽端口

Nmap – 掃描網絡服務監聽端口

請注意這次 nmap 提供了一些關於 nmap 在特定端口運行的建議(在白框中突出顯示),而且 nmap 也試圖確認運行在這台機器上的這個操作係統的信息和它的主機名(也非常成功!)。

查看這個輸出,應該引起網絡管理員相當多的關注。 第一行聲稱 VSftpd 版本 2.3.4 正在這台機器上運行! 這是一個真正的舊版本的 VSftpd。

通過查找 ExploitDB,對於這個版本早在 2001 年就發現了一個非常嚴重的漏洞(ExploitDB ID – 17491)。

發現主機上上匿名 ftp 登錄

讓我們使用 nmap 更加清楚的查看這個端口,並且看看可以確認什麼。


  1. # nmap -sC 192.168.56.102 -p 21

Nmap  掃描機器上的特定端口

Nmap – 掃描機器上的特定端口

使用此命令,讓 nmap 在主機上的 FTP 端口(-p 21)上運行其默認腳本(-sC)。 雖然它可能是、也可能不是一個問題,但是 nmap 確實發現在這個特定的服務器是允許匿名 FTP 登錄的

檢查主機上的漏洞

這與我們早先知道 VSftd 有舊漏洞的知識相匹配,應該引起一些關注。 讓我們看看 nmap有沒有腳本來嚐試檢查 VSftpd 漏洞。


  1. # locate .nse | grep ftp

Nmap  掃描 VSftpd 漏洞

Nmap – 掃描 VSftpd 漏洞

注意 nmap 已有一個 NSE 腳本已經用來處理 VSftpd 後門問題!讓我們嚐試對這個主機運行這個腳本,看看會發生什麼,但首先知道如何使用腳本可能是很重要的。


  1. # nmap --script-help=ftp-vsftd-backdoor.nse

了解 Nmap NSE 腳本使用

了解 Nmap NSE 腳本使用

通過這個描述,很明顯,這個腳本可以用來試圖查看這個特定的機器是否容易受到先前識別的 ExploitDB 問題的影響。

讓我們運行這個腳本,看看會發生什麼。


  1. # nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21

Nmap  掃描易受攻擊的主機

Nmap – 掃描易受攻擊的主機

耶!Nmap 的腳本返回了一些危險的消息。 這台機器可能麵臨風險,之後可以進行更加詳細的調查。雖然這並不意味著機器缺乏對風險的抵抗力和可以被用於做一些可怕/糟糕的事情,但它應該給網絡/安全團隊帶來一些關注。

Nmap 具有極高的選擇性,非常平穩。 到目前為止已經做的大多數掃描, nmap 的網絡流量都保持適度平穩,然而以這種方式掃描對個人擁有的網絡可能是非常耗時的。

Nmap 有能力做一個更積極的掃描,往往一個命令就會產生之前幾個命令一樣的信息。 讓我們來看看積極的掃描的輸出(注意 - 積極的掃描會觸發入侵檢測/預防係統!)。


  1. # nmap -A 192.168.56.102

Nmap  在主機上完成網絡掃描

Nmap – 在主機上完成網絡掃描

注意這一次,使用一個命令,nmap 返回了很多關於在這台特定機器上運行的開放端口、服務和配置的信息。 這些信息中的大部分可用於幫助確定如何保護本機以及評估網絡上可能運行的軟件。

這隻是 nmap 可用於在主機或網段上找到的許多有用信息的很短的一個列表。強烈敦促個人在個人擁有的網絡上繼續以nmap 進行實驗。(不要通過掃描其他主機來練習!)。

有一個關於 Nmap 網絡掃描的官方指南,作者 Gordon Lyon,可從亞馬遜上獲得。

方便的話可以留下你的評論和問題(或者使用 nmap 掃描器的技巧)。

原文發布時間為:2017-11-16

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-06-06 07:34:47

  上一篇:go  如何在 Linux 中將文件編碼轉換為 UTF-8
  下一篇:go  在 Linux 上檢測硬盤上的壞道和壞塊