Analysing malware is daunting at first sight, as there are many questions but very little answers. The information security community provides information to researchers, both publicly and privately. Most reports, however, focus on the outcome of the research, rather than the process. As such, there are a lot of reports that show the results, without explicitly stating how they were obtained. In this course, every step that is taken, is explained in detail. As such, one will gain insight in both the thought process, as well as the technical analysis.
The course’s structure
This course starts at the very start, where it is assumed that the reader has little to no low level knowledge. It is expected that the reader is able to understand basic programming aspects such as functions/methods, variables, types and system calls.
Unlike most courses, this course aims to only use free and open-source software. This way, everybody can participate and follow the course, whereas most other courses are focused on proprietary tools which cost up to thousands of dollars. This won’t exclude such tools from being used in additional examples later on, but they will not be used as the sole tool in an example.
As the course progresses, the material gets more in-depth and complex. Throughout the chapters, practical cases included. These cases serve two purposes. Firstly, the reader is greeted with a puzzle every once in a while, instead of pure theory. Secondly, it provides insight in the reader’s learning curve with the help of a given case.
Table of contents
In the list below, each chapter (and the lessons in them) can be found. You can refer to this page as the table of contents or index, and bookmark it as such.
- Introduction to the course
- Practical case: Secura Grand Slam CTF “Easy Reverse”
- The workstation
- Basic CPU architecture
- Compilers and (dis)assemblers
- Assembly basics
- Assembly code
- Binary types
- Common techniques
- General techniques
- Analysing scripts
- Debugging Dot Net binaries
- Analysing high level languages
- Analysing low level languages
- Dealing with obfuscation
- Malware analysis
- Analysis scripts
- Malware snippets
- Obtaining samples
- Searching samples
- Trapping spam e-mails
- Setting up a honeypot
- Documentation
- Resources
- F.A.Q.
- Miscellaneous
- More to come!
To contact me, you can e-mail me at [info][at][maxkersten][dot][nl], send me a PM on Reddit, or DM me on Twitter @Libranalysis.