palantir1997/Malware-Analysis-Basics

GitHub: palantir1997/Malware-Analysis-Basics

一个系统性的Windows恶意软件分析入门学习仓库,整理了从PE文件结构到静态与动态分析的完整知识体系和实践路线图。

Stars: 0 | Forks: 0

# 🔍 恶意软件分析基础 [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Language](https://img.shields.io/badge/Language-Korean-red.svg)](README.md) [![Status](https://img.shields.io/badge/Status-Active-green.svg)](https://github.com/palantir1997/Malware-Analysis-Basics) ## 📚 关于本仓库 本仓库用于整理和分享在 **Windows 恶意软件分析训练营** 课程中学习到的内容。 ### 目标 - ✅ 整理恶意软件分析的基础概念 - ✅ 分享实际分析案例与技巧 - ✅ 提供成为安全专家的学习资料 - ✅ 与学习伙伴共享知识 ## 🎯 学习内容 ### 1️⃣ PE 文件结构 (Portable Executable) - PE 文件的定义与结构 - 头部分析 - Import/Export 函数 - 节 (Section) 分析 ### 2️⃣ DLL 与 API 函数 - DLL 的作用与重要性 - 主要系统 DLL 文件 - `Kernel32.dll` - 内存、文件输入/输出 - `USER32.dll` - UI 管理 - `ADVAPI32.dll` - 注册表访问 - `Wininet.dll` - 网络功能 - `GDI32.dll` - 图形输出 - `SHELL32.dll` - Shell 接口 - 其他重要 DLL ### 3️⃣ 恶意软件分析技术 - **静态分析 (Static Analysis)** - PE 头部分析 - Import 函数分析 - 字符串提取 - 加壳检测 - **动态分析 (Dynamic Analysis)** - 进程监控 - 文件系统监视 - 注册表监控 - 网络流量分析 ### 4️⃣ 识别恶意软件的意图 - 通过 DLL 函数组合分析意图 - 基于主机的证据 (Host-based Evidence) - 基于网络的证据 (Network-based Evidence) ### 5️⃣ 分析工具 - **Flare VM** - 多合一分析环境 - **IDA Pro** / **Ghidra** - 反汇编器 - **Wireshark** - 网络分析 - **Process Monitor** - 进程监视 - **Regshot** - 注册表更改追踪 ## 📖 核心概念 ### 恶意软件意图分析示例 ``` WriteFile() + VirtualAlloc() 함수 사용 ↓ "메모리를 할당하고 시스템 파일을 변조하려고 한다" ↓ ⚠️ 고위험 악성코드 ``` ### 分析的 4 个目的 | 目的 | 说明 | 示例 | |-----|------|------| | **基础分析** | 了解文件的基本属性 | 文件大小、类型、编译时间 | | **编译情况** | 确认使用的编程语言 | C/C++, C#, Python, Go | | **加壳情况** | 检测加壳的恶意软件并脱壳 | UPX, ASPack 等 | | **依赖性确认** | 了解所需的 DLL 和 API 函数 | 网络、文件系统访问 | ### PE 文件的主要概念 - **Offset**: 距离文件第一个字节的偏移量 - **VA (Virtual Access)**: 进程虚拟内存的绝对地址 - **RVA (Relative Address)**: 相对于基地址的相对地址 ## 🛠️ 所需环境 ### 必要条件 - Windows 10 Pro 或更高版本 - 至少 60GB 存储空间 - VirtualBox 或 VMware ### 推荐工具 - Flare VM (集成了所有工具的环境) - IDA Free / Ghidra (免费的反汇编器) - Wireshark (网络分析) - Process Monitor (进程监控) ## 📚 学习路线图 ``` Week 1-2: 기초 개념 ├─ PE 파일 구조 이해 ├─ DLL과 API 함수 ├─ 악성코드 분류 └─ 분석 도구 소개 Week 3-4: 정적 분석 ├─ 파일 분석 기법 ├─ Import 함수 분석 ├─ 문자열 및 패턴 분석 └─ 패킹 탐지 Week 5-6: 동적 분석 ├─ 가상 환경 구성 ├─ 프로세스 모니터링 ├─ 네트워크 분석 └─ 메모리 분석 Week 7-8: 고급 분석 ├─ 리버스 엔지니어링 ├─ 난독화된 코드 분석 ├─ 실제 악성코드 분석 └─ 분석 보고서 작성 ``` ## 📊 学习进度 - [x] 理解基本概念 - [x] PE 文件结构 - [x] DLL 与 API - [x] 分析技术概论 - [ ] 静态分析进阶 - [ ] 加壳检测与脱壳 - [ ] 混淆代码分析 - [ ] 高级 PE 分析 - [ ] 动态分析进阶 - [ ] 内存取证 - [ ] 网络行为分析 - [ ] 反分析技术 - [ ] 实战项目 - [ ] 真实恶意软件分析 - [ ] 编写分析报告 - [ ] 公开漏洞分析 ## 📖 推荐学习资料 ### 官方文档 - [Flare VM GitHub](https://github.com/mandiant/flare-vm) - [MITRE ATT&CK Framework](https://attack.mitre.org/) - [Microsoft PE Format Specification](https://docs.microsoft.com/en-us/windows/win32/debug/pe-format) ### 书籍 - 📕 **Practical Malware Analysis** - Michael Sikorski, Andrew Honig - 📕 **The Art of Memory Forensics** - Michael Hale Ligh - 📕 **Reverse Engineering for Beginners** - Dennis Yurichev ### 在线课程 - Malwarebytes Labs Blog - SANS Cyber Aces - HackTheBox Challenges ### 恶意软件样本 - [Practical Malware Analysis Labs](https://github.com/mikesiko/PracticalMalwareAnalysis-Labs) - [VirusShare](https://virusshare.com/) (注意:真实恶意软件) - [YARA Rules](https://github.com/Yara-Rules/rules) ## 📝 许可证 本项目遵循 [MIT License](LICENSE)。 ## ⚠️ 注意事项 ### 安全与法律声明 - ⚠️ 本仓库中的恶意软件样本仅供**教育目的**使用 - ⚠️ 务必始终在**隔离的虚拟环境**中进行分析 - ⚠️ 真实恶意软件分析**必须在获得授权的环境**中进行 - ⚠️ 法律责任由用户自行承担 ### 隐私保护 - 在进行实际分析时,请注意不要包含个人信息 - 在分享结果时,请移除敏感信息 ## 🎓 学习之旅 **开课日期:** 2026年7月14日开始 **训练营:** 恶意软件分析基础 **进展状态:** 🟢 进行中 ## 📊 仓库统计 ![GitHub followers](https://img.shields.io/github/followers/palantir1997?style=social) ![GitHub stars](https://img.shields.io/github/stars/palantir1997/Malware-Analysis-Basics?style=social) ![Last commit](https://img.shields.io/github/last-commit/palantir1997/Malware-Analysis-Basics) **⭐ 本仓库对您有帮助吗?请点击 Star!** **🔔 点击 Watch 按钮获取最新更新!**
**Made with ❤️ for Malware Analysis Learning** *通过不断学习,正逐步成长为安全专家...*
标签:云安全监控, 云资产清单, 合规性检查, 学习笔记, 恶意代码分析, 逆向工程, 配置文件, 静态分析