如何使用Bluffy将Shellcode转换成不同格式并测试AV的安全性

日期: 栏目:工具 浏览:1168 评论:0

如何使用Bluffy将Shellcode转换成不同格式并测试AV的安全性-第1张图片-Ceacer网络

关于Bluffy

Bluffy是一款功能强大的反病毒产品静态安全测试工具,该工具可以将Shellcode转换为各种看似真实的数据格式,以实现反病毒产品的绕过,从而测试反病毒产品的安全性能。

Bluffy同时也是一个PoC概念验证工具,类似于0xBokuNinja_UUID_RunnerChoiSGUuidShellcodeExec

目前,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的安全性-第2张图片-Ceacer网络

项目地址

Bluffy:GitHub传送门

参考资料

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


标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看