CroodSolutions/BeaconatorC2
GitHub: CroodSolutions/BeaconatorC2
BeaconatorC2 是一个模块化的红队对抗模拟 C2 框架,提供 beacon 管理界面和可扩展的 beacon 通信标准,帮助防御团队复现和测试对手规避技术。
Stars: 95 | Forks: 15
# BeaconatorC2
## --- 简介 ---
BeaconatorC2 诞生于围绕 EDR 规避、LOLBINs、逃逸到主机漏洞,特别是像 AutoIt 和 AutoHotkey 这样具有可移植解释器的脚本语言的几项其他研究计划。我们所需要的是一个快速简便的流程,以便在受限或文档匮乏的语言和环境中(例如 WWB-COM 或 AIX 大型机)设置 beacon。我们开发了 BeaconatorC2 来填补这一空白,提供了一个简单且模块化的通信标准和管理应用程序,以支持任何类型的 beacon。这样,一旦我们找到新的执行路径,就能快速构建受支持的 beacon,从而进行后续的利用。
## --- 道德标准 / 行为准则 ---
该项目旨在帮助更好地测试产品、配置、检测工程以及整体安全态势,以防御对手正在野外积极使用的一系列技术。只有当我们拥有工具和资源来以有效的方式复刻对手所使用的方法时,我们才能成功地进行防御以对抗规避策略。参与该项目和/或使用这些工具,意味着具有出于善意且合乎道德地使用这些工具以帮助更好地保护/防御的意图,以及遵守行业所有适用法律和标准的意图。作为该项目一部分所表达的观点均为个人贡献者的观点,并不代表我们的雇主或任何附属组织的观点。
## --- 说明与概述 ---
### 入门指南
前置条件
- Python 3.8 或更高版本(推荐使用 Python 3.10+)
- Git,用于克隆仓库
- pip,用于安装 Python 包
安装说明
1. 克隆仓库
git clone https://github.com/croodsolutions/BeaconatorC2.git
cd BeaconatorC2
2. 创建虚拟环境(推荐)
Windows:
python -m venv venv
venv\Scripts\activate
Linux/macOS:
python3 -m venv venv
source venv/bin/activate
3. 安装必需的包
pip install -r requirements.txt
注意:在某些 Linux 发行版上,您可能需要为 PyQt6 安装额外的系统包:
#### Ubuntu/Debian
sudo apt-get install python3-pyqt6 libgl1 libxcb-cursor0
#### Fedora/RHEL
sudo dnf install python3-pyqt6 mesa-libGL libxcb-cursor
4. 运行 BeaconatorC2
Windows:
python BeaconatorC2-Manager.py
Linux/macOS:
python3 BeaconatorC2-Manager.py
首次设置
1. 启动应用程序:GUI 将打开并显示主仪表板
2. 配置 Receivers:导航到“Receivers”选项卡以设置您的第一个 Receiver(TCP、HTTP 等)
3. 部署 Beacon:使用 `beacons/` 目录中的任一示例 beacon:`python beacons/simple_python_beacon.py --server 127.0.0.1 --port 5074`
4. 分配 Schema:当您的 beacon 出现在仪表板中时,在 beacon 设置选项卡中为其分配一个适当的 schema(例如 simple_python_beacon.yaml)
5. 执行命令:使用命令界面与您的 beacon 进行交互
快速测试
要快速验证您的安装:
1. 启动 BeaconatorC2-Manager
2. 进入 Receivers 选项卡 → 添加新的 Receiver → 在端口 5074 上使用 TCP
3. 在另一个单独的终端中,运行:
python beacons/simple_python_beacon.py --server 127.0.0.1 --port 5074
4. 您应该会看到该 beacon 出现在主仪表板中
可选:Metasploit 集成
要启用 Metasploit 集成功能:
1. 安装 Metasploit Framework
2. 启动 RPC 守护进程:
`msf > load msgrpc ServerHost=127.0.0.1 ServerPort=55553 User=(user) Pass='(password)' SSL=false`
3. 在 BeaconatorC2 的 Metasploit 选项卡下配置连接
后续步骤
- 查看 Architecture.md 以了解系统设计
- 查看 communication_standards.md 了解 beacon 协议详情
- 浏览 `schemas/` 目录以了解 beacon 能力定义
- 查看 `beacons/` 获取各种语言的示例 beacon 实现
## --- MacOS 代码执行演示 ---
https://github.com/user-attachments/assets/5b11c1ad-e887-41de-a08e-7070f7835856
## --- 致谢 ---
由 [shammahwoods](https://github.com/shammahwoods) 创建的 Beaconator 管理界面
主要贡献者,包括直接贡献以及因为我们使用了先前工作的构建模块:
- 0xcc(关于 ntds_dump 的想法)
- [christian-taillon](https://github.com/christian-taillon)
- [Duncan4264](https://github.com/Duncan4264)
- [flawdC0de](https://github.com/flawdC0de)
- [Kitsune-Sec](https://github.com/Kitsune-Sec)
- [AnuraTheAmphibian](https://github.com/AnuraTheAmphibian)
- Tomer Saban(最初项目的灵感来源)
- Matt Clark(MacOS 研究)
- Brandon Stevens(MacOS 研究)
- Daniel Addington(MacOS 研究)
- Jordan Mastel(RMM 贡献,用于互操作性)
- [BiniamGebrehiwot1](https://github.com/BiniamGebrehiwot1)
标签:C2框架, EDR免杀, IP 地址批量处理, Python, TGT, 安全学习资源, 攻防演练, 无后门, 知识库安全, 红队框架, 网络信息收集, 逆向工具