【滲透測試LAB】如何使用Hydra & Nmap 執行遠端暴力破解

Peter Zhang
Jan 19, 2023

--

picture from google and draw.io

Hydra 是一款知名支援多種協議與網址的遠程線上暴力破解工具,而本篇專注於介紹"Hydra-graphical",又被稱為"xHydra"的使用方式(介面化版本),同時也結合Nmap來執行驗證。

本篇以四個小節分享:

1.Hydra UI版本 (xHydra)基本介紹

2.使用Nmap掃描結果

3.使用Hydra 執行結果

4.結論

在開始實作Hydra前,你該先了解Hydra的基礎知識。

1.Hydra UI版本 (xHydra)基本介紹

本篇Hydra採用 Kali 2022.3 version中的Hydra。

從Kali中搜尋Hydra,點選下去即可開啟Hydra,如下圖所示。

圖1. Hydra icon

開啟Hydra後,會看到"Target"頁籤畫面,如下圖所示,而本篇將介紹Hydra的基礎應用所需的欄位資訊。

圖2.Hydra 操作介面

例如要針對SSH服務進行攻擊,常理來說SSH是使用22 Port,故這邊在Port欄位輸入22,Protocol則選擇SSH,如下圖所示。

圖3.Hydra Port介面

在“Passwords”頁籤畫面,使用者需要在此設定或匯入使用者帳號(名稱)與密碼資料(字典檔),以供Hydra進行暴力破解攻擊,如下圖所示。

圖4.Hydra passwords 介面

在"Tuning"頁籤中,這邊主要有三項目須特別設定,以確保後續測試或是攻擊目標端時,能節省運算資源與等待時間,如下圖所示。

圖5.Hydra Tuning 介面

在”Specific”頁籤中,可以設定針對網站、特定設備(如CISCO)、AD等,不同類型的服務進行特定客製化攻擊,如下圖說明所示。

圖6. Hydra Specific 介面

在”Start”頁籤中,這邊點選"Start"後即會執行原先設定與提供給予Hydra的帳號及密碼破解程序,如下圖說明。

圖7. Hydra 執行介面

上述介紹Hydra基礎介面操作,接下來將開始進入本篇的實作說明。

本篇系統模擬環境:

模擬攻擊端: Kali 2022.3 version ,並採用Nmap 與 Hydra執行驗證。

模擬測試端: Metasploitable,IP:10.0.2.5。

2.使用Nmap掃描結果

在使用Nmap時,因本次使用的指令須使用最高權限才可使用,故建議一開始就啟用最高權限”root”,如下圖所示。

Step1. Nmap指令: nmap -sS -A -p- 10.0.2.5

有關透過Nmap執行端口服務掃描可參考此篇:連結

Nmap指令說明:

(1) -sS指令是不讓偵測過程中,"不完成"TCP的 三向交握。

(2) -A為Nmap偵測Port端所運行的服務版本與作業系統,可參考先前文章內容

(3) -p- 是Nmap偵測該目標端的Port狀態,從1至65535 Port端。

圖8. Nmap 指令執行畫面

Step2.檢視掃描結果

圖9. Nmap執行掃描結果
圖10. Nmap執行掃描結果

Step3.依Nmap掃描結果,鎖定欲針對的服務與常用的Port作為目標

Step3.1 檢測發現FTP服務與對應的21 Port已有啟用

圖11. Nmap執行掃描之21 Port結果

Step3.2 檢測發現SSH服務與對應的22 Port已有啟用

圖12. Nmap執行掃描之22 Port結果

Step3.3 檢測發現Telnet服務與對應的23 Port已有啟用

圖13. Nmap執行掃描之23 Port結果

Step3.4 檢測發現MySQL服務與對應的3306 Port已有啟用

圖14. Nmap執行掃描之3306 Port結果

Step3.5 檢測發現VNC服務與對應的5900 Port已有啟用

圖14. Nmap執行掃描之5900 Port結果

Step3.6其他檢測結果

圖15. Nmap執行其他掃描結果

Step3.7選定本篇欲測試的目標

本篇選定下列2項協定服務作為驗證,而所針對範例之帳號或密碼不會設計過於複雜,主要是為了讓入門者可以了解到如何運行,加上Hydra的本質是暴力破解,故所擁有的字典檔越符合目標場域的內容,更可加速破解成功。

  1. Telnet 23 Port
  2. VNC 5900 Port

上述提及的Telnet 與 VNC是兩項具高風險的遠程登錄服務,完全不建議日常企業內部使用此服務,雖然.....還是很多企業為了方便使用(汗)

3.使用Hydra 執行結果

驗證1.Telnet 23 Port

Step1.於"Target"頁籤中設定相關參數

圖16. Hydra Target 介面

Step2.於"Passwords'頁籤中設定相關參數

選擇欲匯入的字典檔案,由於Telnet也須具有Username才可登入使用,故這邊也需要匯入Username or Username List。

而本篇主要使用Kali預設建立的字典檔案路徑: /usr/share/wordlists,可參考使用此字典檔(rockyou.txt),或自行建立。

圖17. Hydra Passwords 介面

Kali預設建立的字典檔案路徑: /usr/share/wordlists,其這邊有許多預設多樣暴力破解工具或是服務所使用的字典檔。

圖18. Hydra Passwords 可使用的Wordlist檔案路徑

本篇選擇路徑中的rockyou.txt,而因個人需求,隨後將此檔案複製至桌面上,故後續路徑也會有所不同,但只要Hydra能抓到檔案路徑,就可以運行,如下圖所示。

圖19. Hydra Passwords 可使用的Wordlist檔案範例
圖20. Hydra Passwords 匯入Wordlist檔案

Step3.於"Tuning"頁籤中設定相關參數

本篇這邊Number of Tasks、Timeout 採用預設數值,並勾選Exit after first pair (per host).

圖21. Hydra Tuning 介面數量

Step4. Results

依上述各頁籤參數設定完成後,至"Start"頁籤中,點選"Start"後,Hydra則會開始自動帶入資料執行目標端的暴力破解,如下圖所示。

圖22. Hydra Start執行

本篇針對Telnet協定服務的暴力破解結果,如下圖所示。

圖23. Hydra Start執行過程與結果

依據上述暴力破解結果發現,在本次的205761782671201項目字典中,於第6次的暴力猜測中,發現一組合規的使用者帳號與密碼,其username為123456,password為12345。

驗證2.VNC 5900 Port

Step1.於"Target"頁籤中,設定目標參數與對應Port

圖24. Hydra Target - 5900 Port

Step2.於"Password"頁籤中設定相關參數

圖25. Hydra Passwords針對5900Port目標匯入密碼

Step3.於”Tuning”頁籤中設定相關參數

圖26. Hydra Tuning

Step4. Result

圖27. Hydra Start執行過程與結果 — 5900 Port

依據上述暴力破解結果發現,在14344399項目組合中,於第9次的暴力猜測中,發現一組合規的使用者帳號與密碼,其password為password。

4.結論

綜上所實驗的2種類型協定服務,可以瞭解到當惡意人士已製作符合攻擊使用的帳號(Username)與密碼(Password)字典檔時,亦有很高可能性找到合規使用者權限,故日常就應該落實密碼複雜性,同時盡可能降低使用高風險的軟體或服務,如服務已有提供多因素驗證服務(MFA),更建議需要啟用,以提高惡意人士的攻擊成本。

最後Hydra是一套具多功能的暴力破解工具,與它相似工具也有Medusa、Burp Suite等,這些也是可用於網頁類型爆破。若有興趣夥伴,不妨可以嘗試使用於靶機。

參考資料:

1.Hydra

--

--

Peter Zhang

現任資安顧問,熱衷於資安治理、資安技術研究、Azure雲端安全技術、網路架構自動化、容器服務;曾任軟體業系統分析師,專注於資料庫規劃、API建置、使用者訪談、梳理業務流程、容器部屬與管理;跨國大型製造業資安管理師,專注於資安治理、DLP導入等資安技術應用,期望藉由分享自身學習與工作歷程經驗,讓我們在科技風潮下持續成長!