top of page
作家相片Samuel

Nmap NSE Category vulns Script:http-vuln-cve2014-3704 Drupal Drupageddon 漏洞利用

已更新:8月26日


Nmap Script指令摘要


這個指令利用 CVE-2014-3704 Drupal 的 Drupageddon 漏洞,該漏洞影響 Drupal 核心版本低於 7.32 的網站,這個漏洞讓遠端攻擊者可以透過特意設計的索引鍵的陣列(Array)進行 SQL 注入攻擊。


該指令透過登錄表單植入新的 Drupal 管理員,然後嘗試使用這個使用者進行登錄,以確定目標是否存在漏洞;如果是這種情況,將執行以下的利用步驟:


  • 啟用 PHP 過濾模組:首先,攻擊者會啟用 Drupal 的 PHP 過濾模組,這個模組允許嵌入 PHP 代碼或片段進行評估,這是為了讓攻擊者能夠在目標系統上執行自定義的 PHP 代碼。

  • 設定管理員的 PHP 代碼權限:攻擊者將設定為管理員的權限,使其能夠使用 PHP 代碼,這樣就可以在 Drupal 上執行 PHP 代碼。

  • 建立包含有效負載的新文章:攻擊者將建立一篇新的文章,其中包含特定的有效負載(payload),這個有效負載通常是惡意的,重點在於執行攻擊,可能是遠端代碼執行(Remote Code Execution)或其他類型的攻擊。

  • 預覽文章:攻擊者預覽這篇包含有效負載的新文章,以觸發有效負載的執行。


預設情況下,指令會執行清理操作,以還原指令添加/修改的所有資料庫記錄;這表示指令在執行攻擊過程中所做的任何更改都將被還原,以恢復目標系統的狀態,這是出於攻擊者的謹慎,以隱匿其攻擊行為,避免在目標系統上留下明顯的跡象。


這個漏洞最初由 SektionEins 的 Stefan Horst 發現,並命名為 Drupageddon,攻擊利用 Metasploit 模組中的 exploit/multi/http/drupal_drupageddon,這個模組提供了利用 Drupal 漏洞來實現遠端代碼執行(Remote Code Execution)的方法,攻擊者可以利用這個技術在受感染的 Drupal 網站上執行自定義的攻擊代碼,攻擊者通常會使用這種攻擊方式來掌控目標系統或執行其他惡意活動。


See also:您可以參考以下網址,瞭解有關SQL注入攻擊的更多資訊:

SQL注入攻擊:http-sql-injection.nse


Nmap Script指令參數

http-vuln-cve2014-3704.uri

為 Drupal 網站的根目錄,預設為 " / ",這個參數用於設定在網站中要測試的 Drupal 根目錄的路徑;在許多情況下,Drupal 的根目錄位於網站的根目錄,但如果您的 Drupal 安裝位於子目錄中,您可以使用這個參數來指定正確的路徑。

http-vuln-cve2014-3704.cmd

這個參數用於指定在攻擊中要執行的 Shell 命令,預設情況下,它被設定為 "nil",表示不指定任何特定的 Shell 命令;但是,如果需要,在這個參數中可以提供一個具體的 Shell 命令,這個功能可以用於進一步攻擊或在測試中執行其他操作;然而,應謹慎使用這個功能,因為不正確的 Shell 命令可能導致不必要的風險或損害。

http-vuln-cve2014-3704.cleanup

這個參數是一個布林值,用於設定是否執行清理,即刪除在利用過程中添加/修改的資料庫記錄,預設值為 "true",表示將執行清理操作;當設定為 "true" 時,指令在成功利用漏洞後會自動刪除相關的資料庫記錄,以恢復到攻擊前的狀態;這是一個重要的選項,因為如果不執行清理操作,可能會留下痕跡或對目標系統造成損壞;在某些情況下,可能希望停用此選項,以便保留相關的記錄以供調查或其他目的使用。

slaxml.debug

用於設定是否要啟用 slaxml 函式庫的偵錯模式,當偵錯模式啟用時,slaxml 函式庫會產生額外的偵錯訊息,以協助您除錯 XML 處理的代碼;偵錯模式通常用於開發或除錯 XML 處理程序,它可以幫助您追蹤 XML 資料的處理流程,檢查是否有任何錯誤或問題,這對於確保應用程式能夠正確處理各種不同的 XML 資料是非常有用的;如果您需要詳細的資訊或使用方法,建議參考 slaxml 函式庫。

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

這些參數可以根據需求調整,以達到更好的 HTTP 請求和回應控制,詳細的用法和設定方式可以參考 http 函式庫。

  • http.host:用於指定 HTTP 請求的目標主機名或 IP 位址。

  • http.max-body-size:設定 HTTP 回應的最大主體大小,超過此大小的主體將被截斷。

  • http.max-cache-size:設定 HTTP 回應暫存的最大大小,超過此大小的回應將不被暫存。

  • http.max-pipeline:設定允許的 HTTP 通道(pipeline)的最大數量。

  • http.pipeline:控制是否使用 HTTP 通道請求,啟用後可以提高請求效率。

  • http.truncated-ok:用於設定是否允許接收截斷的 HTTP 回應,當設定為 "ture" 時,表示允許接收部分回應。

  • http.useragent:用於指定 HTTP 請求的 User-Agent 表頭,即用戶代理字串,以模擬特定用戶代理的存取。

smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername

用於設定和控制對 SMB 服務的存取和身份驗證,您可以根據需要來設定這些參數以實現所需的 SMB 認證,詳細的用法和設定方式可以參考 smbauth 函式庫。

  • smbdomain:SMB 網網域名稱稱(Domain),用於指定 SMB 認證所屬的網域。

  • smbhash:SMB 哈希(Hash),用於指定已知的 SMB 密碼哈希。

  • smbnoguest:不使用 SMB 的 guest 帳號,當設定為 "true" 時,表示禁止使用 "guest" 帳號。

  • smbpassword:SMB 密碼(Password),用於指定 SMB 認證的密碼。

  • smbtype:SMB 類型(Type),用於指定 SMB 認證的類型。

  • smbusername:SMB 使用者名稱(Username),用於指定 SMB 認證的使用者名稱。

vulns.short, vulns.showall

用於指定漏洞掃描和報告的顯示方式,以便根據需要獲得相應的漏洞資訊,詳細的用法和設定方式可以參考 vulns 函式庫。

  • vulns.short:用於控制是否顯示簡短的漏洞資訊,當設定為 "true" 時,可能會以簡短的方式顯示已發現的漏洞資訊,包括漏洞的名稱、風險等級等。

  • vulns.showall:這個參數可能用於控制是否顯示所有已發現的漏洞,包括那些低風險或資訊性質的漏洞;當設定為 "true" 時,可能會顯示所有漏洞報告,而不僅僅是高風險的漏洞。


Nmap Script指令範例

nmap --script http-vuln-cve2014-3704 --script-args http-vuln-cve2014-3704.cmd="uname -a",http-vuln-cve2014-3704.uri="/drupal" <target>
nmap --script http-vuln-cve2014-3704 --script-args http-vuln-cve2014-3704.uri="/drupal",http-vuln-cve2014-3704.cleanup=false <target>

Nmap Script指令輸出

PORT   STATE SERVICE REASON
80/tcp open  http    syn-ack
| http-vuln-cve2014-3704:
|   VULNERABLE:
|   Drupal - pre Auth SQL Injection Vulnerability
|     State: VULNERABLE (Exploitable)
|     IDs:  CVE:CVE-2014-3704
|       The expandArguments function in the database abstraction API in
|       Drupal core 7.x before 7.32 does not properly construct prepared
|       statements, which allows remote attackers to conduct SQL injection
|       attacks via an array containing crafted keys.
|
|     Disclosure date: 2014-10-15
|     Exploit results:
|       Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
|     References:

Nmap Script作者:

Mariusz Ziulek <mzet()owasp org>

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


Nmap
Nmap


 

延伸閱讀

5 次查看
bottom of page