天天看點

如何使用Bluffy将Shellcode轉換成不同格式并測試AV的安全性

如何使用Bluffy将Shellcode轉換成不同格式并測試AV的安全性

關于Bluffy

Bluffy是一款功能強大的反病毒産品靜态安全測試工具,該工具可以将Shellcode轉換為各種看似真實的資料格式,以實作反病毒産品的繞過,進而測試反病毒産品的安全性能。

Bluffy同時也是一個PoC概念驗證工具,類似于0xBoku的Ninja_UUID_Runner和ChoiSG的UuidShellcodeExec。

目前,Bluffy已經實作了下列格式轉換:

UUID

CLSID

SVG

CSS

CSV

依賴元件

在使用Bluffy之前,我們需要確定本地安裝并配置好下列依賴元件。

該工具基于Python語言開發,是以需要先在本地裝置上安裝并配置好Python 3.9或更高版本環境:

sudo apt install python3.9

rich安裝

sudo pip3 install rich

pcre2.8

針對Ubuntu:

$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description:  Ubuntu 21.04

Release:  21.04

Codename: hirsute           

複制

為了連接配接“libpcre2-8.a”,還需要将其引入至下列檔案:

/usr/lib/gcc/x86_64-w64-mingw32/10-win32           

複制

對于擷取Header和lib檔案,則需要使用MSYS2,或者是Mingw64:

sudo apt install mingw-64

sudo wget https://packages.msys2.org/package/mingw-w64-x86_64-pcre2?repo=mingw64 -P /usr/lib/gcc/x86_64-w64-mingw32/10-win32           

複制

工具下載下傳&安裝

接下來,使用下列指令将該項目源碼克隆至本地:

git clone https://github.com/ad-995/bluffy.git           

複制

工具使用

我們可以使用Bluffy來建構一個Payload,并擷取我們的源碼檔案。比如說,我們這裡使用calc.bin來作為示範,這個檔案将加載calc.exe來作為概念驗證。由于Bluffy會使用隐寫術來防止靜态分析,并将相關代碼隐藏到其他合法檔案之中,是以我們需要進行額外的分析來確定Payload能夠繞過動态檢測機制。

運作Bluffy,選擇一個掩碼并提供我們的.bin檔案:

python ./bluffy.py -b calc.bin -m css -x           

複制

檢查你的Payload,然後建構代碼。在建構Payload時,需要拷貝Bluffy建立的.h檔案,并将其重命名為css.c,然後運作make指令将其建構為可執行程式,并使用提供的樣例進行測試:

mv css.h examples/css/css.h

cd examples/css

make           

複制

上述指令将會使用一個“main.c”檔案來建構一個Windows可執行程式。如果你還是用了calc.bin,此時你将會看到一個新的電腦視窗彈出來,如果電腦運作成功,恭喜你你的操作完全正确!

工具使用示範

如何使用Bluffy将Shellcode轉換成不同格式并測試AV的安全性

項目位址

https://github.com/ad-995/bluffy

參考來源

https://github.com/boku7/Ninja_UUID_Runner

https://github.com/ChoiSG/UuidShellcodeExec

https://twitter.com/michaeljranaldo

https://twitter.com/__mez0__

https://packages.msys2.org/base/mingw-w64-pcre2

https://pcre.org/

https://ad-995.group/posts/bluffy/bluffy.html