medusa and hydra


medusa 和 hydra 都是常見的暴力破解工具,廣泛用於滲透測試與安全評估中。它們的主要用途是針對遠端服務進行帳號密碼爆破(如:SSH、FTP、HTTP、RDP、MySQL 等)


medusa

Medusa 是一款快速、模組化、並行的Brute-Force Tool(暴力破解工具),專門設計用來對各種服務進行帳號密碼的爆破測試。它是開源的,支援多種協議,常被用於滲透測試與密碼強度檢查。

語法格式

Syntax: Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]

refer:
https://www.kali.org/tools/medusa/

主要語法

Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-M modue name] [-O logfile]

-M 模組名稱 ,可用 medusa -d 查看有哪些模組可用

-O 日志輸出位置

使用範例:目標主機192.168.1.1,ssh密碼爆破,帳號root,密碼字典檔 pass.txt

medusa -h 192.168.1.1 -u root -P pass.txt -M ssh

效能調整

-t:在一台主機上,同時密碼爆破數量

-T:同時爆破主機數量

-f:如果找到密碼就停止這台主機的掃描, 但其他線程的掃描仍然繼續

日志觀察

-v :Verbose Mode

0.EXIT APPLICATION
1.MESSAGE WITHOUT TAG
2.LOG MESSAGE WITHOUT TAG               
3.IMPORTANT MESSAGE
4.ACCOUNT FOUND
5.ACCOUNT CHECK ,The default level 
6.GENERAL MESSAGE ,這個選項可以看到嘗試密碼的過程

-w : Error Debug level

0: FATAL
1: ALERT
2: CRITICAL                                       
3: ERROR                             
4: WARNING                                     
5: NOTICE ,The default level 
6: INFO                                                
7: DEBUG                                            
8: DEBUG-AUDIT                             
9: DEBUG- SERVER
10: DEBUG – MODULE

refer
https://www.hackingarticles.in/a-detailed-guide-on-medusa/
https://jmk-foofus.github.io/medusa/medusa.html


hydra

Hydra是一個功能強大的密碼破解軟體,適用於各種測試場景,能夠支援多種協定和服務,如SSH、FTP、HTTP、RDP、Telnet、SMTP等。主要用於檢測和評估電腦系統的安全性。它廣泛應用於測試網絡、應用程式和服務的安全性,以確保其不易受到未經授權的訪問或攻擊。

語法格式

Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [-m MODULE_OPT] [service://server[:PORT][/OPT]]

refer
https://www.kali.org/tools/hydra/

基本參數

-l:指定帳號
-L:帳號檔路徑

-P:密碼檔路徑

-M:指定目標清單

指定不同的協定
ssh://<target>
smb://<target>
rdp://<target>
<web target> http-post-form <payload> 爆破web表單

指定目標主機例子

以帳號root+pwlist.txt密碼檔,對單一目標 SSH 伺服器執行暴力破解攻擊。
hydra –l root –P pwlist.txt ssh://<ssh_IP>

以user.txt帳號清單+pwlist.txt密碼檔,對單一目標 SMB 伺服器執行暴力破解攻擊。
hydra -L user.txt -P pwlist.txt smb://<smb_IP>

單一帳號admin用pwlist.txt密碼字典檔破解web的<target>登入頁面
hydra -l admin -P pwlist.txt -s 80 <target> http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login"

指定目標清單例子

指定 root帳號 +pwlist.txt密碼檔,對<ssh list>清單內的ssh爆力密碼破解
hydra -l root -P pwlist.txt -M <ssh_list> ssh

ps:
<ssh list>主機清單,一台一行,格式:IP 或 IP:PORT

運行模式

-u:使用一組密碼 Try 所有帳號後,在 Try 下一組密碼,避免同一個帳號短時間錯太多次(容易被鎖)。

-K : 不會對失敗的嘗試再次重試(通常是網路不通、目標拒絕連線等造成的失敗)

-s:指定端口

調整效率

-t: 指定每個目標的連線數(default: 16)
-T :指定總共的目標連線數 (default: 64)

指定ssh密碼爆破,但每個目標最多4個連線,但總連線數不超過16個

hydra -l root -P <passwords.txt> -M < ssh list> ssh -t 4 -T 16

輸出調整

-o: 將爆破成功的使用者密碼,儲存到文件

-vV: 顯示詳細的結果

-q: 不要顯示連線錯誤的訊息

常見錯誤訊息

does not support password authentication (method reply 4)
目標服務器不支援密碼驗證。可能原因是目標服務器的配置(如 SSH 的 /etc/ssh/sshd_config)設置了禁用密碼驗證( PasswordAuthentication no)。

socket error : disconnected
可能次數太多被安全設備擋住,或是網路連線問題

socketpair creation failed: Too many open files
系統的file descriptor(檔案描述符)數量達到上限,導致無法創建新的 socketpair。這通常發生在高並行性爆破時,工具開啟了過多連接,系統預設的descriptor上限通常為 1024 或 4096被耗盡

refer
https://anyeduke.gitbooks.io/the-pentesting-of-kali-tools/content/2gong-ju-jie-shao-he-shi-yong/32kaligong-ju-ji/05mi-ma-gong-ji/053hydra.html