(本文僅為平時學習記錄,若有錯誤請大佬指出,如果本文能幫到你那我也是很開心啦)
一、定義
爆破=爆破工具(BP/Hydra)+字典(用戶字典/密碼字典)
字典:一些用戶名或者口令(弱口令/使用社工軟件生成)的集合
BurpSuite:多功能滲透測試工具,滲透測試神器,使用JAVA開發,功能齊全,方便滲透測試人員去測試WEB站點
Hydra:九頭蛇,開源的功能強大的爆破工具,支持的服務有很多,使用Hydra爆破C/S架構的服務
Medusa:美杜莎,開源的,支持爆破的服務有很多種,FTP、SSH、Mssql、Mysql、SNMP等等,在kali系統中有內置
二、使用BurpSuite爆破DVWA的WEB登錄窗口
DVWA:web應用程序,漏洞演練平台,開源,集成常見的WEB漏洞,使用PHP+MySQL的服務支持
1.用火狐瀏覽器打開搭建好的DVWA站點,點擊DVWA Security,調保護措施級別
- 這里已知DVWA的默認登錄為admin,密碼為password
- 可以看到底部的Security Level的級別變成了Low
2.點擊Brute Force爆破,進入以下界面
3.破解單項,知道用戶名,破解密碼:在DVWA的爆破中輸入賬號,密碼隨機輸入,開啟火狐瀏覽器的代理,打開BP,開啟攔截狀態,在回到DVWA點擊登錄,BP中就攔截到數據包,所攔截的數據包如下圖所示
4.將攔截到的數據發送到Intruder模塊,按ctrl+I或點擊Action --> Send to Intruder,點擊進入Intruder模塊,就可以看到如下圖所示界面
5.進入Positions模塊,點擊Clear鍵,去除不需要爆破的項,在重新選擇要爆破的項,點擊Add,意味着要爆破密碼
- 這里要注意,選擇爆破的項為輸入密碼的數據,如下圖所示
6.進入Payloads模塊,在Payloads options[simple list]中添加密碼字典,點擊Load,找到密碼字典所在位置,加載進來
- 在Options模塊中,可以設置爆破時的一些規則,如:線程Rwquset Engine、匹配規則Grep-Match、排除規則
7.點擊Payloads中點擊Start attack,或者在菜單中的inttruder里,Start attack開啟爆破!
8.在爆破的過程中使用密碼字典去替換隨意輸入的密碼,爆破結束后,雙擊Length,對結果進行排序,放在前幾排的測試結果可能就是正確密碼,把賬號和密碼拿過來測試
- 也可根據當前界面下面的響應包中的數據,確定是否為正確密碼
- 測試,密碼就是password
-
如何快速定位爆破出來的正確結果:
1.需要知道登錄成功之后返回來的字符串,如上圖所示的Welcom
2.將該字符添加到Options中的匹配規則中Grep-Match
3.然后爆破完成后,雙擊該字符,對結果進行排序,放在前幾排的測試結果並且在Welcom規則下面勾選✔上了的測試結果可能就是正確密碼
9.爆破多項,密碼和用戶名未知:在DVWA的爆破中隨機輸入用戶名和密碼,開啟火狐瀏覽器的代理,打開BP,開啟攔截狀態,在回到DVWA點擊登錄,BP中就攔截到數據包,將攔截到的數據發送到Intruder模塊,進入Positions模塊,點擊Clear鍵,去除不需要爆破的項,在重新選擇要爆破的項,點擊Add,然后選擇“Cluster bomb”這種攻擊模式,操作結果如下圖所示
10.在Payloads中選擇1(這里的1對應在Positions模塊第一個選中的值),“Payload type”中選擇需要的攻擊載荷類型,然后在下方的Payload Options中加載所需要的數據,此處加載用戶字典
在Payloads中選擇2,“Payload type”中選擇需要的攻擊載荷類型,然后在下方的Payload Options中加載所需要的數據,此處加載密碼字典,線程設置100,點擊開始爆破
- 可以看到結果里面的第一個就是正確的密碼和用戶名
三、使用kali中的Hydra爆破本地FTP服務、以及kali中的SSH服務
Hydra:是著名的黑客組織THC的一款開源暴力破解工具這是一個驗證性質的工具,主要目的是展示安全研究人員從遠程獲取一個系統認證權限
- 參數
- 破解ssh:
- hydra -l 用戶名 -P 密碼字典 -t 線程 -vV -e ns ip ssh
- hydra -l 用戶名 -P 密碼字典 -t 線程 -o save.log -vV ip ssh
- 破解ftp:
- hydra ip ftp -l 用戶名 -P 密碼字典 -t 線程(默認16) -vV
- hydra ip ftp -l 用戶名 -P 密碼字典 -e ns -vV
1.爆破本地FTP服務,爆破單項:打開phpStudy,點擊FTP,創建FTP服務,並開啟Apache2、FTP、MySQL服務,操作如下圖所示
2.在本地安裝Hydra,並將安裝目錄添加到環境變量中,操作結果如圖所示
- 添加環境變量具體操作查看本篇文章https://www.cnblogs.com/yankaohaitaiwei/p/11564821.html
3.在dos命令窗口中測試Hydra是否可用,並且查看FTP服務端口是否開啟
1 hydra -h 查看幫助信息 2 netstat -ano|findstr 21 查看FTP端口信息
4.使用Hydra爆破密碼,在下圖的回響中就可以看到本地FTP服務的用戶名和密碼,爆破成功!
1 hydra -l admin -P password.txt(密碼字典的路徑) ftp://本地IP
2 -l 表示已知用戶名 3 -P 后跟密碼字典 4 ftp 協議
5.爆破kali中的SSH服務,爆破多項:打開kali,開啟SSH服務
1 /etc/init.d/ssh start 開啟SSH服務 2 /etc/init.d/ssh status 查看SSH服務狀態
6.查看kali與宿主機的連通性,並在宿主機中爆破kali的SSH服務,如下圖所示,爆破成功!
1 ping kali的IP 查看連通性 2 hydra -L user.txt -P password.txt ssh://kali的IP 爆破多項
3 -L 后跟用戶字典
- 這里為了快速爆破,我新配置了用戶文件和密碼文件
7.Hydra中常用的命令:
- 爆破目標有多個 hydra -L logins.txt -P pws.txt -M targets.tzt ssh
- 192.168.1.0/24 C端 hydra -l admin -p password ftp://[192.168.1.0/24]
-p 指定密碼
- 如果爆破的服務修改了端口,使用-e 指定需要爆破的端口
四、使用kali中的Medusa爆破本地FTP服務
1.打開phpStudy,點擊FTP,創建FTP服務,並開啟Apache2、FTP、MySQL服務;驗證kali中是否有Medusa服務,出現幫助信息,則證明有服務
2.使用Medusa爆破單項,爆破密碼
1 Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT] 2 -h 后跟要爆破的主機 3 -H 后跟IP集合 4 -u 后跟用戶名 5 -U 用戶字典 6 -p 后跟單個密碼 7 -P 后跟密碼字典 8 -C 組合條目文件username:password 9 -M 模塊 10 -O 輸出爆破結果 11 -e(指定用戶) n(空密碼)s(使用和賬號相同的密碼去測試) 12 -n 后跟端口,使用指定的端口(服務段落更改) 13 -t 線程,后跟線值數 14 -f 當找到正確的賬號和密碼后,就停止爆破 15 -r 重設間隔時間 16 -d 顯示所有模塊的名稱 17 medusa -h 目標IP -u admin -P password.txt -e ns -M ftp -t -r 0 -f -O ./result_ftp.txt 爆破單項
cat result_ftp.txt 查看爆破結果