开源项目安装与配置指南——ConvoC2
1. 项目基础介绍
ConvoC2 是一个开源的命令与控制(C2)基础设施,允许红队成员通过 Microsoft Teams 在被攻陷的主机上执行系统命令。该工具通过将命令隐藏在 Microsoft Teams 消息中的 span 标签内,并将命令输出通过 Adaptive Cards 的图片 URL 发送出去,实现了一种隐蔽的通信方式。由于受害者仅向 Microsoft 服务器发送 HTTP 请求,并且防病毒软件通常不会检查 Teams 的日志文件,这使得检测变得更加困难。
该项目主要使用的编程语言是 Go。
2. 关键技术和框架
- Go 语言:用于开发 C2 服务器和代理。
- BubbleTea:一个 Go 语言的框架,用于构建 TUI(文本用户界面)。
- Microsoft Teams:作为通信媒介,利用其消息传递功能进行命令和输出的传输。
- 正则表达式:用于匹配并提取消息中的命令。
- HTTP 请求:与 Microsoft Teams API 进行交互,实现消息的发送和接收。
3. 安装和配置准备工作
在开始安装和配置 ConvoC2 前,请确保以下准备工作已完成:
- 安装 Go 开发环境。
- 准备一个公共 facing 主机,允许 80 端口上的入站 HTTP 流量。
- 在 Microsoft Teams 中创建一个频道并设置 Workflow Incoming Webhook。
- 获取 Microsoft Teams API 调用所需的 IDs 和认证令牌。
安装和配置步骤
1. 克隆项目
首先,从 GitHub 克隆 ConvoC2 项目到本地环境:
git clone https://github.com/cxnturi0n/convoC2.git
cd convoC2
2. 安装依赖
使用 go mod
命令安装项目依赖:
go mod tidy
3. 配置 C2 服务器
编辑 convoC2_server_amd64
的配置文件,设置以下参数:
--msgTimeout
:等待命令输出的时间。--bindIp
:绑定到服务器的 IP 地址。
配置完成后,启动服务器:
./convoC2_server_amd64
4. 配置代理
将 convoC2_agent.tar.gz
解压到 Windows 主机上,并配置以下参数:
--verbose
:开启详细日志。--server
:C2 服务器的 URL。--timeout
:轮询 Teams 日志文件的超时时间。--webhook
:Teams Webhook 的 POST URL。--regex
:用于匹配命令的正则表达式。
配置完成后,启动代理:
convoC2_agent.exe
5. 测试
在配置好服务器和代理后,可以通过发送测试消息到 Teams 来验证是否能够成功执行命令并接收输出。
请确保按照项目的使用说明进行操作,并时刻注意系统的安全性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考