Materials for Windows Malware Analysis training (volume 1)
The goal of this training it to build understanding of various common techniques used by malware. It contains elements of programming as well as reverse engineering, and introduction to some Windows internals concepts.
It also showcases how various tools (including my own) can be used to achieve particular analysis goals.
This material would fit best to people who already have technical knowledge from surrounding areas: basics of programming and reverse engineering - yet, who want to enter into the field of Windows malware analysis.
This material is published under the Creative Commons BY License, which means:
This license lets others distribute, remix, adapt, and build upon your work, even commercially, as long as they credit you for the original creation.
If you noticed any error in this material, please report it in the Issues
If you need help in any of the exercises, or have additional questions, you can share it in discussions
Slides | Exercises | Topic |
---|---|---|
✔️ | ✔️ | compilation |
✔️ | ✔️ | PE |
✔️ | ✔️ | Process |
✔️ | ◻️ | WoW64 |
✔️ | ✔️ | shellcode |
◻️ | ◻️ | code injection |
◻️/✔️ | ◻️/✔️ | PE loaders |
Slides | Exercises | Topic |
---|---|---|
✔️ | ◻️ | Malware missions & tactics (intro) |
✔️ | ◻️ | hooking |
✔️ | ◻️ | persistence |
◻️ | ◻️ | UAC bypass |
✔️ | ◻️ | Banking trojans |
◻️ | ◻️ | RATs |
◻️ | ◻️ | Ransomware |
◻️ | ◻️ | Lateral movements |
Slides | Exercises | Topic |
---|---|---|
✔️ | ◻️ | Evasion and self-defence (intro) |
◻️/✔️ | ◻️ | Fingerprinting |
◻️ | ◻️ | String obfuscation |
◻️ | ◻️ | Imports obfuscation |
◻️ | ◻️ | Flow obfuscation |
◻️ | ◻️ | Malware antihooking |
◻️ | ◻️ | Review of approaches to deobfuscation |
◻️ | ◻️ | Kernel-mode malware components |