Re-upload history

This commit is contained in:
TermiNexus committed 2026-07-28 03:21:34 +08:00
1 parent f28e26558d
commit 90916315b9
317 files changed
+73601 -73293

No files matched your search

+273 -169
View File
@@ -1,145 +1,215 @@
# Termination4
## 项目简介
> **开源 · 大规模 APT 武器病毒 · 教学示范**
>
> 一个面向网络安全教学与攻防研究的大型 APT(高级持续性威胁)武器化病毒开源项目。
> 原生基于 Python 实现,受限于 Python 运行效率,仅作为教学示范;
> 经 **Viper** 工具链改装后,可提供更接近真实 APT 行为特性的高质量教学效果。
Termination4 是一个基于 Python 的网络测试与数据采集框架,用于内网环境中的大规模网络行为测试和数据收集。
---
## 版本信息
## 一、项目简介
- **当前版本**: 4.2.0
- **编译版本**: 407
- **作者**: Veyra
### 1.1 项目定位
## 技术架构
Termination4(全称 *Termination Generally Use Cyber Virus Puppet Weapons*)是一个**开源的大规模 APT 武器病毒**项目,目标是完整复现真实 APT 攻击链路,供安全研究人员、红蓝对抗学习者、高校网络安全教学使用。
### 核心技术栈
项目覆盖 APT 杀伤链的全部核心阶段:
- **编程语言**: Python 3.12
- **编译工具**: Nuitka / PyInstaller
- **网络通信**: Socket.IO
- **加密方式**: OpenSSL + 自定义加密
- **系统接口**: C 扩展 (CDLL)
- **初始投放与感染**(Initial Access & Infection)
- **持久化驻留**(Persistence)
- **命令与控制**(Command & Control, C2)
- **横向移动与传播**(Lateral Movement & Propagation)
- **信息收集与回传**(Collection & Exfiltration)
- **反检测与对抗**(Defense Evasion)
- **远程控制**(Remote Control)
### 主要组件
### 1.2 为什么是"教学示范"
#### 1. 网络传输模块 (TWNT)
本项目**完整实现了 APT 的行为模型与代码结构**,但存在一个根本性瓶颈:
- Socket.IO 客户端通信
- WebSocket 加密传输
- 自动重连机制
- 远程命令执行
> **Python 的运行效率不足以支撑真实大规模 APT 武器的实战需求。**
#### 2. 工作线程模块 (TWNTWork)
具体表现为:
- **MonitorWorker**: 系统硬件监控
- CPU 使用率
- 内存使用情况
- 网络流量统计
| 瓶颈维度 | Python 原生实现的局限 |
|:-|:-|
| **执行效率** | 解释执行,CPU 密集型任务(加密、压缩、图像处理)吞吐量低 |
| **内存占用** | 对象模型开销大,大规模并发感染时内存膨胀严重 |
| **启动速度** | 解释器初始化 + 模块导入耗时,影响投递后的快速响应 |
| **隐蔽性** | 进程特征明显,易于被 EDR 通过解释器特征识别 |
| **分发体积** | 携带完整运行时,体积大、特征强 |
- **ListenKMWorker**: 输入设备监听
- 键盘事件捕获
- 鼠标事件捕获
- 屏幕区域截图
因此,**Python 原生版本仅适合作为静态代码阅读、行为分析、攻防原理教学使用**,不具备实战部署能力。这恰好满足"教学示范"的核心诉求:**结构清晰、可读性高、行为可追溯、便于在隔离环境中观察分析。**
- **TWNTProcessSynchronousWorker**: 进程同步
- 线程状态监控
- 进程状态监控
### 1.3 Viper 改装:从教学示范到高质量教学
- **TWNTCoverScreen**: 屏幕监控
- 定时截图上传
- 图像压缩传输
为弥补 Python 效率瓶颈,项目引入 **Viper** 工具链进行改装。Viper 是一套将 Python 源码编译为高效本地代码的工具链,改装后带来以下教学增益:
- **TWNETProcess**: 命令处理
- Python 代码执行
- CMD 命令执行
- PowerShell 命令执行
| 改装方向 | Viper 改装后的教学价值 |
|:-|:-|
| **性能接近真实 APT** | 本地编译执行,CPU/IO 吞吐量显著提升,使教学演示中的时序、规模更贴近实战 |
| **行为时序还原** | 解决 Python 版因效率失真导致的"演示不像真 APT"问题,让学员观察到真实的感染速率、回传频率 |
| **二进制分析教学** | 编译产物可作为逆向工程样本,支撑二进制静态分析、特征码识别教学 |
| **反检测对抗教学** | 失去 Python 解释器特征后,可在受控环境中演示更真实的 EDR 对抗场景 |
| **跨阶段联调** | 高效执行使全链路联动(感染 → 驻留 → C2 → 回传)成为可演示的整体 |
#### 3. 任务表模块 (LW3T)
> **教学建议**:静态代码阅读与原理讲解使用 Python 原生源码;动态行为演示与时序分析使用 Viper 改装版本。两者配合可获得最佳教学效果。
- 本地任务管理
- 定时任务调度
- 任务执行回调
---
#### 4. 感染模块 (InfectionWorker)
## 二、版本信息
- 移动设备检测
- 文件感染标记
- 磁盘索引
- **当前版本**:4.2.0
- **编译版本**:407
- **作者**:Veyra
- **项目地址**:https://github.com/GVSADS/Termination4
- **配套项目**:https://github.com/GVSADS/Termination(未完全同步)
#### 5. 辅助模块
---
- **AntiVirusSoftware**: 安全软件检测
- **AutoRun**: 自启动配置
- **AdministratorMode**: 权限管理
- **WorkSpaceDeployer**: 工作目录部署
## 三、技术架构
## 项目结构
### 3.1 核心技术栈
- **主语言**:Python 3.12
- **改装工具链**:Viper(Python → 本地代码编译)
- **打包编译**:Nuitka / PyInstaller
- **C 扩展构建**:CMake + Ninja
- **运行时 C 编译**:TinyCC(见 `TPcc/`,用于运行期快速编译 C 扩展)
- **网络通信**:Socket.IO / WebSocket
- **加密体系**:OpenSSL + 自研 GodKeys 弱对称加密
- **系统接口**:C 扩展(CDLL 调用)
### 3.2 APT 杀伤链模块映射
| 杀伤链阶段 | 对应模块 | 说明 |
|:-|:-|:-|
| **初始投放** | `.inf/Install/`、`.inf/SubstituteExecution/` | 安装器、被感染文件代偿启动 |
| **持久化** | `TLhread/Thread_AutoRun.py`、`.inf/Service/`、`.inf/RegistryOverride/` | 服务注册、注册表劫持、自启动 |
| **C2 通信** | `TLhread/Thread_TWNT.py`、`TPLib/T_SSHServer/`、`TFrp/` | Socket.IO 主通道、SSH 备用通道、内网穿透 |
| **横向传播** | `TLhread/Thread_InfectionWorker.py`、`.inf/TemplateMatcher/` | 移动设备感染、磁盘索引、快速模板匹配 |
| **信息收集** | `TLib/T_KeMouse.py`、`TPLib/T_WMI/`、`TPLib/T_Browser/`、`TPLib/T_DOC/` | 键鼠监听、WMI 系统信息、浏览器数据、文档采集 |
| **屏幕监控** | `TLhread/Thread_TWNTWork.py`(CoverScreen/ListenKM)、`T2SRFB/` | 截图回传、VNC 远程桌面 |
| **凭证窃取** | `TPLib/T_SigThiever/` | 数字签名窃取(SigThief 技术) |
| **反检测** | `TLhread/Thread_AntiVirusSoftware.py`、`TPLib/T_VMDISC/`、`ocr/` | 杀软识别、虚拟机检测、360 弹窗模板匹配 |
| **任务调度** | `TLhread/Thread_LW3T.py`、`TLib/T_LW3T.py` | 本地与网络任务表、定时调度 |
| **远程命令** | `TLhread/Thread_TWNTWork.py`(TWNETProcess) | Python / CMD / PowerShell 命令执行 |
| **更新机制** | `.inf/Update/`、`TLib/T_Version.py` | SHA256 校验、自动更新分发 |
### 3.3 工作线程模型
`TLhread/Thread_TWNTWork.py` 中定义了核心工作线程群:
- **MonitorWorker**:CPU、内存、网络流量硬件监控
- **ListenKMWorker**:键盘 / 鼠标事件捕获与屏幕区域截图
- **TWNTProcessSynchronousWorker**:进程与线程状态同步
- **TWNTCoverScreen**:定时截图与图像压缩上传
- **TWNETProcess**:远程命令解析与执行(Python / CMD / PowerShell)
---
## 四、项目结构
```
Termination4/
├── Termination4.py # 主程序入口
├── TerminationLib.py # 核心逻辑
├── TLhread/ # 线程模块
│ ├── Thread_TWNT.py # 网络传输
│ ├── Thread_TWNTWork.py # 工作线程
│ ├── Thread_LW3T.py # 任务表
│ ├── Thread_InfectionWorker.py # 感染功能
│ ├── Thread_AntiVirusSoftware.py # 安全检测
│ └── Thread_AutoRun.py # 自启动
├── TLib/ # 核心库
│ ├── T_Process.py # 进程管理
│ ├── T_Log.py # 日志系统
│ ├── T_FIO.py # 文件操作
│ ├── T_GodKeys.py # 加密模块
├── Termination4.py # 主程序入口
├── TerminationLib.py # 核心逻辑(面向对象)
├── TLhread/ # 线程 / 进程模块
│ ├── Thread_TWNT.py # 网络传输主线程
│ ├── Thread_TWNTWork.py # 工作线程群
│ ├── Thread_LW3T.py # 任务表线程
│ ├── Thread_InfectionWorker.py# 感染线程
│ ├── Thread_AntiVirusSoftware.py # 杀软对抗
│ ├── Thread_AutoRun.py # 自启动配置
│ ├── Thread_Process.py # 进程线程
│ ├── Thread_Web.py # 其他网络服务
│ └── Thread_EasterEgg.py # 彩蛋
├── TLib/ # 核心库
│ ├── T_GodKeys.py # GodKeys 自研加密
│ ├── T_FIO.py # 文件 I/O
│ ├── T_Process.py # 进程 / 线程支持
│ ├── T_KeMouse.py # 键鼠模拟
│ ├── T_AdministratorMode.py # 提权
│ ├── T_EXEConfig.py # 内嵌配置
│ ├── T_Version.py # 版本与更新
│ ├── T_WSD.py # WorkSpaceDeployer 工作目录部署
│ └── ...
├── TPLib/ # 扩展库
│ ├── T_IndexEspionageProgram/ # 索引程序
│ ├── T_SSHServer/ # SSH 服务
│ └── T_Pyftpdlib/ # FTP 服务
├── .inf/ # C 语言扩展
│ ├── Install/ # 安装程序
│ ├── Service/ # 服务程序
│ ├── Update/ # 更新程序
│ └── Tools/ # 工具库
├── T2SRFB/ # VNC 远程桌面
├── TFrp/ # 内网穿透
├── TConfig/ # 配置文件
└── SSLib/ # SSL 库
├── TPLib/ # 高级扩展库
│ ├── T_SSHServer/ # SSH C2 通道
│ ├── T_WMI/ # WMI 信息收集
│ ├── T_VMDISC/ # 虚拟机检测
│ ├── T_Browser/ # 浏览器数据采集
│ ├── T_DOC/ # 文档采集
│ ├── T_SigThiever/ # 数字签名窃取
│ ├── T_Pyftpdlib/ # 内置 FTP 服务
│ ├── T_IndexEspionageProgram/ # 索引间谍程序
│ └── T_MCDrink/ # 扩展模块
├── T2SRFB/ # VNC 远程桌面(C++ 实现)
├── TFrp/ # 内网穿透(PyFrp)
├── TPcc/ # TinyCC 运行时 C 编译器
├── .inf/ # C 语言扩展
│ ├── Install/ # 安装程序
│ ├── Service/ # 核心服务
│ ├── Update/ # 更新程序
│ ├── RegistryOverride/ # 注册表重写
│ ├── SubstituteExecution/ # 被感染代偿启动
│ ├── TemplateMatcher/ # 快速模板比较
│ ├── Tools/ # 工具库
│ └── Test/ # 技术栈测试
├── TConfig/ # 配置文件
│ ├── version.ini # 版本信息
│ ├── EXEConfig.bin # 加密内嵌配置
│ └── EXEConfig.dict # 字典格式配置
├── TLUI/ # 界面相关代码
├── SSLib/ # OpenSSL 动态链接库
├── static/ # 静态资源
├── ocr/ # 360 杀软弹窗匹配模板
├── Art/ # 美术资源
├── Test/ # 技术栈测试
├── Prompt/ # AI 提示词
├── setup_nuitka.py # Nuitka 编译脚本
├── setup_pack.py # PyInstaller 打包脚本
└── script.spec # PyInstaller 清单
```
## 编译方式
---
### 使用 Nuitka 编译
## 五、编译与运行
```bash
python setup_nuitka.py
```
### 使用 PyInstaller 打包
```bash
python setup_pack.py
```
## 运行方式
### Python 模式
### 5.1 Python 原生模式(教学阅读用)
```bash
python Termination4.py
```
### 编译后的可执行文件
> 仅推荐用于源码阅读、行为分析、隔离环境下的功能验证。
### 5.2 Nuitka 编译模式
```bash
Termination4.exe
python setup_nuitka.py
```
## 配置说明
### 5.3 PyInstaller 打包模式
### 服务器配置
```bash
python setup_pack.py
```
程序会从以下地址获取配置:
### 5.4 Viper 改装模式(高质量教学用)
使用 Viper 工具链将 Python 源码编译为本地代码,具体使用方式参见 Viper 工具链文档。
> Viper 改装版本适合用于:动态行为演示、时序分析、二进制逆向教学、反检测对抗教学。
---
## 六、配置说明
### 6.1 服务器配置
程序启动时从以下地址拉取 C2 配置:
- `http://wytyh.space3v.work/T.json`
- `https://raw.githubusercontent.com/GVSADS/Termination/refs/heads/main/T.json`
@@ -154,90 +224,124 @@ Termination4.exe
}
```
### 本地配置
### 6.2 本地配置
- `TConfig/version.ini` - 版本信息
- `TConfig/EXEConfig.bin` - 程序配置(加密)
| 文件 | 作用 |
|:-|:-|
| `TConfig/version.ini` | 版本信息 |
| `TConfig/EXEConfig.bin` | 加密内嵌配置(GodKeys 序列化) |
| `TConfig/EXEConfig.dict` | 字典格式配置 |
## 功能特性
### 网络功能
- Socket.IO 实时通信
- WebSocket 加密传输
- 自动重连和故障恢复
- 远程命令执行
### 监控功能
- 系统资源监控
- 进程和线程监控
- 屏幕截图
- 输入设备监听
### 任务管理
- 本地任务表
- 定时任务调度
- 任务执行追踪
### 系统集成
- Windows 服务集成
- 注册表操作
- 进程权限管理
- 文件系统操作
## 开发环境
### 系统要求
- **操作系统**: Windows 10/11
- **Python 版本**: 3.12+
- **权限要求**: 管理员权限
### 依赖库
主要依赖包括:
- `socketio-client`
- `requests`
- `psutil`
- `pynput`
- `cryptography`
- `pillow`
- `pywin32`
## 调试模式
### 6.3 调试 REPL
程序内置 REPL 调试服务器:
- **地址**: localhost:12345
- **功能**: 远程执行 Python 代码
- **状态**: Python 模式下启用
- **地址**:`localhost:12345`
- **功能**:远程执行 Python 代码
- **状态**:Python 模式下启用(编译版本默认关闭)
## 更新机制
---
程序支持自动更新:
## 七、功能特性
### 7.1 网络功能
- Socket.IO 实时通信与自动重连
- WebSocket 加密传输
- SSH / FTP 备用通道
- 内网穿透(PyFrp)
### 7.2 监控功能
- 系统资源(CPU / 内存 / 网络)监控
- 进程与线程状态监控
- 屏幕截图与 VNC 远程桌面
- 键鼠输入监听
### 7.3 任务管理
- 本地与网络任务表(LW3T)
- 定时任务调度
- 任务执行回调与追踪
### 7.4 系统集成
- Windows 服务集成
- 注册表操作与劫持
- 进程权限管理
- 文件系统操作
### 7.5 对抗能力
- 杀毒软件识别(含 360 弹窗模板匹配)
- 虚拟机与沙箱检测
- 数字签名窃取
---
## 八、开发环境
### 8.1 系统要求
- **操作系统**:Windows 10 / 11
- **Python 版本**:3.12+(避免使用内置 3.10)
- **权限要求**:管理员权限
- **C 编译器**:MSVC / MinGW(用于 C 扩展)
### 8.2 主要依赖
- `socketio-client`:实时通信
- `requests`:HTTP 客户端
- `psutil`:系统监控
- `pynput`:输入监听
- `cryptography`:加密
- `pillow`:图像处理
- `pywin32`:Windows API
---
## 九、安全与法律声明
> **⚠️ 严肃警告**
1. **本项目仅用于网络安全教学、攻防研究与隔离环境测试。**
2. **严禁将本项目用于任何未经授权的真实网络环境或真实目标。**
3. **使用者须遵守所在国家 / 地区的网络安全法律法规。** 在中华人民共和国境内,未经授权传播、使用病毒木马程序违反《中华人民共和国网络安全法》《刑法》第二百八十五条、第二百八十六条等相关规定。
4. **运行前必须在完全隔离的环境中部署**(独立虚拟机、断网、无敏感数据)。
5. **作者不对任何违规使用后果承担责任。**
### 教学使用建议
- ✅ 在隔离虚拟机中观察 APT 行为链
- ✅ 阅读源码理解各攻击阶段实现原理
- ✅ 在红蓝对抗训练中作为红队道具(受控环境)
- ✅ 作为逆向工程与特征识别的样本
- ❌ 严禁连接公网或他人网络
- ❌ 严禁投递至真实主机
- ❌ 严禁用于勒索、破坏、窃密等违法目的
---
## 十、更新机制
1. 检查远程版本 SHA256
2. 下载更新文件
3. 验证文件完整性
4. 执行更新程序
4. 执行更新程序(`.inf/Update/`)
## 注意事项
---
1. 本程序仅用于内网测试环境
2. 需要管理员权限运行
3. 建议在隔离环境中测试
4. 使用前请配置正确的服务器地址
## 十一、技术支持
## 技术支持
- **项目地址**:https://github.com/GVSADS/Termination4
- **配套仓库**:https://github.com/GVSADS/Termination
- **版本**:4.2.0
- **编译次数**:407
- **作者**:Veyra
- **项目地址**: https://github.com/GVSADS/Termination4
- **版本**: 4.2.0
- **编译次数**: 407
---
## 许可证
## 十二、许可证
本项目仅供学习和研究使用。
本项目仅供学习与研究使用,不得用于商业用途或任何违法违规用途。使用即代表您已阅读并同意上述安全与法律声明。
```
本项目为教育用途开源项目
Copyright (c) Veyra
Educational Use Only
```