Abdullah-ElPsyKo/Modular-C2-Framework
GitHub: Abdullah-ElPsyKo/Modular-C2-Framework
一个基于 Python 的模块化后渗透 C2 框架,通过动态 JSON 配置实现运行时模块加载,用于安全研究中分析命令与控制传输机制及终端侦察技术。
Stars: 0 | Forks: 0
# 模块化 C2 框架与后渗透 Agent
## 操作安全与道德声明
该框架专为研究、防御工程和在教育目的下,于隔离的实验室环境中开发。所有测试和验证均在经授权的自托管基础设施上执行,旨在分析命令与控制 (C2) 传输机制和终端工件生成。
## 项目概述
本项目包含一个用 Python 编写的模块化后渗透 agent,利用了动态运行时架构。该框架旨在将核心执行引擎与各个功能任务解耦,允许通过集中式配置加载、更新或切换组件,而无需更改主代码库。
## 技术架构
### 核心引擎 (`main.py`)
* **动态模块加载:** 根据编排规则实现功能模块的运行时导入。
* **异步执行:** 处理调度、模块轮询循环和状态持久化。
* **C2 传输层:** 原生集成 GitHub API,利用安全的私有仓库作为带外通信通道,用于接收配置和提取遥测数据。
### 配置规范 (`config.json`)
基础设施配置通过以下参数动态控制 agent 行为:
* `poll_interval`:控制操作信标频率(默认:60秒)。
* `modules`:指定在运行时主动编译和执行的战术模块。
## 子系统功能
### 1. 网络枚举与情报 (Portscanner)
基于 Python 的 `threading` 原语设计,确保在进行高吞吐量网络分析的同时,将竞态条件降至最低。
* **目标扫描:** 扫描任意 IP 地址范围或用户自定义的端口列表。
* **服务映射:** 对常用服务端口(`22`、`80`、`443`)进行针对性验证。
* **子网发现:** 发现指定网络块内的活动主机。
* **被动 OS 指纹识别:** 利用 ICMP 生存时间 (TTL) 边界分析推断远程操作系统类型。
* **DNS 解析:** 执行反向查询以提取主机名和域名详情。
### 2. 终端侦察 (系统枚举)
对主机状态和活动配置边界进行深度检查。
* **进程审计:** 枚举主机上运行的所有活动执行进程。
* **网络状态:** 映射当前网络配置(IP、网关、子网掩码)和活动的 socket 连接。
* **身份管理:** 识别当前执行上下文并列出本地系统用户。
* **硬件与存储:** 提取物理卷分区、磁盘利用率指标和系统硬件规格。
* **无线侦察:** 列出可用的本地 IEEE 802.11 无线网络。
### 3. 远程访问 (Backdoor)
* **反向 Shell 传输:** 建立回到指定监听器的 TCP socket 连接。
* **命令交互:** 接收、解析并执行来自管理基础设施的任意 shell 指令,返回原始的 stdout/stderr 输出。
## 实验室验证与工程反思
### 性能验证
测试在隔离的虚拟基础设施中进行,以监控执行稳定性和工件占用空间:
* **传输可靠性:** GitHub API 信标循环运行正常,遥测数据集零丢失。
* **并发优化:** 早期开发中发现在大容量端口扫描期间存在轻微的同步异常和竞态条件。这些问题通过实施全局线程锁 (`Threading.Lock`) 和优化 socket 超时处理得到了缓解。
### 关键要点
* **可扩展软件设计:** 开发即插即用的模块加载器,让我们深入了解了适用于可扩展企业软件的强大架构模式。
* **多线程性能:** 处理并发 socket 连接凸显了在系统级工具中进行确定性资源管理和线程同步的关键必要性。
## 交付物与工件
* **源代码架构:** 完整的核心引擎 (`main.py`)、模块化配置映射 (`config.json`) 以及战术模块套件。
* **版本控制管理:** 在受限的 GitHub 仓库结构中维护,以隔离测试遥测数据和代码资产。
* **操作视频演示:** 一份全面的执行演示视频,展示了 C2 基础设施与部署 agent 的交互过程。
* **链接:** [https://youtu.be/RH3AChMOpz4](https://youtu.be/RH3AChMOpz4)
标签:C2框架, Homebrew安装, Python, 云存储安全, 后渗透框架, 安全学习资源, 插件系统, 数据泄露, 无后门, 网络信息收集, 网络安全, 网络扫描, 逆向工具, 隐私保护