使用 BP 工具的 Intruder 模塊高度可配置,可以對目標網站進行密碼爆破,一般被用於網站的安全滲透測試場景
它的工作原理是,在原始網絡數據包中,利用不同的變量值對請求參數進行替換,然後模擬請求以獲取不同的響應結果,以此達到爆破的目的
1、Intruder 功能標籤
BP 工具的 Intruder 模塊包含 5 個功能標籤
分別是:
-
Target
用於指定待攻擊的目標服務器的 Host、端口號及 SSL 連接
-
Positions
設置請求中的參數及攻擊類型
-
Payloads
爲上面的參數設置數據集、參數編碼、加密等功能
-
Resource Pool
指定請求線程及延時時間
-
Options
請求頭、攻擊結果、重定向等相關的配置
2、攻擊類型
Intruder 進行密碼爆破時,可以有 4 種攻擊類型供選擇
分別是:Sniper(狙擊手模式)、Battering ram(破城錘模式)、Pitchfork(音叉模式)、Cluster bomb(集束炸彈模式)
這裏以登錄接口包含「 用戶名、密碼 」2 個參數爲例
Sniper 使用一組數據集合,依次對 $ 標記的變量進行爆破,即:針對一個參數變量,使用一個數據集合
使用場景:單一目標,已知用戶名,密碼未知
Battering ram 使用一組數據集合,同時對 $ 標記的所有變量進行爆破,即:針對多個參數變量,使用一個數據集合
使用場景:兩個單一目標,相互不影響
Pitchfork 使用多組數據集合,同時爆破被 $ 標記的變量,即:針對多個參數變量,使用多個數據集合
使用場景:用戶名和密碼都未知,每個用戶名只使用一個密碼進行攻擊
Cluster bomb 使用多組數據集合進行組合(笛卡爾積)後,依次對多個爆破點變量進行爆破,即:針對多個變量,使用多個數據集合的組合
實用場景:兩個目標,每個用戶名使用所有密碼都進行一次攻擊
3、實戰一下
假設我們需要對目標網站進行密碼爆破
首先,我們需要在開發者工具欄進行抓包分析,在 BP 工具中 Proxy 選項中配置攔截規則
比如,登錄接口包含關鍵字「 login 」,我們可以如下配置
接着,打開攔截功能,在瀏覽器中隨便輸入一個用戶名、密碼,執行登錄操作,這樣在 BP 工具攔截模塊中可以攔截到這個請求
點擊「 Action 」按鈕,選擇將數據包發送給 Intruder 模塊
然後,在 Intruder 模塊中配置 5 個功能標籤
PS:一般來說,Target 標籤保持默認即可,不需要另外進行配置
在 Positions 標籤下,我們需要先點擊右側的「 Clear § 」按鈕來清除默認的參數標籤
然後鼠標選擇需要設置爲變量的值,點擊右側的「 Add § 」按鈕來設置它爲變量
注:這裏爲了演示方便,只將用戶名、密碼設置爲變量
這裏攻擊類型我們選擇「 Cluster bomb 」,讓所有用戶名和密碼隨機組合進行攻擊
接着,我們在 Payloads 標籤下,根據參數索引對用戶名、密碼配置不同的數據集
需要指出的是,數據集可以從本地文件中導入,也可以手動添加或者從剪切板中粘貼
這裏 Resource Pool 和 Options 配置頁面保持默認即可
最後,點擊右上角的「 Start attack 」按鈕對目標網站進行密碼爆破,結果會以彈框的形式進行展示
這樣,我們通過響應結果可以很直觀地判斷出目標網站可用的賬戶組合數據
4、補充一下
面對一些簡單的網站,在用戶名、密碼字典數據完善的前提下,使用上面的步驟進行密碼爆破的機率很高
但是針對一些包含驗證碼的網站,我們需要多一步識別驗證碼的操作,然後在 Payloads 功能標籤下將圖片識別結果設置到參數中去
這裏推薦一個 BP 插件「 captcha-killer 」,受限於篇幅,這部分內容大家可以自行擴展
https://github.com/c0ny1/captcha-killer