HuskyHacks/PMAT-labs
GitHub: HuskyHacks/PMAT-labs
配套「实战恶意软件分析与鉴别」课程的实验室仓库,提供从入门到进阶的结构化恶意软件样本和分析练习。
Stars: 1095 | Forks: 251
# PMAT-labs 🔬
欢迎来到实战恶意软件分析与鉴别 实验室。
[![发布版本][img-version-badge]][release] [![课程链接][course]][course-link] [![EULA][img-license-badge]][eula]
## 🔴 警告 🔴
请在继续之前仔细阅读本文。
本仓库包含用于实战恶意软件分析与鉴别课程 (PMAT) 的活体恶意软件样本。这些样本要么是为了模拟常见恶意软件特征而编写的,要么是活生生的、现实世界中“野外捕获”的样本。这两类样本都具有危险性。必须始终极其谨慎地处理这些样本。
- 请勿将样本下载到非本人所有的计算机上。
- 请勿在非本人所有的计算机上执行任何样本。
- 请勿在无法还原到保存状态的环境(即虚拟机)中下载和/或执行这些样本。
- 在使用这些样本时,请始终遵循安全的恶意软件处理程序。
下载本仓库的内容,即表示您同意最终用户许可协议,无论您是否购买了该课程。请参阅 `EULA.md` 以获取更多信息。
## 关于课程 ✏️📕
如果您购买课程后来到这里,欢迎!感谢您作为内容创作者支持我。请继续阅读下一节以了解实验室仓库的运作方式。
如果您尚未购买课程来到这里,欢迎!课程实验室是免费的(并且永远免费),托管在 GitHub 上供任何感兴趣的人使用。如果您不知道从何开始,和/或有兴趣通过 9 个多小时的优质视频内容学习恶意软件分析,请考虑购买课程!这些视频是怀着爱心制作的,旨在将您培养成一名有能力、知识渊博的恶意软件分析师。
如果您想购买课程并作为内容创作者支持我,也请考虑使用我的推荐链接!
[![课程链接][course]][course-link]
## 🧭 结构 🗺️
本仓库的结构与课程视频相对应。顶级目录包含章节名称,子目录是课程该部分使用的样本。例如:
```
📦labs
┣ 📂0-1.HandlingAndSafety
┃ ┣ 📜Malware.Calc.exe.7z
┃ ┣ 📜md5sum.txt
┃ ┣ 📜password.txt
┃ ┗ 📜sha256sum.txt
┣ 📂1-1.BasicStaticAnalysis
┃ ┣ 📂Malware.PackedAndNotPacked.exe.malz
┃ ┃ ┣ 📜Malware.PackedAndNotPacked.exe.zip
┃ ┃ ┣ 📜md5sum.txt
┃ ┃ ┣ 📜password.txt
┃ ┃ ┗ 📜sha256sum.txt
┃ ┣ 📂Malware.Unknown.exe.malz
┃ ┃ ┣ 📜Malware.Unknown.exe.7z
┃ ┃ ┣ 📜README.txt
┃ ┃ ┗ 📜password.txt
...[snip]...
```
在上面的示例中,`0-1.HandlingAndSafety` 目录包含 `Malware.Calc.exe.7z` 的压缩副本以及该样本附带的其他文件。它用于课程的 `Handling and Safety`(处理与安全)部分。
在处理与安全样本之下,`1-1.BasicStaticAnalysis` 目录包含该部分使用的两个样本。整个课程都遵循此结构,因此请检查您当前所在的章节,然后视频将引用要处理的样本。
## 主题 📚
每个部分按主题细分:
### 0. 恶意软件处理与安全
本节涵盖基本的恶意软件处理和安全,包括恶意软件去敏 以及安全传输和存储做法。
### 1. 基础静态 | 基础动态
本节涵盖初步鉴别、静态分析、初始引爆 以及基础分析的主要方法论。
### 2. 高级静态 | 高级动态
本节涵盖高级恶意软件分析方法论,并介绍汇编语言、调试、反编译 以及在 ASM 层面检查 Windows API。
### 3. 特殊类别恶意软件
本节涵盖不同特殊类别的恶意软件,如恶意文档、C# 程序集 和基于脚本的恶意软件。还包括移动平台恶意软件分析部分。
### 4. Boss 战!
Boss 战让您对抗臭名昭著的现实世界恶意软件样本,并要求您进行全面分析。
### 5. 自动化 | 规则编写 | 报告编写
本节涵盖有效的报告编写、Yara 规则编写 以及使用 Blue-Jupyter 自动化鉴别的初始阶段。
### 6. 课程总结:课程期末 | 参考 | 资源 | 延伸阅读
课程期末包括一个终极项目,您将结合本课程的所有相关技能,针对课程中的给定样本撰写并发布开源信息。
课程总结包括延伸阅读、参考资料和有助于进一步学习的资源。
`请注意:` 某些样本在不同章节中会被多次使用。请检查课程视频引用的是哪个样本,并确保您拥有给定视频的正确样本。
## 🏋️♀️ 挑战 🏋️
本课程中的挑战样本用作不同章节的小型终极项目。每个标记为挑战的样本都包含一组关于该样本的问题以及一个 `answers/` 目录。`answers/` 目录中的 README 包含挑战中每个问题的简要答案。尝试在不先查看答案的情况下尽可能独立完成!
## 密码 🔒
每个样本都经过压缩并受密码保护。所有恶意软件样本的密码是 `infected`。
## 报告模板 ☑
在课程的最后几个部分中,我教授了如何编写简单的恶意软件分析报告。该部分使用的模板在[这里](https://github.com/HuskyHacks/PMAT-labs/raw/main/labs/5-3.ReportWriting/ReportTemplate.docx)。请随意将其用作本课程或您想创建的任何其他恶意软件报告的模板。

## Cosmo? 🐈
您可能想知道,为什么根目录下有一只英俊猫咪的照片?
```
cosmo.jpeg
```
那是 Cosmo,我的猫。他不擅长恶意软件分析,所以他只是顺道学习一下。我对他期望不高(毕竟他只是一只猫)。
`cosmo.jpeg` 具有两个功能。
### 替身数据文件
本课程中的恶意软件样本旨在执行不同的功能。有些旨在破坏数据。有些旨在窃取数据。有些根本不会触碰您的数据。
`cosmo.jpeg` 是普通最终用户主机上可能拥有的宝贵数据的占位符。本课程中的某些恶意软件样本会窃取他、加密他、编码并渗漏他,全套操作。因此,为了准确表现数据盗窃或破坏可能的样子,本课程中专门编写的恶意软件样本将特别针对此文件。
这是一个有点大的文件(约 1.6MB),不像 Cosmo 本人那样是一只笨重的猫。所以它应该能很好地充当数据文件占位符。
### 环境密钥
我从头开始编写本课程的样本,以确保尽可能安全。我知道将恶意软件样本发布到世界上,无论您的意图如何,都会带来风险。因此,为了帮助降低这些样本被恶意使用的可能性,我将它们绑定到这个特定文件。这是一种红队战术,确保只有在环境中存在特定标识符时,Payload 才会触发。位于 FLARE-VM 桌面上的 `cosmo.jpeg` 充当本课程中大多数恶意软件样本的密钥。
### 说明
当您完成下载并解压此实验室仓库后,将 `cosmo.jpeg` 复制到 Windows FLARE-VM 主机上主用户帐户的桌面。就这样!