Linux中國

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

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 工具的時候注意!

系統要求

  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 不需要運行桌面環境。

# startx

Start Desktop Environment in Kali Linux

在 Kali Linux 中啟動桌面環境

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

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

Launch Terminal in 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 命令。

# nmap -sL 192.168.56.0/24

Nmap - Scan Network for Live Hosts

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

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

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

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

# nmap -sn 192.168.56.0/24

Nmap - Ping All Connected Live Network Hosts

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

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

找到主機上的開放埠

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

# nmap 192.168.56.1,100-102

Nmap - Network Ports Scan on Host

Nmap – 在主機上掃描網路埠

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

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

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

找到主機上監聽埠的服務

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

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

# nmap -sV 192.168.56.102

Nmap - Scan Network Services Listening of Ports

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 - Scan Particular Post on Machine

Nmap – 掃描機器上的特定埠

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

檢查主機上的漏洞

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

# locate .nse | grep ftp

Nmap - Scan VSftpd Vulnerability

Nmap – 掃描 VSftpd 漏洞

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

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

Learn Nmap NSE Script Usage

了解 Nmap NSE 腳本使用

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

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

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

Nmap - Scan Host for Vulnerable

Nmap – 掃描易受攻擊的主機

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

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

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

# nmap -A 192.168.56.102

Nmap - Complete Network Scan on Host

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

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

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

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

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

via: http://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/

作者:Rob Turner 譯者:DockerChen 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國