hananelk26/EchoLink-C2-Framework

GitHub: hananelk26/EchoLink-C2-Framework

一个轻量级C2框架,演示Python/Flask服务端与原生C++ Windows Agent之间的异步命令控制通信。

Stars: 0 | Forks: 0

# EchoLink C2 框架 🛡️ 一个自定义、轻量级的命令控制 (C2) 框架,旨在演示中央 Web Dashboard 与原生 Windows C++ Agent 之间的异步通信。 ![EchoLink Dashboard Execution](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8d8d6bf4ed053107.png) ## 🚀 功能特性 * **异步 C2 架构:** 实现基于拉取的 Beaconing 机制,无需在目标机器上开放端口。 * **原生 Windows Agent:** 使用 C++ 编写,利用原生 `WinHTTP` API 进行隐蔽的底层网络通信。 * **安全的 Operator Dashboard:** 一个使用 JSON Web Tokens (JWT) 保护的单页面应用 (SPA),防止未经授权的访问。 * **RESTful Python 后端:** 基于 Flask 和 SQLAlchemy (SQLite) 构建,作为中央状态机和数据代理。 * **实时终端 UI:** 具有动态、自动滚动的终端界面,可无缝执行命令并查看输出。 ## 🧠 架构概览 ![Multi-Agent Beaconing](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/a907d84fff053109.png) 该框架采用解耦架构,确保 Operator 与目标永不直接通信: 1. **The Agent (C++):** 运行在目标 Windows 机器上。它向服务器注册,并定期轮询(Beaconing) `/tasks/` 端点以检索待处理命令。 2. **The Server (Python/Flask):** 充当中介。它验证 Operator 的 JWT,将命令作为 `pending`(待处理)状态存储在 SQLite 数据库中,并在 Agent 回传执行结果后将其更新为 `completed`(已完成)。 3. **The Dashboard (JS/HTML):** Operator 的操作界面。它持续轮询安全 API,以提供在线 Agent 及其执行历史的实时视图。 ## 🛠️ 技术栈 * **Backend:** Python 3, Flask, SQLAlchemy, PyJWT * **Frontend:** HTML5, CSS3, Vanilla JavaScript (Fetch API) * **Agent:** C++, Windows API (WinAPI), WinHTTP * **Database:** SQLite ![SQLite Task Queue](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/754e32243b053110.png) ## ⚙️ 快速开始 ### 前置条件 * Python 3.8+ * Visual Studio 2019/2022(带有 C++ Desktop Development 工作负载) ### 1. 服务器设置 克隆仓库并设置 Python 环境: ``` git clone https://github.com/hananelk26/EchoLink-C2-Framework.git cd EchoLink-C2-Framework/Server ``` ### 安装所需依赖 ``` pip install flask flask-sqlalchemy pyjwt ``` ### 运行 C2 Server ``` python app.py ``` ### 服务器将自动初始化 SQLite 数据库并监听 `http://0.0.0.0:5000`。 ### 2. Agent 编译 1. 在 Visual Studio 中打开 `Agent.sln`。 2. 将构建配置设置为 **Release | x64**。 3. 构建解决方案。编译后的 `.exe` 将在 `x64/Release` 文件夹中生成。 ## 💻 使用方法 1. 打开 Web 浏览器并访问 `http://localhost:5000`。 2. 使用默认的 Operator 凭证登录(可在 `app.py` 中配置)。 3. 在 Windows 机器上执行编译后的 C++ Agent。 4. Agent 将在左侧边栏显示为 **Online**(在线)。 5. 选中 Agent 并使用终端界面发送标准 Windows CMD 命令(例如 `whoami`、`ipconfig`、`dir`)。 ## 🔒 安全注意事项 目前,Agent 通信是通过标准 HTTP(明文)进行的。未来的迭代将包括基于 XOR 的 Payload 加密和 HTTPS (TLS) 支持,以实现规避和安全传输。
标签:Beacon, C2框架, C2通信, C++ Agent, Flask, HTTP工具, IP 地址批量处理, Python, SQLAlchemy, WinAPI, WinHTTP, 中高交互蜜罐, 命令控制, 安全学习资源, 异步通信, 恶意软件开发, 攻击模拟, 数据可视化, 数据采集, 无后门, 网络安全, 远控, 逆向工具, 隐私保护, 驱动签名利用