korakino/NyxC2
GitHub: korakino/NyxC2
一个由 C 和 Python 构建的轻量级异步 C2 概念验证项目,旨在演示底层网络编程与基础防病毒规避技术的实现原理。
Stars: 1 | Forks: 0
# NyxC2
使用 C 和 Python 编写的 C2 项目
# 🛠️ 简易异步 C2 框架
一个轻量级的命令与控制 (C2) 概念验证项目,具有异步 Python 服务器和基于 Win32 的 C 语言植入端。本项目演示了底层网络编程、进程重定向、I/O 多路复用以及基本的防病毒规避技术。
## 🚀 功能
* **异步服务器:** 使用 `select` 模块处理多个并发连接而不发生阻塞。
* **会话管理:** 交互式自定义提示符,用于跟踪活动目标 (`mc list`) 并使用动态 Python 字典为 IP 地址分配易读的别名 (`mc rename`)。
* **定向执行:** 通过别名/IP将命令发送到特定的植入端,或使用 `*` 向所有目标进行广播。
* **防病毒规避与隐匿:** 使用 XOR 负载混淆和剥离编译器符号来绕过主要的防病毒引擎(如 MS Defender 和 McAfee)。编译为后台进程运行(无控制台窗口)。
* **进程重定向:** 将 `cmd.exe` 的标准流(输入/输出/错误)直接重定向到网络 socket。
## 📸 截图
https://github.com/user-attachments/assets/3ac12574-9533-48ed-930c-400e308809d0
## 🧠 这个项目教会了我什么?
* **红队与防御规避(新知识)**
* **负载混淆:** 在 C 语言中实现按位 XOR 解密例程,以在内存中隐藏恶意字符串 (`cmd.exe`),从而绕过静态分析和 YARA 规则。
* **签名规避:** 剥离调试符号(编译器 `-s` 标志),以大幅改变二进制文件的结构并规避机器学习防病毒引擎。
* **逆向工程基础:** 分析导入地址表 (IAT) 并解读 VirusTotal AI 洞察,以了解 EDR 是如何标记可疑行为的。
* **信誉过滤:** 了解“网络标记” 并在实验室环境的投递阶段绕过 SmartScreen 警告。
* **高级异步服务器架构**
* **状态与会话管理:** 设计一个健壮的会话管理器,通过 Python 字典将原始网络 socket 对象映射到自定义用户别名,包括优雅的断开连接处理。
* **I/O 多路复用:** 使用 `select` 模块实现高性能服务器,以实现单线程并发。
* **调度器模式:** 开发一个非阻塞事件循环,同时处理入站连接、操作员命令 (`sys.stdin`) 和数据接收。
* **高级防御规避(动态 API 加载)**
* **IAT 规避:** 通过在运行时使用 `GetModuleHandleA`、`LoadLibraryA` 和 `GetProcAddress` 动态解析,将关键的 Windows API 调用(如 `CreateProcessA` 和 `WSAStartup`)从导入地址表中隐藏起来。
* **C 语言中的函数指针:** 定义精确的 `typedef` 签名,以安全地将原始内存地址转换并作为标准 Windows API 函数执行。
* **静态与动态分析(API Hooking):** 了解静态规避的局限性。意识到虽然 XOR + IAT 规避可以绕过初始的防病毒文件扫描,但 EDR(如 MS Defender)会使用内存中的 API Hooking 来捕获行为签名(例如,将网络 socket 管道连接到隐藏的 `cmd.exe`)。
* **操作安全 与仓库管理**
* **干净的版本控制:** 实施严格的 `.gitignore` 规则,防止编译后的恶意二进制文件 (`.exe`) 意外泄漏到公共仓库。
* **安全工件处理:** 了解将开发环境与公共作品集分开的重要性,确保仓库保持为一个安全、具有教育意义的空间,而不分发武器化代码。
* **底层网络编程 (C & WinAPI)**
* **Socket 编排:** 初始化 Winsock 库 (`WSAStartup`) 并通过 `sockaddr_in` 管理 TCP 连接。
* **进程重定向:** 掌握“标准流重定向”,将 `cmd.exe` 流直接连接到网络 socket。
* **Windows 内部结构:** 亲身体验使用 `STARTUPINFO` 和 `PROCESS_INFORMATION` 来控制执行环境。
* **Git & GitHub 工作流(命令行)**
* 专业的版本控制:编写描述性的提交信息,并通过 CLI 管理多语言仓库。
* 冲突解决:掌握本地和远程分支之间的同步(Force Push、Reset、Merge)。
## 🛠️ 使用方法(实验环境)
### 服务端 (Kali Linux)
启动异步监听器并使用交互式提示符:
```
python3 Server_main.py
```
**可用的 Master 命令:**
* `mc list` :显示所有活动会话。
* `mc rename ` :为目标分配一个易读的名称。
### 客户端 (Windows 目标)
从 Linux 交叉编译隐匿植入端(包含用于剥离符号的 `-s` 和用于隐藏控制台的 `-mwindows`):
```
x86_64-w64-mingw32-gcc implant.c -o implant.exe -lws2_32 -mwindows -s
```
## ⚠️ 故障排除
* **植入端连接后立即死掉?** 确保你的 XOR 密钥和解密循环大小与你的 payload 大小完美匹配(避免空字节 XOR 问题)。
* **目标从 `mc list` 中消失?** 服务器会自动清理死掉的 socket。确保 Windows 目标没有失去网络连接。
* **控制台中没有输出?** 在本地进行调试时,*不使用* `-mwindows` 和 `-s` 标志进行编译,以查看标准的 `printf` 输出。
## 🗺️ 路线图(未来改进)
* [ ] 实现安全的文件上传/下载功能。
* [x] 为**网络流量**添加基本的 XOR 加密(Payload 已经过混淆处理)。
* [x] 在服务器端创建自定义的交互式 shell 提示符,以避免重复输入 IP。
标签:AV免杀, C2框架, DNS 反向解析, EDR绕过, Gophish, HTTP工具, IAT分析, IP 地址批量处理, Linux, Python, SSH蜜罐, TGT, Win32 API, XOR混淆, 中高交互蜜罐, 云资产清单, 动态免杀, 命令与控制, 安全学习资源, 审计工具, 客户端加密, 异步编程, 恶意软件开发, 攻防演练, 数据包嗅探, 数据展示, 无后门, 无线安全, 杀软绕过, 红队, 网络信息收集, 网络安全, 网络编程, 进程注入, 进程重定向, 远控木马, 逆向工具, 逆向工程, 隐私保护, 静态分析绕过, 高交互蜜罐