ConvoC2 使用与启动教程
1. 项目介绍
ConvoC2 是一个命令与控制(C2)基础设施,允许红队成员通过 Microsoft Teams 在被攻陷的主机上执行系统命令。该工具通过将数据渗透到 Microsoft Teams 消息中的隐藏 span 标签,并将命令输出渗出至 Adaptive Cards 图像 URL 中,从而触发对 C2 服务器的外部请求。这种通信方式由于不直接在受害者和攻击者之间进行,且防病毒软件不会检查 MS Teams 的日志文件,因此更难以被检测。
2. 项目快速启动
服务器端
-
下载服务器端文件:
wget https://github.com/cxnturi0n/convoC2/releases/download/v0.1.0-alpha/convoC2_server_amd64.tar.gz tar -xzvf convoC2_server_amd64.tar.gz --one-top-level
-
启动服务器,并查看帮助文档:
./convoC2_server_amd64 -h
服务器使用参数如下:
-t, --msgTimeout
:等待命令输出的时间(默认 30 秒)-b, --bindIp
:绑定 IP 地址(默认 0.0.0.0)
客户端
-
下载客户端文件:
wget https://github.com/cxnturi0n/convoC2/releases/download/v0.1.0-alpha/convoC2_agent.tar.gz tar -xzvf convoC2_agent.tar.gz --one-top-level
-
启动客户端,并查看帮助文档:
C:\Windows>convoC2_agent.exe -h
客户端使用参数如下:
-v, --verbose
:启用详细日志(默认关闭)-s, --server
:C2 服务器 URL(例如 http://10.11.12.13/)-t, --timeout
:轮询 Teams 日志文件的超时时间(默认 1 秒)-w, --webhook
:Teams Webhook POST URL-r, --regex
:匹配命令的正则表达式(默认<span[^>]*aria-label="([^"]*)"[^>]*></span>
)
3. 应用案例和最佳实践
- 在 Microsoft Teams 中创建一个带有工作流入站 Webhook 的频道,用于接收 Adaptive Cards 包含的输出。
- 确保保持一个浏览器窗口打开该频道,以便服务器可以接收到来自代理的消息。
- 使用 Web 代理截获请求以获取必要的 ID 和身份验证令牌。
- 确保受害者主机上运行 Teams,可以是后台运行。
4. 典型生态项目
目前 ConvoC2 项目主要集中在 Microsoft Teams 的命令与控制基础设施上,但类似的原理可以应用于其他即时通讯平台。未来的扩展项目可能包括:
- 对消息进行 AES 加密以提高安全性。
- 实现保活机制以检测代理是否死亡。
- 开发适用于 PowerShell 的代理版本。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考