ReverseEngineering
1.33K subscribers
50 photos
11 videos
112 files
916 links
Download Telegram
Consider this:

If a memory region does not appear in the list of loaded modules, should we conclude that it is necessarily malicious or unrelated to any executable file?
To reach a conclusion, we must examine the memory structure, the origin of the region, and the process's behavior in conjunction with one another.

What evidence does an analyst examine?

When investigating an unusual memory region, the following types of information can be useful:

None of these factors, taken in isolation, constitute definitive proof; the real value lies in how they are correlated with one another.

Relevance to EDR and Memory Forensics

From a defensive perspective, a key question arises:

Is it possible to identify all behaviors associated with code execution solely by examining the list of loaded modules? No.

The module list provides only a limited view of the process's state. A more thorough investigation may require data such as:

Process
|
├── Module Inventory
├── Virtual Memory Map
├── Memory Protection
├── Thread Information
├── Call Stack
└── Event Timeline
|
v
Behavioral Analysis

This facilitates a better distinction between the application's normal behavior and anomalous activity.

An important caveat:
Not all EDR (Endpoint Detection and Response) solutions have equal access to this information, nor do they all analyze it in the same way; the outcome depends on the quality of the product and the available telemetry.

Conceptual Exercise:

Compare the following two scenarios:

Scenario 1:

Region Type: Image
Module: Known DLL
Protection: RX (Read/Execute)

Scenario 2:

Region Type: Private
Module: No clear association
Protection: RX (Read/Execute)

Based solely on this information, one cannot definitively label the second scenario as malicious; however, it may warrant further data collection.

For both scenarios, ask the following question:

Is the memory structure consistent with the region type? Do the threads and the call stack provide relevant information?

Are there events occurring before and after the creation of a memory region?

Keep these three concepts distinct:

Standard Image Loading:
Loading via the conventional Windows path and managing the associated steps.

Manual Mapping:
Preparing an image in memory using loading logic that differs from the standard path.

Memory Forensics:
Examining the structure and state of memory to understand the events that took place within a process.

While related, these three concepts are not the same.

@reverseengine
QuarkslaB Dynamic binary Instrumentation

https://qbdi.quarkslab.com/introduction

@reverseengine