@cr3ghost:如果你正在学习恶意软件分析或逆向工程,一定要收藏这个。RPISEC 公开了其……的全部课程资料
摘要
RPISEC 在 GitHub 上免费发布了其大学级别恶意软件分析课程的全部资料,涵盖 12 节讲座、10 个实验和 4 个项目,内容涉及逆向工程、恶意软件分析以及反分析技术。这些资料基于《Practical Malware Analysis》一书编写,面向零逆向工程经验的初学者。
查看缓存全文
缓存时间: 2026/10/01 12:23
如果你正在学习恶意软件分析或逆向工程,一定要收藏这个。RPISEC 免费公开了其恶意软件分析大学课程的全部材料。12 节课 + 10 个动手实验 + 4 个项目,涵盖:
• 静态 + 动态恶意软件分析 • x86 + IDA • Windows 内部机制 + WinAPI • 恶意软件行为 + 持久化 • 反反汇编 • 反虚拟机 + 反调试 + 反杀毒 • 加壳 + 脱壳 • Windows 内核 + 驱动 • Rootkit 技术 • Hooking + DKOM • 反取证 + 隐蔽信道 • 运行时进程操纵 • APT 样本分析
这套课程专为零逆向经验的学生设计,深度基于《Practical Malware Analysis》。 https://github.com/RPISEC/Malware
特别感谢 RPISEC 以及原作者 Branden Clark、Austin Ralls 和 Aaron Sedlacek 公开这些课程材料。 #MalwareAnalysis #ReverseEngineering #WindowsInternals
RPISEC/Malware
来源:https://github.com/RPISEC/Malware
恶意软件分析 - CSCI 4976
本仓库包含 RPISEC(http://rpis.ec)在 2015 年秋季于伦斯勒理工学院(RPI,http://rpi.edu)教授恶意软件分析课程时开发并使用的材料。这是一门完全由学生自主开发和运行的大学课程,主要以 Michael Sikorski 和 Andrew Honig 所著的《Practical Malware Analysis》(http://www.amazon.com/Practical-Malware-Analysis-Dissecting-Malicious/dp/1593272901)为基础,教授逆向工程、恶意行为、恶意软件以及反分析技术方面的技能。
关于课程
《Practical Malware Analysis》(PMA)是许多 RPISEC 成员和校友的入门读物。这本书可读性很好、信息量丰富,书后的实验讲解更是弥足珍贵。我们不想重复造轮子,因此将大部分课程结构围绕这本书来搭建。学生被要求在课前阅读 PMA 书中相关章节,这样我们就能在课堂上花更多时间演示技能与技术,并带学生一起完成动手实例。
教学大纲: http://security.cs.rpi.edu/courses/malware-fall2015/Syllabus.pdf
注意:本课程使用的大部分样本都具有恶意性质,请务必小心处理! 为避免有人误将样本运行在重要机器上,也为了防止杀毒软件拦截课程材料,所有样本均已压缩并加密,密码为 ‘infected’。
课程简介
随着互联网使用量的激增以及计算系统在关键基础设施中的普及,技术无疑已成为现代日常生活的重要组成部分。遗憾的是,这个日益网络化的现代世界,也让恶意软件(“malware”)的传播成为可能,其范围从恼人的广告软件到先进的国家级网络武器。因此,检测、分析、理解、控制和清除恶意软件的能力,正日益成为经济与国家安全的重要议题。
本课程将通过阅读材料以及对真实样本的动手互动分析,向学生介绍现代恶意软件分析技术。完成本课程后,学生将具备使用静态和动态分析方法分析当代先进恶意软件的技能。
先修知识
本课程在 RPI 的先修课是计算机组成(CSCI 2500,http://catalog.rpi.edu/preview_course_nopop.php?catoid=10&coid=16571)。计算机组成是 RPI 的基础计算机体系结构课程,内容包括 C、MIPS 汇编、x86 汇编、数据通路(Datapaths)、CPU 流水线、CPU 缓存、内存映射等。我们预期的恶意软件分析课程受众是零逆向工程经验的学生。不过,要学习这门课程,你至少可能需要以下技能:
- C/C++ 的基本使用能力
- 任何汇编层面的经验
课程内容安排
| 课次 | 标题 | 主题 |
|---|---|---|
| 01 | 引言 | 教学大纲、基础静态分析、基础动态分析 |
| 02 | 高级静态分析 | x86、IDA、代码结构 |
| 03 | 分析 Windows 程序 | WinAPI、句柄、Windows 内部机制、网络、COM |
| 04 | 高级动态分析 | 调试概念与工具 |
| 05 | 恶意软件行为 | 恶意活动与技术 |
| 06 | 数据编码与恶意软件对抗 | 数据隐藏、恶意软件对抗技术 |
| 07 | 隐蔽的恶意软件启动 | 隐蔽启动与执行 |
| 08 | 反分析 | 反反汇编、反虚拟机、反调试、反杀毒 |
| 09 | 加壳与脱壳 | 加壳器、加壳与脱壳 |
| 10 | Windows 内核入门 | 内核基础、Windows 内核 API、Windows 驱动、内核调试 |
| 11 | Rootkit 技术 | Hooking、补丁、直接内核对象操纵 |
| 12 | Rootkit 反取证与隐蔽信道 | 反取证、隐蔽信道 |
实验内容安排
| 实验 | 主题 |
|---|---|
| 01 | 基础分析 |
| 02 | 高级静态分析 |
| 03 | 分析 Windows 程序 |
| 04 | 高级动态分析 |
| 05 | 恶意软件行为 |
| 06 | 数据编码与恶意软件对抗 |
| 07 | 隐蔽的恶意软件启动 |
| 08 | 反分析 |
| 09 | 加壳与脱壳 |
| 10 | Windows 内核 |
项目内容安排
| 项目 | 主题 |
|---|---|
| 01 | 恶意软件行为 |
| 02 | 运行时进程操纵 |
| 03 | 脱壳与自动化 |
| 04 | APT 样本分析 |
更多练习链接:
- Practical Malware Analysis Labs(http://practicalmalwareanalysis.com/labs/)
- Practical Reverse Engineering Labs(https://grsecurity.net/malware_research/)
分析环境
搭建一个“安全“且可用的分析环境,从轻松到几乎不可能都有可能,取决于你想深入到什么程度。PMA 一书用整整一章(第 2 章)来讨论这个问题。就本课程而言,我们决定搭建一台 Windows 7 32 位虚拟机。遗憾的是,虽然我们课程中用到的所有软件都是免费的,但 Windows 并非如此,因此我们无法像当年分发 MBE 的 Warzone 那样分发这台虚拟机。不过,我们已包含一份课程全程所用工具的完整清单,以及一个安装程序集合。还有一些我们未列出、但仍包含在安装包中的“基础必备工具“(python、cygwin 等)。请访问 releases(https://github.com/RPISEC/Malware/releases)页面获取最新工具包。
工具
- Dependency Walker(http://www.dependencywalker.com/)
- Fakenet(http://practicalmalwareanalysis.com/fakenet/)
- FileAlyzer 2.0(https://www.safer-networking.org/products/filealyzer/)
- HxD(http://mh-nexus.de/en/hxd/)
- IDA Free(https://www.hex-rays.com/products/ida/support/download_freeware.shtml)
- ImpREC(https://tuts4you.com/download.php?view.415)
- LordPE(http://www.woodmann.com/collaborative/tools/index.php/LordPE)
- Malcode Analyst Pack(http://sandsprite.com/iDef/MAP/)
- OllyDbg(http://www.ollydbg.de/)
- PEiD(https://www.aldeid.com/wiki/PEiD)
- PEview(http://wjradburn.com/software/)
- Regshot(http://sourceforge.net/projects/regshot/)
- Resource Hacker(http://www.angusj.com/resourcehacker/)
- Sysinternals Suite(https://technet.microsoft.com/en-us/sysinternals/bb842062.aspx)
- UPX(http://upx.sourceforge.net/)
- Visual Studio(https://www.visualstudio.com/en-us/visual-studio-homepage-vs.aspx)
- Windbg(https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063(v=vs.85).aspx)
- Wireshark(https://www.wireshark.org/)
常见问题
如果你在问题上卡住了,或者有任何疑问,欢迎随时到 IRC 上提问。
zip 文件的密码是什么?
‘infected’,不带引号。
这些文件是恶意的/危险的吗?
是的。并非所有文件都具有恶意性质,但大多数是。请务必始终将它们保存在合适的分析环境内。
为什么 XYZ 这节课的幻灯片内容这么少?
大量课堂时间都花在了动手实例上,因为我们假定学生已经提前阅读了 PMA 书中的相关内容。因此,幻灯片中涉及 PMA 书材料的内容更多是提纲性质的。请先阅读相关章节,然后去做 PMA 书后的实验讲解,它们是非常棒的资源。
你们有讲课的视频吗?
很遗憾,我们没有录制任何一节课的视频,也许下次会。
在哪里可以学到更多?
多玩一些攻防游戏(wargames):
- IO Wargame(https://io.netgarage.org/)
- Pwnable KR(http://pwnable.kr/)
- Pwnable TW(https://pwnable.tw/)
- OverTheWire(http://overthewire.org/wargames/)
- Reversing KR(http://reversing.kr/)
- W3Challs(http://w3challs.com/)
- crackmes.de(http://crackmes.de/)
多逆向一些样本:
- Contagio(http://contagiodump.blogspot.com/)
- Kernelmode.info(http://www.kernelmode.info/forum/)
- Malware.lu(https://malware.lu/)
- malwr(https://malwr.com/)
- Hybrid Analysis(https://www.hybrid-analysis.com/recent-submissions?filter=file)
以下书籍是拓展恶意软件分析与逆向工程知识的绝佳资源,建议按此顺序阅读:
- Practical Malware Analysis
- Practical Reverse Engineering
- Rootkits: Subverting the Windows Kernel
- The Rootkit Arsenal: Escape and Evasion in the Dark Corners of the System
- Rootkits and Bootkits: Reversing Modern Malware and Next Generation Threats
这三本书同样非常出色:
- The Antivirus Hacker’s Handbook
- The Art of Memory Forensics
- Windows Internals
在 CTF 比赛举办时,也别忘了参加 CTFs(https://ctftime.org/)!
我有问题,怎样才能联系到你们?
我们的社团有着相当活跃的 IRC(http://rpis.ec/irc)社区,那里的人多半能回答你的问题。
服务器: irc.rpis.ec
端口: 6667,或 6697(SSL)
如果你希望使用更正式的沟通方式,可以通过 contact [at] rpis.ec 联系我们。
许可说明
本课程明确仅用于学术与教育用途。在分享和分发我们的课程材料时,请牢记这一点。具体涉及的许可协议如下。
课程幻灯片
课程幻灯片受知识共享 署名-非商业性使用 4.0 国际许可协议(CC BY-NC 4.0,https://creativecommons.org/licenses/by-nc/4.0/legalcode)保护。
致谢
这门课程的开发与实施耗费了数百小时和无数个通宵。本节用于感谢那些让这一切成为可能的人。
原作者
- Branden Clark
- Austin Ralls
- Aaron Sedlacek
特别鸣谢
- RPI 计算机科学系(http://www.cs.rpi.edu/)给予我们这次机会,并让我们放手去做
- Bülent Yener 教授对本课程的支持
- 我们的学生们,一整学期都容忍着我们
相似文章
@bkdgiffug: 网安(黑客)学习这座宝藏库,最近被我挖到了,而且清一色免费开源。 一个 GitHub 仓库里硬是塞进了 70 个网络安全实战项目,从一行代码都没碰过的小白,一路拽到高阶老鸟,梯度铺得清清楚楚。 想学的东西基本都能找到: 哈希识别、端口扫描…
介绍一个免费开源的 GitHub 仓库,内含 70 个从入门到高阶的网络安全实战项目,涵盖哈希识别、端口扫描、JWT/OAuth 漏洞靶场及供应链攻击模拟,并提供完整源码与学习文档。
@0x0SojalSec: AI Ghidra 和 Radare2:AI 驱动的逆向工程。能够反汇编、反编译、使用 YARA 扫描等的 AI 代理,以及…
Reversecore MCP 是一款企业级的 AI 驱动的逆向工程与安全分析工具,通过模型上下文协议(MCP)与 AI 助手集成,提供超过 50 种工具,用于静态/动态分析、恶意软件分析、漏洞研究等。
@rohanpaul_ai:超酷的 GitHub 仓库,29k stars,1 个 MCP 服务器,支持跨二进制文件、应用程序及运行时行为的逆向工程。
热门 GitHub 仓库(29k stars)推出 MCP 服务器 REA,支持对二进制文件、应用程序及运行时行为进行逆向工程,让 AI 代理无需源码即可分析功能实现原理并复现代码。
@MSFTResearch:Project Ire 分析了最新发现的恶意软件样本,并通过逆向工程确定其意图——识别出 LOTUSLIT……
微软的 Project Ire 是一个自主恶意软件分类代理,它通过行为逆向工程成功识别出一个规避了主流 EDR 工具的 LOTUSLITE 变体,且无需依赖 IOC 签名。
@LinearUncle:近几天爆火的反向工程库 REA,作者 morluto 还有另一个……
作者推荐反向工程库 REA 作者 morluto 的另一个 GitHub 仓库 awesome-reverse-engineering,该仓库汇集了反向工程的学习资源、开源书籍和各类工具,覆盖二进制、游戏、编程语言、Web、硬件等多个方向。