0x5da/0x5da-VPS-Malware-C2-Scanner-Exploit

GitHub: 0x5da/0x5da-VPS-Malware-C2-Scanner-Exploit

一款基于纯 C99 编写的 Linux 生产级安全工具包,集成了恶意软件深度扫描、持久化清除、C2 基础设施反制攻击以及缓冲区溢出利用演示功能。

Stars: 1 | Forks: 0

# 0x5da 统一 C2 安全工具包 ## 👤 作者与授权 **由 0x5da 创建** (Toasty / OsintToast / WoahToast) 漏洞利用开发者 & 安全工程师 • OSINT • 恶意软件分析 • 渗透测试工具 **网站**: [https://www.imperiumsolutions.xyz/](https://www.imperiumsolutions.xyz/) **GitHub**: [https://github.com/0x5da](https://github.com/0x5da) ### ⚖️ 重要授权声明 **本项目及本目录中的所有代码均由我完整编写和设计。** 您只能在授权的安全研究和教育范围内使用、研究和构建它。这意味着: ✅ **您可以**: - 扫描您拥有或管理的系统 - 研究代码以学习恶意软件检测技术 - 在授权的渗透测试中使用(需有书面客户授权) - 在安全研究和教育中引用它 - 贡献改进并报告问题 ❌ **您不可以**: - 未经授权扫描系统 - 用于未经授权的访问(即使在您自己的网络上,如果公司政策禁止) - 恶意部署 - 声称原创作品归功于自己 - 违反任何适用法律(CFAA, GDPR 等) **作者不承担任何**滥用责任。未经授权的计算机访问、系统篡改和恶意软件部署在大多数司法管辖区均属联邦犯罪。 ## 概述 一个全面的生产级 Linux 安全评估平台,将恶意软件扫描、漏洞利用和 C2 基础设施破坏整合到一个用户友好的界面中。 **构建用于**: 授权渗透测试、事件响应和安全研究 **平台**: Linux(主要是 x86_64,支持 ARM/x86) **代码质量**: 约 2400 行整洁、有文档的 C99 代码 **外部依赖**: 无(纯 POSIX 实现) ## 这是什么 —— 以及我为什么制作它 此项目旨在解决 Linux 事件响应工具中的一个关键空白:即需要一个**单一的统一界面**,结合恶意软件检测、漏洞评估和 C2 破坏能力。 在此项目之前,从业者必须: - 使用多个独立的工具(不同的扫描器、独立的漏洞利用套件、外部 C2 测试框架) - 在不同的二进制文件之间应付命令行参数 - 手动协调扫描结果与利用和破坏活动 - 花费数小时学习不同工具的语法和边缘情况 **此项目整合了一切**。无论您是响应实时事件的事件响应专业人员、评估易受攻击目标的渗透测试人员,还是研究恶意软件行为的安全研究人员,您都能获得一个工具、一个界面,完成这三项任务。 架构整洁,代码专业,每个设计决策都是为了最大化实际安全价值,同时保持操作复杂性为零。 ## 核心能力 ### 1. 本地系统扫描 跨 Linux 系统的全面威胁检测: - 基于网络的 C2 回调识别 - 恶意软件进程检测(50+ 特征) - 持久化机制分析(cron, systemd, rc.local, SSH, ld.so.preload) - 临时文件扫描以查找投放的恶意软件 - Rootkit 指标 - 完整的取证报告 ### 2. 远程目标利用 用于授权评估的栈缓冲区溢出利用: - x86-64 架构 shellcode - 通过地址泄露自动绕过 ASLR - /bin/sh shell 执行 - 交互式远程 shell ### 3. C2 基础设施破坏 针对命令与控制 (C2) 基础设施的多向量攻击框架: - 11 种不同的协议级攻击技术 - 二进制损坏 payload - 资源耗尽攻击 - 协议混淆利用 - 针对 Metasploit/Cobalt Strike 的特定攻击 ### 4. 自动修复 六个级别的自动威胁响应: 1. **仅扫描** — 调查模式,不作更改 2. **查杀恶意软件** — 终止恶意进程 3. **查杀 + 阻断** — 进程终止 + C2 IP 阻断 4. **查杀 + 阻断 + 隔离** — 以上操作 + 文件隔离 5. **全面清理** — 完整清理并移除 cron 条目 *(推荐)* 6. **全面激进攻势** — 全面清理 + 主动 C2 攻击 ## 快速开始 ### 安装 ``` # 克隆/下载仓库 cd /path/to/0x5da-VPS-Malware-C2-Scanner-Exploit-main # 构建所有组件 make # 验证构建 ls -la c2-scanner vps_malware_c2_scanner exploit vulnerable_target ``` ### 交互式使用(推荐) ``` # 主入口点 ./c2-scanner # 按照菜单操作: # 1. 选择操作模式 # 2. 配置目标(如果需要) # 3. 选择行动级别 # 4. 检查并确认 # 5. 工具自动执行 ``` ### 非交互式使用 ``` # 仅扫描(不做更改) ./c2-scanner # 自动修复 sudo ./c2-scanner -r -G # 完全清理 sudo ./c2-scanner -r -G -B # 完全激进(kill + block + attack C2) sudo ./c2-scanner -r -G -B -E -P ``` ## 操作模式 ### 模式 1: 本地系统分析 **使用时机**: 您的系统可能已遭到入侵 **扫描内容**: 恶意软件、C2 连接、持久化机制 **输出**: 带有修复选项的详细威胁报告 ``` ./c2-scanner → [1] SCAN LOCAL SYSTEM → Choose action [1-6] ``` ### 模式 2: 远程目标利用 **使用时机**: 对易受攻击目标进行授权评估 **目标**: 运行 vulnerable_target 服务的系统 **结果**: 目标系统上的交互式 shell ``` ./c2-scanner → [2] EXPLOIT REMOTE → Enter IP/port ``` ### 模式 3: 扫描 + C2 攻击 **使用时机**: 系统已遭入侵且存在活跃 C2 **结合了**: 本地扫描 + 远程 C2 破坏 **结果**: 移除恶意软件 + 破坏 C2 基础设施 ``` ./c2-scanner → [3] SCAN LOCAL + ATTACK C2 → Choose action [1-6] ``` ## 扫描内容 | 组件 | 检测方法 | 目的 | |-----------|------------------|---------| | **网络连接** | `/proc/net/tcp{,6}` | 识别 C2 回调 | | **监听端口** | `/proc/net/tcp{,6}` | 查找 C2 服务器 | | **运行中的进程** | `/proc/*/cmdline`, `/proc/*/exe` | 恶意软件特征匹配 | | **计划任务** | `/etc/crontab`, `/etc/cron.d/*`, `/var/spool/cron/*` | 持久化机制 | | **临时文件** | `/tmp`, `/dev/shm`, `/var/tmp` | 投放的恶意软件 | | **Rootkits** | `/etc/ld.so.preload` | 共享库注入 | | **启动持久化** | `/etc/rc.local` | 启动项恶意软件 | | **SSH 访问** | `/root/.ssh/authorized_keys` | 后门密钥 | | **系统服务** | `/etc/systemd/system/*.service` | 恶意服务 | ## 恶意软件分类 扫描器识别 16 个恶意软件类别: | 类型 | 严重性 | 指标 | |------|----------|-----------| | 挖矿软件 | 中 | xmrig, minerd, pool, kinsing, monero | | 僵尸网络客户端 | 严重 | botnet, C2, command and control | | C2/CNC 服务器 | 严重 | 监听可疑端口 | | 远程访问木马 | 严重 | meterpreter, beacon, cobalt | | 后门 | 高 | base64 -d, eval, reverse_shell | | Rootkit | 严重 | ld.so.preload, diamorphine | | DDoS 僵尸 | 高 | ddos, flood, mirai, tsunami | | IRC 僵尸 | 高 | irc, 6667-6669 | | Web Shell | 高 | c99.php, weevely, b374k | | 投放器/加载器 | 中 | wget/curl + /tmp + chmod +x | | 蠕虫 | 严重 | 自我传播的恶意软件 | | 信息窃取器 | 严重 | keylogger, mimikatz, credential | | 勒索软件 | 严重 | encrypt, .locked, bitcoin | | 恶意代理 | 中 | 3proxy, socks5, gost | | 可疑 | 低 | 临时目录中的可执行文件 | ## C2 攻击武器库 ### 11 种破坏性攻击技术 1. **二进制泛洪** — 用随机垃圾数据破坏协议解析器状态 2. **HTTP 资源耗尽** — 带有不可能头部的虚假请求 3. **TLS 破坏** — 带有混淆长度的无效 ClientHello 4. **长度前缀溢出** — payload 长度字段中的整数溢出 5. **IRC 命令泛洪** — NICK/JOIN/QUIT 垃圾信息 6. **虚假僵尸节点注册** — 用幽灵僵尸节点污染 C2 数据库 7. **RST 风暴** — 快速连接/断开序列 8. **Slowloris** — 无限期保持连接打开 9. **HTTP Pipeline 滥用** — 200+ 个同时进行的管道化请求 10. **Cobalt Strike 混淆** — 畸形的 beacon 帧序列 11. **Metasploit 混淆** — 无效的 TLV 格式违规 每种攻击都针对 C2 协议实现的不同层,以最大化破坏效果。 ## 文档 完整文档在单独的文件中提供: | 文档 | 目的 | |----------|---------| | **[COMPILATION.md](COMPILATION.md)** | 构建说明、编译器要求、故障排除 | | **[USAGE.md](USAGE.md)** | 详细使用指南、示例、输出解读 | | **[README.md](README.md)** | 本文件 — 项目概述 | **从这里开始**: 新用户应阅读 [USAGE.md](USAGE.md) 获取分步指导。 **构建问题**: 查看 [COMPILATION.md](COMPILATION.md) 进行环境设置。 ## 代码架构 ``` Entry Point ↓ c2-scanner (main.c) ├── Interactive UI orchestrator ├── Input validation & menus ├── Mode routing └── Execution dispatch ↓ ├─→ vps_malware_c2_scanner (scanning engine) │ ├── Process enumeration │ ├── Network connection analysis │ ├── Threat classification │ └── Remediation actions │ ├─→ exploit (buffer overflow tool) │ ├── Target connection │ ├── Payload delivery │ └── Shellcode execution │ └─→ vulnerable_target (demo service) ├── Vulnerable socket handler ├── Address leaking └── Buffer overflow reception ``` ### 关注点分离 - **UI 层** (main.c) — 用户交互、路由 - **业务逻辑** (vps_malware_c2_scanner.c) — 扫描、检测、修复 - **漏洞利用** (exploit.c) — 漏洞评估 - **演示目标** (vulnerable_target.c) — 教育/测试 这种整洁的架构使代码库: - ✅ 易于理解 - ✅ 易于维护 - ✅ 易于扩展 - ✅ 适合安全审计 ## 示例 ### 示例 1: 检查您的 VPS 是否已遭入侵 ``` ./c2-scanner # 选择:[1] SCAN LOCAL SYSTEM # 选择:[1] SCAN ONLY # 确认:y # 输出:详细威胁报告 ``` ✅ 非破坏性侦察 ✅ 不使用提升的权限 ✅ 非常适合初步评估 ### 示例 2: 全面系统清理(推荐) ``` sudo ./c2-scanner # 选择:[1] SCAN LOCAL SYSTEM # 选择:[5] FULL CLEAN # 确认:y # 发生情况: # 1. 检测所有威胁 # 2. 终止恶意进程 # 3. 阻断 C2 服务器(iptables) # 4. 隔离可疑文件 # 5. 移除恶意 cron 条目 # 6. 显示摘要报告 ``` ✅ 全面修复 ✅ 维持系统稳定性 ✅ 恢复安全态势 ### 示例 3: 反击攻击中的 C2(事件响应) ``` sudo ./c2-scanner # 选择:[1] SCAN LOCAL SYSTEM # 选择:[6] FULL AGGRESSION + ATTACK C2 # 确认:y # 发生情况: # 1. 完全清理(见示例 2) # 2. 识别 C2 服务器 IP/端口 # 3. 启动 11 个攻击向量 # 4. 泛洪崩溃 Payload # 5. 破坏攻击者的 C2 基础设施 ``` ⚠️ 对活跃威胁的激进攻势响应 ⚠️ 需要事件响应授权 ✅ 对攻击者造成最大干扰 ### 示例 4: 利用易受攻击目标 ``` # 终端 1(目标):启动易受攻击服务 ./vulnerable_target 9999 # 终端 2(攻击者):启动 exploit ./c2-scanner # 选择:[2] EXPLOIT REMOTE VULNERABLE TARGET # IP:192.168.1.100 # 端口:9999 # 确认:y # 结果:在目标上获取交互式 shell $ whoami root $ hostname target-system ``` ✅ 授权渗透测试 ✅ 缓冲区溢出的概念验证 ✅ 教育演示 ## 构建输出 所有二进制文件均编译为原生 x86-64 ELF 可执行文件: | 二进制文件 | 大小 | 目的 | |--------|------|---------| | `c2-scanner` | ~50 KB | 主要协调器 & UI | | `vps_malware_c2_scanner` | ~200 KB | 扫描引擎 | | `exploit` | ~45 KB | 远程利用 | | `vulnerable_target` | ~40 KB | 演示易受攻击服务 | 所有二进制文件均已**剥离**(无调试符号)并针对生产用途进行了**全面优化**。 ## 需求 ### 最低要求 - **操作系统**: Linux 内核 3.x+ - **编译器**: GCC 4.9+ 或 Clang 3.8+ - **构建工具**: GNU Make 4.0+ - **库**: 符合 POSIX 标准的 libc (glibc 或 musl) ### 推荐配置 - **操作系统**: Ubuntu 18.04+, Debian 10+, CentOS 7+ - **编译器**: GCC 9.0+ (以获得最佳警告) - **权限**: sudo 用于修复操作 ### 不兼容 - ❌ Windows (原生执行) - ❌ macOS (原生执行) - ❌ WSL1 (有限的 /proc 文件系统) - ❌ 无法访问 /proc 的 Docker ## 法律与授权 ### ⚠️ 重要免责声明 此工具包仅用于**授权的安全研究、渗透测试和事件响应**。 **您必须拥有明确的书面授权才能:** - 扫描您不拥有的系统 - 利用服务 - 终止进程 - 修改防火墙规则 - 访问 SSH 配置 **未经授权的访问属于联邦犯罪**(美国计算机欺诈与滥用法,以及其他地区的类似法律)。 **作者不对以下情况承担任何责任**: - 本软件的滥用 - 因使用造成的损害 - 未经授权访问的法律后果 - 系统停机或数据丢失 ## 技术细节 ### 代码统计 ``` main.c: ~500 lines (UI orchestrator) vps_malware_c2_scanner.c: ~1600 lines (scanning engine) exploit.c: ~200 lines (overflow exploit) vulnerable_target.c: ~100 lines (demo vulnerable) Total: ~2400 lines ``` ###译器兼容性 | 编译器 | 版本 | 状态 | |----------|---------|--------| | GCC | 7.5.0 → 11.0.0 | ✅ 完全支持 | | Clang | 10.0.0 → 14.0.0 | ✅ 完全支持 | ### 架构支持 | 架构 | 扫描 | 利用 | 状态 | |-------------|----------|--------------|--------| | x86-64 | ✅ 是 | ✅ 是 | 主要 | | x86 (32-bit) | ✅ 是 | ⚠️ 需要重新构建 | 支持 | | ARM64 | ✅ 是 | ⚠️ 需要重新构建 | 部分 | ## 入门指南 ### 第 1 步: 构建 ``` make clean make ``` ### 第 2 步: 验证构建 ``` ./c2-scanner --help 2>&1 | head -5 # 应显示帮助文本或以交互方式运行 ``` ### 第 3 步: 运行 ``` ./c2-scanner # 遵循交互式菜单 ``` ### 第 4 步: 阅读文档 获取详细指导: - **[USAGE.md](USAGE.md)** — 完整使用指南 - **[COMPILATION.md](COMPILATION.md)** — 构建故障排除 ## 联系方式与署名 **创建者**: 0x5da **角色**: 漏洞利用开发者 & 安全工程师 **专长**: OSINT • 恶意软件分析 • 渗透测试 **资源**: - GitHub: https://github.com/0x5da - Website: https://www.imperiumsolutions.xyz/ ## 更新日志 ### 版本 1.0 - ✅ 统一的多模式界面 - ✅ 专业的代码文档 - ✅ 全面的用户指南 - ✅ 整洁的项目结构 - ✅ 生产就绪的二进制文件 **最后更新**: 2026年3月10日 **状态**: 生产就绪 **维护**: 积极开发中 ## 修复操作 | 操作 | 作用 | |--------|-------------| | **查杀进程组** | SIGKILL 进程 + 所有子进程(整个进程树) | | **毒化 C2 套接字** | 向 C2 连接 fd 写入 4KB 的 0xFF 垃圾数据以破坏协议 | | **阻断 C2 IP** | `iptables -I OUTPUT -d -j DROP` + `iptables -I INPUT -s -j DROP` | | **利用 C2 服务器** | 11 种不同的攻击向量(见下文) | | **隔离文件** | 移动到 `/root/.0x5da_quarantine/.` | | **移除 Cron** | 用 `# 0x5da removed:` 注释掉恶意行 | ## C2 漏洞利用武器库 — 11 种攻击向量 当您选择选项 `[6] 全面激进攻势` 时,该工具不仅会清理您的 VPS —— 它还会使用 11 种真实的协议级漏洞利用**攻击 C2 服务器**: | # | 攻击 | 作用 | |---|--------|-------------| | 1 | **二进制泛洪** | 发送 64KB 的异或垃圾数据以破坏协议解析器状态 | | 2 | **HTTP 资源耗尽** | 带有 `Content-Length: 2147483647` + 32KB 部分主体的 POST —— 占用服务器线程 | | 3 | **TLS 记录破坏** | 假冒的 ClientHello `length=65535`,然后发送 TLS alert 记录以触发错误路径 | | 4 | **长度前缀溢出** | 发送 `0x7FFFFFFF`, `0xFFFFFFFF`, `0x80000001` 长度值以使二进制协议解析器崩溃 | | 5 | **IRC 命令泛洪** | 50 轮 NICK/USER/JOIN/PRIVMSG/QUIT 以扰乱基于 IRC 的僵尸网络 | | 6 | **虚假僵尸节点注册** | 注册 16 个带有假 IP/主机名的垃圾僵尸节点以污染 C2 的僵尸节点跟踪数据库 | | 7 | **RST 风暴** | 64 次快速 TCP 连接 + 立即 RST (SO_LINGER=0) 以耗尽连接处理能力 | | 8 | **Slowloris** | 打开 32 个带有部分 HTTP 头的连接,每 200ms 发送 1 个字节以保持槽位占用 | | 9 | **HTTP Pipeline 滥用** | 发送 200 个管道化的 HTTP 请求而不读取响应 —— 填满服务器缓冲区 | | 10 | **Cobalt Strike 混淆** | 带有不可能的 payload 大小 + 垃圾会话 ID 的假冒 CS beacon 元数据帧 | | 11 | **Metasploit TLV 混淆** | 带有溢出长度字段的假冒 meterpreter TLV 会话帧 | 每次攻击都会报告成功或失败以及发送的确切字节数/连接数: ``` [*] Launching exploit arsenal against 10.0.0.1:4444 ✔ Binary flood (64KB protocol corruption) 65536 bytes/conns ✔ HTTP resource exhaustion (huge POST) 33012 bytes/conns ✔ TLS record corruption (fake ClientHello) 16398 bytes/conns ✔ Length-prefix overflow (parser crash) 8214 bytes/conns ✔ IRC command flood (NICK/JOIN/QUIT spam) 3800 bytes/conns ✔ Fake bot registration (pollute bot DB) 4832 bytes/conns ✔ RST storm (connection table exhaustion) 64 bytes/conns ✔ Slowloris (hold connections open) 32 bytes/conns ✘ HTTP pipeline abuse (200 pipelined reqs) (connection refused) ✔ Cobalt Strike frame confusion 32896 bytes/conns ✔ Metasploit TLV confusion 16416 bytes/conns [+] C2 exploit complete: 10/11 attacks landed, 181200 total bytes/conns sent ``` ## 交互模式(默认) 直接运行。不需要标志。工具会询问您所有信息: ``` ./vps_malware_c2_scanner ``` **第 1 步** — 显示您的 VPS 信息(自动检测的 IP、主机名、操作系统、用户),请求确认。 **第 2 步** — 包含 6 个选项的菜单: | 选项 | 作用 | |--------|-------------| | `[1]` 仅扫描 | 查找所有内容,不做更改 | | `[2]` 扫描 + 查杀 | SIGKILL 所有恶意进程及子进程 | | `[3]` 扫描 + 查杀 + 阻断 | 查杀 + iptables DROP 所有 C2 IP | | `[4]` 扫描 + 查杀 + 阻断 + 隔离 | + 将可疑文件移至隔离区 | | `[5]` 全面清理 *(推荐)* | + 移除恶意 cron 条目 | | `[6]` 全面激进攻势 | 执行所有操作 + 毒化套接字 + 11 种 C2 漏洞利用攻击 | **第 3-6 步** — 扫描,显示威胁报告,显示每个发现及其完整情报,然后自动执行您选择的操作。报告成功与失败的内容。 ## CLI 模式(脚本化 / 无提示) ``` sudo ./vps_malware_c2_scanner -r # auto-clean (kill, quarantine, cron) sudo ./vps_malware_c2_scanner -r -B # + block C2 IPs sudo ./vps_malware_c2_scanner -r -E -P -B -G # full nuke + exploit C2 ``` | 标志 | 效果 | |------|--------| | `-r` | 查杀进程,隔离文件,移除 cron | | `-E` | 使用 11 种漏洞利用向量攻击 C2 服务器 | | `-P` | 在查杀前用 4KB 垃圾数据毒化 C2 套接字 | | `-B` | iptables DROP 所有 C2 IP(入站 + 出站) | | `-G` | 查杀进程组而非单个 PID | | `-h` | 显示帮助 | ## 缓冲区溢出漏洞利用 (exploit.c + vulnerable_target.c) 与扫描器分开,此仓库包含一个**真实可用的缓冲区溢出漏洞利用**作为演示: **vulnerable_target.c** — 具有栈缓冲区溢出的 TCP 服务器。`handle_client()` 有一个 64 字节的缓冲区,但使用了 `recv(fd, buf, 512, 0)` —— 没有边界检查。使用 `-fno-stack-protector -z execstack -no-pie` 编译。 **exploit.c** — 连接到易受攻击的服务器,读取泄露的缓冲区地址,构建 payload(27 字节的 x86-64 `execve("/bin/sh")` shellcode + 填充 + 覆盖的返回地址),发送它。当 `handle_client()` 返回时,执行跳转到我们的 shellcode → 任意代码执行。 ``` # 终端 1 ./vulnerable_target 9999 # 终端 2 ./exploit 127.0.0.1 9999 ``` ## 构建 ``` make ``` 构建三个二进制文件: - `vps_malware_c2_scanner` — 扫描器/修复/漏洞利用工具 - `vulnerable_target` — 故意易受攻击的服务器(用于漏洞演示) - `exploit` — 针对 vulnerable_target 的缓冲区溢出漏洞利用 需求:Linux, GCC, root 权限用于修复(查杀, iptables, cron, 隔离)。 ## 文件 | 文件 | 行数 | 描述 | |------|-------|-------------| | `vps_malware_c2_scanner.c` | 1626 | 扫描器 + 16 个恶意软件分类器 + 11 个 C2 漏洞利用 + 修复 | | `exploit.c` | 145 | 针对 vulnerable_target 的缓冲区溢出漏洞利用 | | `vulnerable_target.c` | 96 | 故意易受攻击的 TCP 服务器 | | `Makefile` | 25 | 构建所有内容 | ## 法律 本仓库中的所有工具仅用于**授权的安全测试和教育**。未经授权访问计算机系统是非法的。作者不对滥用承担责任。
标签:AMSI绕过, Bing搜索, C2 扫描, C99, Cron 任务, iptables, IP 地址批量处理, LangChain, Linux VPS, Linux 安全, Mr. Robot, POSIX, Python3.6, Web报告查看器, 二进制发布, 僵尸网络, 套接字污染, 威胁检测, 客户端加密, 库, 应急响应, 开源工具, 恶意软件扫描器, 情报收集, 数据展示, 文件完整性, 无依赖, 无线安全, 流量嗅探, 漏洞研究, 红队, 网络安全审计, 自动修复, 自定义DNS解析器, 轻量级, 进程枚举, 远程访问木马, 连接监控, 逆向分析, 隔离