CODECRUNCHWORLDWIDE/C52-CRUNCH-MALWARE

GitHub: CODECRUNCHWORLDWIDE/C52-CRUNCH-MALWARE

一门为期12周的开源恶意软件分析课程,教授在隔离实验室中安全地进行样本静态与动态分析、逆向工程及检测规则编写,最终产出可供蓝队直接使用的完整分析报告。

Stars: 0 | Forks: 0

# C52 · Crunch 恶意软件 [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](LICENSE) [![Ghidra · YARA · Python · SQL](https://img.shields.io/badge/stack-Ghidra_·_YARA_·_Python_·_SQL-2463EB.svg)](#stack) [![Built in the open](https://img.shields.io/badge/built-in%20the%20open-2463EB.svg)](https://github.com/CODECRUNCHWORLDWIDE) C52 是一门专业的安全课程,带你从“到底什么是 PE 头?”一路成长为能够撰写 SOC 可直接采纳的完整样本分析报告——从入门到精通只需 12 周。每一项技术都是**在隔离的无网络实验室中进行的授权、合法且以防御为目的的工作**:包括刻意收集的样本、沙箱以及属于你自己的 CTF 靶标。恶意软件**仅**在该沙箱内运行。本课程的产出——行为 IOC、网络特征码和 YARA 规则——将直接为 [C48 Crunch Blue](../C48-CRUNCH-BLUE/) 提供检测支持。 ## 道德与合法性(请首先阅读,每周均适用) - **仅限隔离的无网络实验室。** 所有样本均在物理隔离且关闭网络的 VM/沙箱内引爆,实施主机隔离,且没有任何通往真实网络的路由。你绝不会在你依赖的机器上运行恶意软件,也绝不针对任何他人的系统。 - **仅限授权目标。** 你需分析在法律上获准持有和研究的样本——课程提供的样本、CTF 挑战以及归你所有的故意脆弱的 VM。绝不涉及真实的第三方系统。 - **防御才是目的。** 任何攻击性细节(脱壳、规避、C2)的存在,都是为了让你能够*检测和防御*它。每一项技术最终都会落实为一项特征码、一个 IOC 或一项狩猎查询。 - **安全处理样本。** 使用密码保护的压缩包,跟踪哈希值,防止意外执行,禁止重新分发。整个课程中会反复强调操作范围和书面授权。 - **数据应存入数据库,而非电子表格。** 分析结果、IOC 和遥测数据通过 SQL(PostgreSQL/SQLite)和 Python 进行存储和查询——绝不将 Excel 当作数据库。 ## 路径概要 - **全职学习:** 12 周 · 约 28 小时/周 · 约 336 小时 - **在职工程师节奏:** 6 个月 · 约 14 小时/周 - **业余晚间节奏:** 12 个月 · 约 7 小时/周 请参阅 [`SYLLABUS.md`](SYLLABUS.md)。 ## 12 周后你将能够做到的事 - **搭建安全实验室:** 构建具备主机隔离、快照和安全样本处理的隔离无网络分析环境——并证明其无法对外连接。 - **冷读二进制文件:** 解析 PE 和 ELF 头、区段、导入/导出表及入口点,并知晓每个字段传递的意图。 - **快速进行静态分析:** 在运行样本之前,提取字符串、哈希、导入表和功能特性,从而对样本进行分类甄别。 - **引爆并观察:** 在沙箱中运行样本,并将进程、文件、注册表和网络行为捕获并记录到结构化的发现数据库中。 - **逆向工程:** 阅读汇编,跟踪控制流,并从反汇编的函数中恢复算法。 - **熟练驱动 Ghidra:** 从机器码中进行反汇编、反编译、添加注释、重命名,并重构程序的逻辑。 - **击败混淆:** 识别壳和反分析伎俩,对样本进行脱壳,找到真实的 payload。 - **了解操作系统:** 应用恶意软件实际滥用的 Windows 内部机制——进程、加载器、注入和持久化。 - **将分析转化为检测:** 推导网络特征码,并编写精准的 YARA 规则,在没有误报的情况下捕获恶意软件家族。 - **自动化繁琐操作:** 使用 Python 脚本针对 SQL 发现库,进行自动化甄别、IOC 提取和报告。 - **交付报告:** 产出一份完整的样本分析毕业项目——涵盖行为、逆向发现、IOC、YARA 和检测方案——随时可交付给蓝队。 ## 课程大纲(12 周) | 周 | 主题 | 你将能够…… | |------|-------|--------------------| | 1 | [安全实验室与分析伦理](curriculum/safe-malware-lab-and-ethics/) | 搭建隔离的无网络实验室并安全地处理样本。 | | 2 | [PE 和 ELF 文件格式](curriculum/file-formats-pe-and-elf/) | 手动解析二进制文件的文件头、区段和导入表。 | | 3 | [静态分析基础](curriculum/static-analysis-fundamentals/) | 仅凭字符串、哈希和导入表对样本进行甄别。 | | 4 | [动态与行为分析](curriculum/dynamic-and-behavioral-analysis/) | 安全地引爆样本,并将行为捕获至发现 DB。 | | 5 | [用于逆向工程的 x86/x64 汇编](curriculum/x86-x64-assembly-for-re/) | 阅读汇编并跟踪贯穿函数的控制流。 | | 6 | [使用 Ghidra 进行反汇编与反编译](curriculum/disassembly-with-ghidra/) | 在 Ghidra 中从机器码重构程序逻辑。 | | 7 | [脱壳与反分析技术](curriculum/unpacking-and-anti-analysis/) | 检测加壳,击败反调试伎俩,触达 payload。 | | 8 | [恶意软件相关的 Windows 内部机制](curriculum/windows-internals-for-malware/) | 通过操作系统内部机制跟踪注入与持久化。 | | 9 | [网络特征码与 YARA 规则](curriculum/network-signatures-and-yara/) | 提取网络 IOC 并编写精准的 YARA 检测规则。 | | 10 | [编写分析自动化脚本](curriculum/scripting-analysis-automation/) | 使用 Python + SQL 自动化甄别与 IOC 提取。 | | 11 | [从分析到检测(反馈至 C48)](curriculum/analysis-to-detection-pipeline/) | 将分析发现转化为可供蓝队部署的检测方案。 | | 12 | [毕业项目 —— 完整的样本分析报告](curriculum/capstone-sample-analysis-report/) | 端到端分析未知样本并撰写报告。 | ## 如何安排每周的学习 每周的文件夹都包含相同的结构: - **`README.md`** —— 本周概述 + 各部分如何衔接 + 本周目标。 - **`lecture-notes/`** —— 3 节课程(每节约 2 小时),涵盖概念核心。 - **`exercises/`** —— 在沙箱中进行的 3 个简短的、有指导的练习。 - **`challenges/`** —— 2 个没有唯一标准答案的开放式问题。 - **`mini-project/`** —— 一个将本周所学串联起来的构建项目。 - **`homework.md`**、**`quiz.md`**、**`resources.md`** —— 用于实践练习、自我检测和延伸阅读。 ## 技术栈 ## 如何使用本课程 1. 阅读每周的 `README.md`,然后按顺序学习 3 节课程。 2. 在学习过程中,在沙箱里完成 3 个练习——亲自上手操作,且样本绝不离开实验室。 3. 在查看任何提示之前,先尝试完成这两项挑战。 4. 完成迷你项目;将每个 IOC 和发现记录到你的 SQL 存储库中。 5. 在阅读器中勾选每一节课,并参加测验。第 12 周是毕业项目报告。 恶意软件分析是一门实验学科。如果某个步骤会触及你不拥有的系统或你无法控制的网络,请**立即停止**——这在设计上就属于超纲操作。 ## License GPL-3.0。免费使用、改编和分享——请保持其开源。 *Code Crunch Worldwide 开放课程的一部分 · GPL-3.0 · [浏览所有课程](https://codecrunchglobal.vercel.app/courses)*
标签:多线程, 测试用例, 逆向工具