mandiant/flare-learning-hub

GitHub: mandiant/flare-learning-hub

由 Mandiant FLARE 团队提供的免费逆向工程与恶意软件分析教育平台,涵盖汇编基础、Go 逆向和时间旅行调试三大模块,配备完整实验环境与练习素材。

Stars: 365 | Forks: 24

# FLARE 学习中心 ![FLARE Learning Hub Logo](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/78fa938776113830.png) FLARE Learning Hub 免费发布来自 [FLARE 团队](https://cloud.google.com/security/flare)的优质逆向工程和恶意软件分析教育内容。 FLARE Learning Hub 模块以在线 Google Docs 的形式托管,链接见下方各自的描述中。本代码仓库包含每个模块对应的所有工件,包括实验练习和演示二进制文件、反汇编器数据库以及脚本。 现有模块的改进和新模块将持续发布。 ## 可用模块 * [恶意软件分析速成课程](#malware-analysis-crash-course) * [Go 逆向工程参考](#the-go-reverse-engineering-reference) * [时间旅行调试简介](#an-introduction-to-time-travel-debugging) ## 入门指南 要开始学习某个模块,我们**强烈建议**使用 [FLARE-VM](https://github.com/mandiant/flare-vm) 建立一个安全隔离的虚拟机 (VM) 环境,它提供了完成实验练习和演示所需的工具。我们还建议使用支持快照功能的虚拟化产品,这允许您将 VM 记录在干净的状态,并在开始新的分析时还原到该状态。目前所有模块仅支持 Intel x86-64 环境。 ### 使用分发的二进制文件 尽管所有分发的二进制文件和脚本都是专门为实际操作练习和演示而制作的,但由于某些文件表现出类似恶意软件的行为,它们可能会被自动化系统标记为恶意。**对于在安全隔离的虚拟机环境之外执行这些二进制文件和脚本所造成的任何损害或损失,本项目概不负责。** 本仓库中任何受密码保护的 ZIP 文件的密码均为 `flare`。 ## [恶意软件分析速成课程](https://docs.google.com/document/d/1I83PHeEImWacuQut02VBlkJ2-CJcuTYmt6mxa_xGqlA) **作者:Jae Young Kim 和 Nick Harbour** **模块链接:[恶意软件分析速成课程](https://docs.google.com/document/d/1I83PHeEImWacuQut02VBlkJ2-CJcuTYmt6mxa_xGqlA)** **模块目录**:`/macc` 随着静态分析工具和沙箱产品的不断进步,它们能提供关于恶意软件二进制文件越来越有价值的信息。然而,当可靠性和准确性至关重要时,要对恶意软件样本做出明确的结论,仍然需要通过手动逆向工程来全面理解该程序。 这是一门关于阅读、解释和操作汇编代码的速成课程,汇编代码仍然是逆向工程师技能组合的基石。在本培训结束时,您将掌握开始分析典型 Windows 恶意软件样本所需的实用技能。 本课程从 x86 汇编的基础知识开始,逐步引入更高级的编程结构。它还包括开始逆向基于 Windows 的恶意软件所必需的 Windows 基础知识。 本课程强调“在实践中学习”的方法,在课程进展中穿插了大量汇编黑客练习。我们相信,反复编写汇编并调试结果是快速掌握逆向大型、复杂程序所需基础知识的最佳途径。本课程还提供快速测验以及多个带有详细解决方案的实验。 ## [Go 逆向工程参考](https://docs.google.com/document/d/1AG76FBur7aagm36o-hNbny1X1Q3_IGHEjbP-JDsrJH4) **作者:Jae Young Kim** **模块链接:[Go 逆向工程参考](https://docs.google.com/document/d/1AG76FBur7aagm36o-hNbny1X1Q3_IGHEjbP-JDsrJH4)** 《Go 逆向工程参考》是逆向工程 Go 可执行文件的全面参考资料。该参考由三个部分组成: * **语言参考**:语言参考部分分解了每个 Go 语言特性,并研究了编译器如何在汇编级别实现它。 * **运行时参考**:运行时参考部分涵盖了 Go 运行时的关键主题(包括程序初始化、运行时类型描述符和写屏障),并提供了编译器发出的运行时函数的详尽列表及上下文解释。 * **可执行文件参考**:可执行文件参考部分涵盖了 Windows Go 可执行文件的结构和布局,其目标是识别并上下文化二进制文件中的每种类型的数据和元数据。 本参考中的所有材料目前仅限于使用 [Go 版本 1.24.0](https://github.com/golang/go/tree/go1.24.0) 编译的 Windows AMD64 可执行文件。 ## [时间旅行调试简介](https://docs.google.com/document/d/15gbXsTtWyxlUr5bxWO0wvWNHDZqxqh_LEqLanyZpdyw) **作者:Josh Stroschein 和 Jae Young Kim** **模块链接:[时间旅行调试简介](https://docs.google.com/document/d/15gbXsTtWyxlUr5bxWO0wvWNHDZqxqh_LEqLanyZpdyw)** **模块目录**:`/ttd` 时间旅行调试 (TTD) 是 Microsoft 作为 WinDbg 一部分提供的一项技术,它记录进程的执行过程以创建一个可以向前和向后重放的跟踪文件。与仅允许向前执行跟踪的传统调试不同,TTD 的“倒回”功能对于恶意软件分析和逆向工程尤为强大。此功能允许分析人员随时间检查程序行为,通过快速定位恶意事件显著加快分类分析过程。在执行过程中向前和向后单步执行的能力也有助于理解和绕过反分析和混淆技术。 TTD 捕获程序的执行路径和状态,通过一个允许与操作系统完全交互的透明层创建跟踪输出。跟踪文件保留了执行记录,可以与同事共享以促进协作,从而避免了可能影响实时调试结果的环境差异。执行过程中的特定点也可以被添加书签并共享,以指导同事的分析。此外,它还包含调试器数据模型对象,允许用户使用 LINQ 查询跟踪,以查找特定事件,如模块加载、shellcode 执行或进程注入事件。 本模块是 TTD 及其在 Windows 恶意软件分析中应用的简介。本模块包含一个详细的演示和一个实验,以提供有指导的、动手的实践。它还包括一个使用 JavaScript 自动化 TTD 任务的参考以及几个示例脚本。在本模块结束时,您应该已准备好开始将这个强大的工具整合到您的恶意软件分类工作流程中,并在复杂的调试场景下加快您的分析。 ## 贡献 我们目前不接受对本仓库的贡献,但欢迎将任何勘误、建议和反馈发送至 flare-learning-hub@google.com。 ## 邮件列表 发送主题为“subscribe”的电子邮件至 [flare-external@google.com](mailto:flare-external@google.com?subject=subscribe&body=subscribe),订阅 FLARE 邮件列表以获取社区公告。
标签:DAST, FLARE团队, Go语言逆向, Mandiant, Wayback Machine, Windows分析, 二进制分析, 云安全运维, 云资产清单, 反汇编, 反病毒, 可观察性, 威胁情报, 安全培训资源, 安全教育, 实验室练习, 开发者工具, 开源安全项目, 恶意代码分析, 恶意软件分析, 技术教程, 数据可视化, 日志审计, 时间旅行调试, 漏洞修复, 网络安全培训, 自定义脚本, 虚拟机环境, 逆向工程, 配置文件