實(shí)用 | 如何利用 Burp Suite 進(jìn)行密碼爆破!

本篇文章我們繼續(xù)聊聊 BP 工具中一個(gè)實(shí)用的功能模塊「 Intruder 」

使用 BP 工具的 Intruder 模塊高度可配置,可以對(duì)目標(biāo)網(wǎng)站進(jìn)行密碼爆破,一般被用于網(wǎng)站的安全滲透測(cè)試場(chǎng)景

它的工作原理是,在原始網(wǎng)絡(luò)數(shù)據(jù)包中,利用不同的變量值對(duì)請(qǐng)求參數(shù)進(jìn)行替換,然后模擬請(qǐng)求以獲取不同的響應(yīng)結(jié)果,以此達(dá)到爆破的目的

1、Intruder 功能標(biāo)簽



BP 工具的 Intruder 模塊包含 5 個(gè)功能標(biāo)簽

分別是:

Target

用于指定待攻擊的目標(biāo)服務(wù)器的 Host、端口號(hào)及 SSL 連接

Positions

設(shè)置請(qǐng)求中的參數(shù)及攻擊類型

Payloads

為上面的參數(shù)設(shè)置數(shù)據(jù)集、參數(shù)編碼、加密等功能

Resource Pool

指定請(qǐng)求線程及延時(shí)時(shí)間

Options

請(qǐng)求頭、攻擊結(jié)果、重定向等相關(guān)的配置

2、攻擊類型

Intruder 進(jìn)行密碼爆破時(shí),可以有 4 種攻擊類型供選擇

分別是:Sniper(狙擊手模式)、Battering ram(破城錘模式)、Pitchfork(音叉模式)、Cluster bomb(集束炸彈模式)



這里以登錄接口包含「 用戶名、密碼 」2 個(gè)參數(shù)為例

Sniper 使用一組數(shù)據(jù)集合,依次對(duì) $ 標(biāo)記的變量進(jìn)行爆破,即:針對(duì)一個(gè)參數(shù)變量,使用一個(gè)數(shù)據(jù)集合

使用場(chǎng)景:?jiǎn)我荒繕?biāo),已知用戶名,密碼未知

Battering ram 使用一組數(shù)據(jù)集合,同時(shí)對(duì) $ 標(biāo)記的所有變量進(jìn)行爆破,即:針對(duì)多個(gè)參數(shù)變量,使用一個(gè)數(shù)據(jù)集合

使用場(chǎng)景:兩個(gè)單一目標(biāo),相互不影響

Pitchfork 使用多組數(shù)據(jù)集合,同時(shí)爆破被 $ 標(biāo)記的變量,即:針對(duì)多個(gè)參數(shù)變量,使用多個(gè)數(shù)據(jù)集合

使用場(chǎng)景:用戶名和密碼都未知,每個(gè)用戶名只使用一個(gè)密碼進(jìn)行攻擊

Cluster bomb 使用多組數(shù)據(jù)集合進(jìn)行組合(笛卡爾積)后,依次對(duì)多個(gè)爆破點(diǎn)變量進(jìn)行爆破,即:針對(duì)多個(gè)變量,使用多個(gè)數(shù)據(jù)集合的組合

實(shí)用場(chǎng)景:兩個(gè)目標(biāo),每個(gè)用戶名使用所有密碼都進(jìn)行一次攻擊

3、實(shí)戰(zhàn)一下

假設(shè)我們需要對(duì)目標(biāo)網(wǎng)站進(jìn)行密碼爆破

首先,我們需要在開發(fā)者工具欄進(jìn)行抓包分析,在 BP 工具中 Proxy 選項(xiàng)中配置攔截規(guī)則

比如,登錄接口包含關(guān)鍵字「 login 」,我們可以如下配置



接著,打開攔截功能,在瀏覽器中隨便輸入一個(gè)用戶名、密碼,執(zhí)行登錄操作,這樣在 BP 工具攔截模塊中可以攔截到這個(gè)請(qǐng)求

點(diǎn)擊「 Action 」按鈕,選擇將數(shù)據(jù)包發(fā)送給 Intruder 模塊



然后,在 Intruder 模塊中配置 5 個(gè)功能標(biāo)簽

PS:一般來(lái)說(shuō),Target 標(biāo)簽保持默認(rèn)即可,不需要另外進(jìn)行配置






在 Positions 標(biāo)簽下,我們需要先點(diǎn)擊右側(cè)的「 Clear § 」按鈕來(lái)清除默認(rèn)的參數(shù)標(biāo)簽

然后鼠標(biāo)選擇需要設(shè)置為變量的值,點(diǎn)擊右側(cè)的「 Add § 」按鈕來(lái)設(shè)置它為變量

注:這里為了演示方便,只將用戶名、密碼設(shè)置為變量



這里攻擊類型我們選擇「 Cluster bomb 」,讓所有用戶名和密碼隨機(jī)組合進(jìn)行攻擊

接著,我們?cè)?Payloads 標(biāo)簽下,根據(jù)參數(shù)索引對(duì)用戶名、密碼配置不同的數(shù)據(jù)集

需要指出的是,數(shù)據(jù)集可以從本地文件中導(dǎo)入,也可以手動(dòng)添加或者從剪切板中粘貼

這里 Resource Pool 和 Options 配置頁(yè)面保持默認(rèn)即可



最后,點(diǎn)擊右上角的「 Start attack 」按鈕對(duì)目標(biāo)網(wǎng)站進(jìn)行密碼爆破,結(jié)果會(huì)以彈框的形式進(jìn)行展示



這樣,我們通過(guò)響應(yīng)結(jié)果可以很直觀地判斷出目標(biāo)網(wǎng)站可用的賬戶組合數(shù)據(jù)

4、補(bǔ)充一下

面對(duì)一些簡(jiǎn)單的網(wǎng)站,在用戶名、密碼字典數(shù)據(jù)完善的前提下,使用上面的步驟進(jìn)行密碼爆破的幾率很高

但是針對(duì)一些包含驗(yàn)證碼的網(wǎng)站,我們需要多一步識(shí)別驗(yàn)證碼的操作,然后在 Payloads 功能標(biāo)簽下將圖片識(shí)別結(jié)果設(shè)置到參數(shù)中去



這里推薦一個(gè) BP 插件「 captcha-killer 」,受限于篇幅,這部分內(nèi)容大家可以自行擴(kuò)展

https://github.com/c0ny1/captcha-killer

作者:星安果


歡迎關(guān)注微信公眾號(hào) :AirPython