top of page
作家相片Samuel

Nmap NSE Category vulns Script:http-enum 列舉熱門 Web 應用程式和伺服器使用的目錄

已更新:8月26日


Nmap Script指令摘要


這個指令用於列舉熱門的網頁應用程序和伺服器所使用的目錄,它解析類似於 Nikto 網頁應用程式掃描器的特徵 (fingerprint) 文件;不過,此指令更進一步地內建了高階模式匹配功能,並具備識別特定版本的網頁應用程序的能力。


還可以使用 http-fingerprints.nikto-db-path 選項解析 Nikto 格式的資料庫,將嘗試即時解析 nikto 資料庫中定義的大多數特徵,詳細信資訊可以參考 nselib/data/http-fingerprints.lua 中的資料。


目前,該資料庫可以在 Nmap 的目錄中的 nselib/data 資料夾中找到,檔案名稱為 http-fingerprints,在檔案表頭部有關其功能的詳細描述。


其中許多特徵是由 Ron Bowes 發現的,還有一些來自 Yokoso 專案,經 Kevin Johnson 批准使用(http://seclists.org/nmap-dev/2009/q3/0685.html)。


一開始這個指令嘗試存取兩個不同的隨機檔案,以檢測不返回正確的 404 Not Found 狀態的伺服器,如果它們返回 200 OK,則刪除任何看起來不是靜態的資料(URI、時間等)並保存;如果兩個隨機嘗試返回不同的結果,則該指令將中止(因為無法區分 200-looking 404 和實際的 200),這將防止大多數誤報。


此外,如果根資料夾返回 301 Moved Permanently 或 401 Authentication Required,此指令也將中止;如果根資料夾已經消失或需要身份驗證,則幾乎不可能在其中找到任何內容。

預設情況下,只顯示返回 200 OK 或 401 Authentication Required 的頁面;但是,如果設定了 http-enum.displayall 指令參數,則將顯示所有結果(除了 404 Not Found 和隨機檔案返回的狀態碼);http-fingerprints資料庫中的項目可以定義自己的標準,以確定哪些頁面被視為有效,每個特徵項目都可以包含一組規則或條件,用於評估特定頁面是否符合該項目所描述的目標應用程序或伺服器。

這些標準或規則可以基於多種因素,例如頁面的HTTP回應狀態碼、頁面內容中的特定字串、HTTP表頭、頁面的URL結構等等;通常,這些規則是由安全專家或網站測試人員根據他們對目標應用程序的了解而制定的,以確保準確識別目標應用程序的特定版本或特徵。


其他資訊請參考:http-iis-short-name-brute.nse


Nmap Script指令參數

http-enum.basepath

要在每個請求之前添加的基本路徑。忽略開頭/結尾的斜杠 (/) 。

http-fingerprints.nikto-db-path

查看指定路徑中的 Nikto 資料庫,然後將 Nikto 資料庫中的記錄轉換為 Lua 表格格式,如果它們尚不存在,則將它們添加到當前的特徵中,值得注意的是目前在作法上有一些限制:

  • 一個探查(或特徵)通常包含了一個或多個 "dontmatch" 模式,這些模式用於定義哪些頁面或內容應該不匹配特定的條件;然而,在目前的執行條件下,它無法處理一個探查中具有多個 "dontmatch" 條件的情況,只能處理一個 "dontmatch"。

  • 它不支援 'match' 模式的邏輯 AND 運算。

  • 指令無法支援探查的附加表頭(headers);通常,探查可以包括定義了特定HTTP請求的表頭,以滿足特定的掃描需求;然而,在目前的實作中,如果一個 Nikto 特徵需要上述功能之一(多個 "dontmatch" 模式或附加表頭),則該特徵將無法被成功載入。目前有6546個 Nikto 特徵中的6546個已經成功載入,但有27個特徵無法被支援,因為它們需要某些功能,而這些功能在目前的實作中仍不可用,同時,這個特徵整合的建議來自 Nikto 共同作者 Chris Sullo,詳情請參考 http://seclists.org/nmap-dev/2013/q4/292

http-enum.displayall

將此參數設定為顯示可能表示有效頁面的所有狀態碼,而不僅僅是 200 OK 和 401 身份驗證所需的頁面,儘管這更有可能找到某些隱藏的資料夾,但它也會產生更多的誤報。

http-enum.category

設為一個類別(如特徵檔案中定義的),一些選項包括 'attacks'(攻擊)、'database'(資料庫)、'general'(通用)、'microsoft'(微軟)、'printer'(影印機)等。

http-enum.fingerprintfile

指定要從中讀取特徵表單的不同檔案。

slaxml.debug

請參考 slaxml 函式庫。

http.host, http.max-body-size, http.max-cache-size, http.max-pipeline, http.pipeline, http.truncated-ok, http.useragent

請參考 http 函式庫。

smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername

請參考 smbauth 函式庫。


Nmap Script指令範例

nmap -sV --script=http-enum <target>

Nmap Script指令輸出

Interesting ports on   test.skullsecurity.org (208.81.2.52):
PORT    STATE SERVICE REASON
80/tcp open  http     syn-ack
| http-enum:
|    /icons/: Icons and images
|    /images/: Icons and images
|    /robots.txt: Robots file
|    /sw/auth/login.aspx: Citrix WebTop
|    /images/outlook.jpg: Outlook Web Access
|    /nfservlets/servlet/SPSRouterServlet/: netForensics
|_   /nfservlets/servlet/SPSRouterServlet/: netForensics

Nmap Script作者:

Ron Bowes Andrew Orr Rob Nicholls

License: Same as Nmap--See https://nmap.org/book/man-legal.html



Nmap
Nmap

 

延伸閱讀

4 次查看
bottom of page