Book Image

Mastering Malware Analysis

By : Alexey Kleymenov, Amr Thabet
Book Image

Mastering Malware Analysis

By: Alexey Kleymenov, Amr Thabet

Overview of this book

With the ever-growing proliferation of technology, the risk of encountering malicious code or malware has also increased. Malware analysis has become one of the most trending topics in businesses in recent years due to multiple prominent ransomware attacks. Mastering Malware Analysis explains the universal patterns behind different malicious software types and how to analyze them using a variety of approaches. You will learn how to examine malware code and determine the damage it can possibly cause to your systems to ensure that it won't propagate any further. Moving forward, you will cover all aspects of malware analysis for the Windows platform in detail. Next, you will get to grips with obfuscation and anti-disassembly, anti-debugging, as well as anti-virtual machine techniques. This book will help you deal with modern cross-platform malware. Throughout the course of this book, you will explore real-world examples of static and dynamic malware analysis, unpacking and decrypting, and rootkit detection. Finally, this book will help you strengthen your defenses and prevent malware breaches for IoT devices and mobile platforms. By the end of this book, you will have learned to effectively analyze, investigate, and build innovative solutions to handle any malware incidents.
Table of Contents (18 chapters)
Free Chapter
1
Section 1: Fundamental Theory
3
Section 2: Diving Deep into Windows Malware
5
Unpacking, Decryption, and Deobfuscation
9
Section 3: Examining Cross-Platform Malware
13
Section 4: Looking into IoT and Other Platforms

How do rootkits perform an object manipulation attack?

For a rootkit to hide a process, it is enough to modify the ActiveProcessLink in the previous and the following EPROCESS objects to skip the EPROCESS of the process it wants to hide. The steps are simple and are given as follows:

  1. Get the current process's EPROCESS using the PsLookupProcessByProcessId API.
  2. Follow the ActiveProcessLinks to find the EPROCESS of the process that you want to hide.
  3. Change the FLink of the previous EPROCESS so that it doesn't point to this EPROCESS but to the next one instead.
  4. Change the BLink of the next process so that it doesn't point to this EPROCESS but to the previous one instead.

The challenging part in this process is to reliably find the ActiveProcessLinks with all the changes that Windows introduces from one version to another. There are multiple techniques in dealing with the offset of ActiveProcessLinks (and the process ID as well), which are as follows:

  1. Get the OS version and...