Book Image

Malware Analysis Techniques

By : Dylan Barker
Book Image

Malware Analysis Techniques

By: Dylan Barker

Overview of this book

Malicious software poses a threat to every enterprise globally. Its growth is costing businesses millions of dollars due to currency theft as a result of ransomware and lost productivity. With this book, you'll learn how to quickly triage, identify, attribute, and remediate threats using proven analysis techniques. Malware Analysis Techniques begins with an overview of the nature of malware, the current threat landscape, and its impact on businesses. Once you've covered the basics of malware, you'll move on to discover more about the technical nature of malicious software, including static characteristics and dynamic attack methods within the MITRE ATT&CK framework. You'll also find out how to perform practical malware analysis by applying all that you've learned to attribute the malware to a specific threat and weaponize the adversary's indicators of compromise (IOCs) and methodology against them to prevent them from attacking. Finally, you'll get to grips with common tooling utilized by professional malware analysts and understand the basics of reverse engineering with the NSA's Ghidra platform. By the end of this malware analysis book, you’ll be able to perform in-depth static and dynamic analysis and automate key tasks for improved defense against attacks.
Table of Contents (17 chapters)
1
Section 1: Basic Techniques
6
Section 2: Debugging and Anti-Analysis – Going Deep
11
Section 3: Reporting and Weaponizing Your Findings
14
Section 4: Challenge Solutions

Utilizing NSA's Ghidra for static analysis

Many of the static analysis techniques we have covered so far can be done within NSA's Ghidra platform as well, for a single-pane-of-glass view. We'll walk through the process of setting up a project in Ghidra, reviewing some of the information we've already looked at, and then diving into some other capabilities within Ghidra.

Setting up a project in Ghidra

When we start Ghidra, we'll be on a screen indicating that we have no active project. To begin work, we'll need to define a project, which can be done under the File menu:

Figure 5.14 – Creating a new Ghidra project

Figure 5.14 – Creating a new Ghidra project

Once we've selected this, we'll be asked to name our project. Any name will do, as long as it is meaningful to you:

Figure 5.15 – Naming our project

Figure 5.15 – Naming our project

Once Next is selected, the project is created. Now, to analyze a binary, simply drag and drop it onto Ghidra...