在Kali Linux中使用Nmap(网络安全扫描仪)的实用指南

在第二篇Kali Linux文章中,將討論被稱為「nmap」的網路工具。雖然nmap不僅僅是Kali專用工具,但它是Kali中最有用的網路映射工具之一。

  1. 初學者的Kali Linux安裝指南 – 第1部分

Nmap,全名為Network Mapper,由Gordon Lyon維護(更多關於Lyon先生的資訊請參閱: http://insecure.org/fyodor/),並被世界各地許多安全專業人士使用。

這個工具在Linux和Windows上都可以運行,並且是一個命令行(CLI)驅動的工具。然而,對於對命令行有點害怕的人來說,nmap還有一個名為zenmap的出色圖形界面。

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

nmap有什麼作用?好問題。 Nmap允許管理員快速而全面地了解網路上的系統,因此得名為Network MAPper或nmap。

Nmap具有快速定位活躍主機及其相關服務的能力。Nmap的功能還可以通過Nmap Scripting Engine(NSE)進一步擴展。

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

A word of caution – nmap is commonly used by people with both good and bad intentions. Extreme caution should be taken to ensure that you aren’t using nmap against systems that permission has not be explicitly provided in a written/legal agreement. Please use caution when using the nmap tool.

系統要求

  1. Kali Linux(nmap在其他操作系統中也可用,並且與本指南中的功能相似)。
  2. 另一台計算機和使用nmap掃描該計算機的許可 – 這通常可以通過軟件如VirtualBox和創建虛擬機輕鬆完成。
    1. 對於一個好的練習機器,請閱讀有關Metasploitable 2
    2. 下載MS2 Metasploitable2
  3. A valid working connection to a network or if using virtual machines, a valid internal network connection for the two machines.

Kali Linux – 使用Nmap工作

使用nmap的第一步是登录Kali Linux机器,如果需要的话,启动一个图形会话(本系列文章的第一篇安装了带有XFCE桌面环境的Kali Linux)。

在安装过程中,安装程序会提示用户输入‘root‘用户密码,这个密码将在登录时需要。一旦登录到Kali Linux机器,使用命令‘startx‘可以启动XFCE桌面环境 – 值得注意的是,nmap不需要桌面环境来运行。

# startx
Start Desktop Environment in Kali Linux

登录到XFCE后,需要打开一个终端窗口。通过点击桌面背景,会出现一个菜单。可以按照以下步骤找到终端: 应用程序 -> 系统 ->Xterm‘ 或 ‘UXterm‘ 或 ‘Root终端‘。

作者喜欢一个名为‘Terminator‘的shell程序,但这可能不会在Kali Linux的默认安装中显示。列出的所有shell程序都可以用于nmap的目的。

Launch Terminal in 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

可悲的是,這個初始掃描沒有返回任何活動主機。這有時是某些操作系統處理 端口掃描網路流量 的方式所致。

尋找並對我的網路上所有活動主機進行ping測試

不過不用擔心,nmap有一些技巧可用來嘗試找到這些機器。下一個技巧將告訴nmap簡單地嘗試ping網路中的所有地址 192.168.56.0/24

# nmap -sn 192.168.56.0/24
Nmap – Ping All Connected Live Network Hosts

這次nmap返回了一些潛在的掃描主機!在這個命令中,-sn 關閉了nmap默認的行為,即嘗試對主機進行端口掃描,而只是讓nmap試圖ping主機。

查找主機上的開放端口

讓我們試著使用nmap對這些特定主機進行端口掃描,看看會發現什麼。

# nmap 192.168.56.1,100-102
Nmap – Network Ports Scan on Host

哇!這次nmap找到了寶藏。這個特定主機有相當多的開放網路端口

這些端口都顯示了這台機器上某種服務正在運行。回想之前提到的,192.168.56.102 IP地址被指派給了metasploitable易受攻擊的機器,這就是為什麼這台主機有這麼多開放端口

大多數機器有這麼多開放端口是非常異常的,因此更深入調查這台機器可能是個明智的主意。管理員可以追蹤網絡上的實體機器並在本地查看機器,但這樣做可能不太有趣,特別是當nmap可以更快地為我們完成這項任務時!

查找主機上端口上正在監聽的服務

這次掃描是一個服務掃描,通常用於嘗試確定機器上特定端口上可能正在監聽的服務

nmap將探查所有開放的端口,並嘗試從運行在每個端口上的服務中擷取信息。

# nmap -sV 192.168.56.102
Nmap – Scan Network Services Listening of Ports

請注意,這次 nmap 提供了一些關於這個特定端口可能運行的內容的建議(在白色框中突出顯示)。此外,nmap 還試圖確定運行在這台機器上的操作系統的信息以及其主機名(也非常成功!)。

通過查看這個輸出,應該會引起網絡管理員的許多擔憂。第一行聲稱這台機器上運行著VSftpd版本2.3.4!這是一個非常老的版本的 VSftpd。

通過在ExploitDB中搜索,發現了一個嚴重的漏洞,該漏洞於 2011 年針對這個特定版本(ExploitDB ID – 17491)。

在主機上查找匿名 FTP 登錄

讓 nmap 更仔細地查看這個特定端口,看看可以確定什麼。

# nmap -sC 192.168.56.102 -p 21
Nmap – Scan Particular Post on Machine

通過這個命令,nmap 被指示在主機的 FTP 端口(-p 21)上運行其默認腳本(-sC)。儘管這可能是個問題,nmap 確實發現這個特定服務器允許匿名 FTP 登錄

檢查主機上的漏洞

這與早期關於 VSftpd 存在一個舊漏洞的知識結合在一起,應該引起一些擔憂。讓我們看看 nmap 是否有任何腳本嘗試檢查 VSftpd 的漏洞。

# locate .nse | grep ftp
Nmap – Scan VSftpd Vulnerability

請注意,nmap已經為VSftpd後門問題內建了一個NSE腳本!讓我們嘗試對這台主機運行這個腳本,看看會發生什麼,但在這之前,了解如何使用這個腳本可能很重要。

# nmap --script-help=ftp-vsftd-backdoor.nse
Learn Nmap NSE Script Usage

閱讀這個描述後,很明顯這個腳本可以用來嘗試查看這台特定的機器是否容易受到之前識別的ExploitDB問題的影響。

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

# nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21
Nmap – Scan Host for Vulnerable

哎呀!Nmap的腳本返回了一些危險的消息。這台機器很可能是進行嚴重調查的良好候選。這並不意味著機器已經被破壞並被用於可怕的事情,但它應該引起網絡/安全團隊的一些擔憂。

Nmap有能力非常選擇性和非常安靜。到目前為止所做的大部分工作都試圖保持nmap的網絡流量相對安靜,然而,以這種方式掃描個人擁有的網絡可能非常耗時。

Nmap有能力進行更積極的掃描,通常會產生大量相同的信息,但只需一個命令而不是多個。讓我們看一下積極掃描的輸出(請注意 – 積極掃描可能會觸發入侵檢測/防禦系統!)。

# nmap -A 192.168.56.102
Nmap – Complete Network Scan on Host

請注意,這一次,nmap通過一個命令返回了許多與先前有關該特定機器上運行的開放端口、服務和配置相關的信息。這些信息中的許多可以用來幫助確定如何保護這台機器以及評估網絡上可能存在的軟件。

這只是nmap可以在主機或網絡段上發現的許多有用信息中的一個簡短列表。強烈建議個人繼續在自己擁有的網絡上以受控的方式進行nmap的實驗(不要通過掃描其他實體來練習!)。

有一本由作者Gordon Lyon撰寫的官方指南Nmap Network Scanning,可在亞馬遜上購買。

Please feel free to post comments or questions (or even more tips/advice on nmap scans)!

Source:
https://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/