Brutus:一款模塊化的高度可擴(kuò)展漏洞利用框架
關(guān)于Brutus
Brutus是一款功能強(qiáng)大的漏洞利用框架,該框架基于模塊化開發(fā),并且具備高度可擴(kuò)展特性。除此之外,Brutus還采用多任務(wù)和多進(jìn)程架構(gòu),因此具備高性能特性。
Brutus基于Python開發(fā),可以自動(dòng)化基于網(wǎng)絡(luò)的漏洞利用測試和基于Web的網(wǎng)絡(luò)偵察活動(dòng)。作為一個(gè)輕量級(jí)框架,Brutus旨在最大限度地減少對第三方依賴的依賴。Brutus針對Kali Linux進(jìn)行了優(yōu)化,它還與macOS和大多數(shù)Linux發(fā)行版兼容,具有完全交互式的命令行界面和多功能插件系統(tǒng)。
Brutus具有高度可擴(kuò)展的模塊化體系結(jié)構(gòu),這些模塊在“任務(wù)層”上運(yùn)行,而任務(wù)層由線程池和線程安全異步隊(duì)列組成。主線程在一個(gè)多進(jìn)程池上運(yùn)行,該池管理應(yīng)用程序上下文并分派新進(jìn)程,以便任務(wù)可以在后臺(tái)或單獨(dú)的Shell中運(yùn)行。
Brutus的UI層也是可擴(kuò)展的,默認(rèn)情況下,Brutus附帶有一個(gè)基于菜單的命令行界面UI,但廣大研究人員可以自行添加GUI、參數(shù)解析器以及HTTP API等等。
除此之外,Brutus有一個(gè)實(shí)用程序?qū)?,它具有文件系統(tǒng)操作、Shell管理、持久化方法和系統(tǒng)元數(shù)據(jù)的通用功能。
功能介紹
Brutus包括幾個(gè)模塊,這些模塊可以概括為三大類:基于網(wǎng)絡(luò)的、基于Web的和Payload。最后一類是一個(gè)編譯器庫,附帶有Payload,而Brutus的交互式命令行菜單可以編譯這些Payload,隨后將其加載至Brutus的其他基于網(wǎng)絡(luò)的模塊中。
Brutus的底層利用POSIX線程進(jìn)行并發(fā)多任務(wù)處理,有些模塊還使用Python的異步I/O庫。
包含的實(shí)用工具/腳本:
- IP表管理
- HTTPS降級(jí)至HTTP
- 啟用監(jiān)控模式
- 啟用端口轉(zhuǎn)發(fā)
- 鍵盤記錄
工具安裝
首先,我們需要安裝并配置好下列依賴組件:
- sslstrip
- pipenv
Brutus專門針對Kali Linux系統(tǒng)進(jìn)行過優(yōu)化,網(wǎng)上也有很多關(guān)于如何在虛擬機(jī)中運(yùn)行Kali Linux的資料了,因此我們在這里不再進(jìn)行贅述。
安裝好依賴組件之后,我們可以運(yùn)行下列命令將該項(xiàng)目源碼克隆至本地,并進(jìn)行工具安裝:
- git clone https://github.com/MatthewZito/brutus.git
- pipenv install
工具使用
工具運(yùn)行:
- pipenv run brutus
執(zhí)行測試:
- pipenv run test
Lint:
- pipenv run lint
配置Git Hook開發(fā)環(huán)境:
- pipenv run setup
工具使用演示
GIF:【點(diǎn)我查看】
工具演示視頻
視頻地址:【點(diǎn)我觀看】
項(xiàng)目地址
Brutus:【GitHub傳送門】