ebx32/higgsc2

GitHub: ebx32/higgsc2

一个基于 Rust beacon 和 Python Flask 服务端的概念验证级 C2 框架,提供 Web 界面来管理 beacon、下发命令并追踪执行结果。

Stars: 0 | Forks: 0

# Higgs C2 文档 ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/64/6428f6e2cd08922b5ff1b7f20ece76fbd8822a900190ff4b78dbd2ccb11c5bf0.png) ## 设置环境 1. 安装系统依赖 对于 Fedora 44: ``` sudo dnf install python3 python3-pip python3-venv rust cargo mingw64-gcc mingw64-binutils -y ``` 2. 添加 rust Windows 交叉编译目标 在你的 `Cargo.toml` 所在目录(默认:`/beacon-rs`)运行此命令。 ``` rustup target add x86_64-pc-windows-gnu ``` 3. 在 `config.toml` 中添加 linker ``` [target.x86_64-pc-windows-gnu] linker = "x86_64-w64-mingw32-gcc" ``` 4. 为服务器安装 python 依赖 在你的 `app.py` 所在的服务器子目录中运行此命令。 ``` cd server python3 -m venv env source env/bin/activate pip install -r requirements.txt ``` 5. 构建 beacon 并将其下载到你的虚拟机上 这可以通过运行 `scripts/` 中的 bash 脚本来完成 ``` chmod +x scripts/build.sh ./scripts/build.sh ``` 或者也可以手动完成。 ``` cargo build --release --target x86_64-pc-windows-gnu ``` Windows 可执行 beacon 文件存储在 `assets/beacons.exe` 中。为了演示,你可以运行 `assets/host_file.sh` 将其移动到你的虚拟机中,该脚本会运行一个 python 服务器供你的 VM 连接。 ``` assets ├── beacon.exe <-- ├── host_file.sh ├── Screenshot_20260520_133727.png └── Screenshot_20260520_133842.png ``` `scripts/build.sh` 会通过 `grep` 扫描 `ip addr show wlo1` 的标准输出(STDOUT),并使用 `sed` 命令行工具将 `beacon-rs/src/config.rs` 中的 IP 地址替换为你当前的 IP 地址。 如果无法通过 VM 连接,你可能需要在防火墙中开放该端口。 ``` sudo firewall-cmd --add-port=8080/tcp --permanent sudo firewall-cmd --reload ``` ## 附加信息 你可能需要关闭 Windows Defender,它很可能会阻止下载或运行该可执行文件。 数据库 (c2.db) 会持久化所有内容;beacons、tasks 和 results 在服务器重启后依然会保留。 重启 VM 并不会使重启前运行的 beacon 失效。每台机器只会被分配一个 beacon,该 beacon 存储在: ``` C:\Users\Alder\AppData\Local\Temp\.beacon_id ``` 你可以通过运行 `scripts/restart.sh` 并删除位于 VM 上的 UUID 文件(路径为 `del %USERPROFILE%\AppData\Local\Temp\.beacon_id`)来重新启动一次测试任务。每次你在目标主机上运行 `beacon.exe` 时,该文件都会被重新创建。 ## 如何运行模拟 1. 运行 flask 服务器 ``` cd server source venv/bin/activate python app.py ``` 这将启动一个开发服务器,为 Higgs C2 提供 Web 应用程序接口。 ## 浏览 Higgs C2 Web 界面 你可以使用左侧的导航面板浏览 Web 界面,该面板包含了控制已部署 beacon 所需的一切功能。 1. 已注册的 beacons 会显示在 `Beacons` 标签页中 ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/40/408306161a1872919003a89a6102447cadb08af501194731e1aa083320938ff0.png) 你可以查看 beacon 的信息,例如运行它的目标 OS 及架构、它的 UUID 以及它的任务队列。你也可以在这里查看已完成任务的结果。 2. 命令可以通过 `Commands` 标签页发送 ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/62/62d29b87b72f7c9d589790f9bde06ea805db9640b28fcca82af6335618972dd9.png) 要发送命令,你必须从下拉菜单中选择一个 beacon。然后你可以: 1. 输入并发送你自己的命令 2. 使用现有的或创建一个预设命令 未来这里还有更多功能可以开发。 3. beacon 的命令历史记录显示在 `History` 中 ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/c1/c1f2db8fdd125dbdd533410880a40e0cc1b602dadc6279126dd2f87979656ef8.png) 你可以查看 beacon 的命令历史记录及其各自的结果,前提是它们已成功完成。
标签:C2框架, Gophish, IP 地址批量处理, Python, Rust, TGT, 可视化界面, 安全学习资源, 攻防演练, 无后门, 网络信息收集, 网络流量审计, 跨平台编译, 逆向工具