F2u0a0d3/goodboy-framework

GitHub: F2u0a0d3/goodboy-framework

一套使用 Rust 编写的 15 阶段 Windows 恶意软件开发与分析课程,从红蓝双视角讲授免杀技术与检测方法,所有二进制文件在 VirusTotal 上达成 0/76 免杀。

Stars: 23 | Forks: 1

# Goodboy 框架 这是一个包含 15 个阶段的渐进式 Windows 恶意软件开发与分析课程,使用 Rust 编写。每一项技术都从**红队**(攻击)和**蓝队**(防御)的角度进行讲授。所有 15 个二进制文件在 VirusTotal 上的检测结果均为 **0/76**。 ## 内容介绍 这是一门实践性课程,将带你从“什么是 shellcode 加载器”进阶到“构建完整的 C2 代理”——并在每个步骤中提供实证的 AV/ML 规避数据。 每个阶段都在前一个阶段的基础上增加一项新的攻击技术。每个“学习路径”都记录了: - 该技术**如何**运作(理论 + 代码) - **如何检测**它(YARA, Sigma, ETW, 内存取证) - **如何破坏**你自己的检测(对抗性思维) - **在 VirusTotal 上发生了什么**(真实的提交数据,样本“自毁”取证分析) **这不仅仅是理论。** 每个二进制文件都经过了 76+ 个 AV 引擎的测试。每一个检测声明都有 VT 哈希值作为证明。 ## 15 个阶段 ``` EASY MEDIUM HARD INSANE ............ ............ ............ ............ Stage 01 Stage 04 Stage 07 Stage 14 Stage 02 Stage 05 Stage 08 Stage 15 Stage 03 Stage 06 Stage 09 Stage 11 Stage 10 Stage 12 Stage 13 ``` | 阶段 | 技术 | 你将学到什么 | 代码行数 | 状态 | |-------|-----------|-------------------|-------|--------| | [**01**](stage-01-basic-loader/) | **基础加载器** | XOR 解密, PEB 遍历 API 哈希, VirtualAlloc->VirtualProtect->CreateThread, 反沙箱, YARA/Sigma 规则 | 1,649 | 已发布 | | [**02**](stage-02-xor-loader/) | **XOR 密码分析** | 已知明文攻击, 重合指数, 熵分类, 内存擦除, VT 提交悖论 | 1,237 | 已发布 | | [**03**](stage-03-aes-loader/) | **AES + Jigsaw** | RC4 流密码, 通过载荷分片实现熵归一化, nonce/完整性验证, 多尺度熵检测 | 1,492 | 已发布 | | 04 | API 哈希 | 深入探究 PEB 内部结构, 彩虹表构建, 针对 PEB 遍历不变量的检测规则 | — | 计划中 | | 05 | APC 注入 | Early Bird 注入, 跨进程执行, 远程端解密 | — | 计划中 | | 06 | 变体分析 | 同一技术,不同密钥 —— 家族聚类, YARA 规则泛化 | — | 计划中 | | 07 | "直接系统调用" | 这个名字是个谎言 —— 这就是教训所在 | — | 计划中 | | 08 | 间接系统调用 | 调用栈取证, gadget 扫描, SSN 解析 | — | 计划中 | | 09 | 反调试 | 7 种技术: PEB, NtQueryInfo, RDTSC, 硬件断点, 进程枚举 | — | 计划中 | | 10 | 反沙箱 | 硬件指纹识别, 加权评分, VM 规避 | — | 计划中 | | 11 | 持久化 | 注册表 Run 键, 计划任务, COM 劫持 | — | 计划中 | | 12 | 模块覆盖 | 覆盖合法 DLL 的 .text 节, CFG 有效执行 | — | 计划中 | | 13 | Sleep 混淆 | 在休眠期间加密载荷, 95% 的扫描器漏报率 | — | 计划中 | | 14 | 组合加载器 | 8 层规避栈, MBA 混淆, 多阶段链 | — | 计划中 | | 15 | C2 代理 | 具有加密 HTTPS 信标的完整命令与控制 | — | 计划中 | ## 每个阶段如何运作 每个阶段文件夹包含: | 文件 | 内容 | |------|------------| | `*.exe` | 编译后的二进制文件(约 280-300 KB, Rust, PE64)—— 使用 Ghidra/x64dbg 打开 | | `README.md` | 快速入门指南, 技术细节, 门控架构 | | `LEARNING_PATH.md` | **主要内容** —— 1,000-1,600 行的引导式分析,包含理论、练习、Python 脚本、检测规则和对抗性挑战 | **不包含源代码。** 你需要利用“学习路径”作为指南来逆向工程二进制文件 —— 这正是你分析真实恶意软件的方式。 ## 快速入门 1. **搭建一个 Windows 10/11 x64 虚拟机**(推荐使用 [FlareVM](https://github.com/mandiant/flare-vm)) 2. **安装工具**: Ghidra 11.x, x64dbg + ScyllaHide, Python 3.10+, PE-bear 3. **从阶段 01 开始** —— 打开“学习路径”并跟随操作 4. **按顺序进行** —— 每个阶段都建立在前一个阶段的概念之上 **虚拟机配置**(通过沙箱检测门控所必需): - 4+ CPU 核心, 8+ GB 内存, 100+ GB 硬盘 - 在执行二进制文件前让虚拟机运行 30+ 分钟 - 屏幕分辨率 1920x1080 或更高 ## 独特之处 ### 双重视角 每一项技术都从攻防双方的角度进行讲授。你不仅学习如何构建加载器 —— 还要学习如何检测它,然后学习如何突破你自己的检测。 ``` Red Team Exercise: Blue Team Exercise: Build an RC4-encrypted loader Write a YARA rule for the permutation map Fragment payload with jigsaw Build a multi-scale entropy anomaly detector Normalize .rdata entropy Identify the crypto mislabeling trap ``` ### 实证规避数据 这不是简单的“我的 AV 没报毒”。每个二进制文件都提交到了 VirusTotal 并针对所有 76 个引擎进行了测试。学习路径记录了: - 多轮提交中的确切 VT 评分 - 哪些引擎检测到了什么,以及原因 - **样本“自毁”** 现象 —— 测试行为本身是如何训练 AV 来针对你的 - 针对特定引擎的规避技术及证明(ESET Agent.ION, CrowdStrike ML, Huorong 启发式) ### 生产级代码 二进制文件由 Rust 编译(而非玩具般的 C 示例),具有: - Control Flow Guard (CFG) - PE 元数据伪造(Authenticode 签名克隆) - Rich Header 重键控 - 多重规避门控(环境, 硬件, 反调试) - 真实的 shellcode 执行(以 MessageBox("GoodBoy") 作为证明) ## 军备竞赛 ``` Stage 01: You build a basic loader → AV can signature the XOR key in .rdata Stage 02: You change the key → Blue team breaks it with known-plaintext attack (key doesn't matter) Stage 03: You switch to RC4 + jigsaw fragmentation → Blue team detects the permutation map pattern in .rdata Stage 04: You hide API resolution behind custom hashing → Blue team builds rainbow tables to reverse all hash constants Stage 07: You bypass ntdll hooks with syscalls → Blue team detects the syscall instruction itself Stage 09: You add anti-debug → Sandboxes still detonate the binary Stage 10: You add hardware-based sandbox detection → Memory scanners catch the decrypted payload Stage 12-13: You stomp modules + encrypt during sleep → Payload is only visible 5% of the time Stage 14: Eight layers stacked together Stage 15: Full C2 with encrypted HTTPS beaconing ``` 每个阶段之所以存在,是因为防御者攻破了前一个阶段。 ## 样本“自毁” —— 隐蔽的教训 这门课程最重要的教训不是某项技术 —— 而是一个操作现实: 阶段 03 是揭示这一点的“金丝雀”。它最初达成了 0/76 的成绩,随后 ESET 专门根据 2026 年 3 月 1 日至 9 日之间的提交数据创建了 `Agent.ION`。二进制文件没有改变 —— 但 AV 从中学会了识别它。随后这种模式在所有 15 个阶段中重复出现。 学习路径记录了每个二进制文件 VT 历史的完整取证时间线。 ## 课程统计 | 指标 | 数值 | |--------|-------| | 阶段 | 15 (3 个已发布, 12 个计划中) | | 总学习内容 | 4,300+ 行 (已发布阶段) | | 练习 | 30+ 个实战练习 (已发布阶段) | | YARA 规则 | 6+ 条 (含对抗性对策) | | Sigma 规则 | 3+ 条 (行为检测) | | Python 脚本 | 15+ 个 (求解器, 扫描器, 密码学工具) | | 测试的 AV 引擎 | 76 | | 语言 | Rust (二进制文件), Python (工具) | | 平台 | Windows x64 | ## 安全须知 - 每个二进制文件的载荷都是 `MessageBox("GoodBoy")` —— 一个无害的对话框 - 无网络活动,无持久化,无系统修改 - 在你的宿主机上**编写**代码。仅在隔离的虚拟机中**执行** - **不要**将二进制文件提交到 VirusTotal —— 这会训练 AV 来针对它们(参见“样本‘自毁’”) 本材料用于授权的安全培训、研究、渗透测试和 CTF 竞赛。不得用于未经授权的访问或在未获得明确书面许可的情况下对系统进行操作部署。 ## 环境要求 | 工具 | 用途 | 链接 | |------|---------|------| | Windows 10/11 x64 VM | 执行环境 | [FlareVM](https://github.com/mandiant/flare-vm) | | Ghidra 11.x | 静态分析 | [ghidra-sre.org](https://ghidra-sre.org/) | | x64dbg + ScyllaHide | 动态分析 | [x64dbg.com](https://x64dbg.com/) | | Python 3.10+ | 脚本和求解器 | [python.org](https://python.org/) | | PE-bear | PE 结构查看器 | [GitHub](https://github.com/hasherezade/pe-bear) | ## 作者 使用 Rust 1.93.1 MSVC 构建 | 经 76+ AV 引擎测试 | 2026 年 3 月
标签:Aarch64, AMSI绕过, API Hashing, Ask搜索, C2框架, Conpot, DNS信息、DNS暴力破解, DNS 反向解析, EDR绕过, Rust, SecList, SSH蜜罐, VirusTotal, Windows安全, XML 请求, YARA规则, 中高交互蜜罐, 云资产清单, 免杀技术, 内存取证, 加密壳, 可视化界面, 威胁检测, 安全学习资源, 安全开发, 恶意代码分析, 恶意软件开发, 数据展示, 暴力破解检测, 流量嗅探, 红队, 网络安全课程, 网络流量审计, 资源列表, 进程注入, 逆向工具, 逆向工程, 配置文件, 高交互蜜罐