mirror of
https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation.git
synced 2026-08-04 09:41:40 +02:00
Update README.md
This commit is contained in:
@@ -19,7 +19,7 @@ This attack included several stages including DodgeBox, a reflective DLL loader
|
||||
3. Data exfiltration: over GoogleDrive API C2 Channe, This integrates GoogleDrive API functionality to facilitate communication between the compromised system and the attacker-controlled server thereby potentially hiding the traffic within legitimate GoogleDrive communication.
|
||||
|
||||
|
||||
## The first stage (DodgeBox) DLL loader
|
||||
## The first stage (DodgeBox DLL loader)
|
||||
|
||||
|
||||
This payload detects sandbox environments by checking for the presence of the SbieDll module and halts execution if found. It dynamically resolves API functions using obfuscated hashes to evade detection. The code allocates memory in the process using NtAllocateVirtualMemory, potentially for injecting or executing malicious code. It employs FNV-1a hashing to obscure strings like DLL and function names. Additionally, it uses DLL sideloading to execute DodgeBox, leveraging a legitimate executable like taskhost.exe to bypass security mechanisms.
|
||||
@@ -64,3 +64,32 @@ The provided test values demonstrate hashing of DLL and function names (ntdll an
|
||||

|
||||
|
||||
|
||||
## The Second stage (generate obfuscated hashes - fnv1a_salted)
|
||||
|
||||
The fnv1a_salted function can be used to generate obfuscated hashes for string identifiers (like DLL or function names) by combining them with a salt. These hashes can then be used in the code for API function resolution or obfuscation to avoid detection.
|
||||
|
||||

|
||||
|
||||
|
||||
Use fnv1a_salted
|
||||
|
||||
Input Preparation:
|
||||
Prepare the data (e.g., ntdll or LdrLoadDll) as a byte string.
|
||||
Prepare the salt, which is also a byte string.
|
||||
Use the default or custom seed_value for the hash calculation.
|
||||
|
||||
Function Usage:
|
||||
Call fnv1a_salted(data, salt) to generate the obfuscated hash.
|
||||
The hash output is a 32-bit integer, which can be converted to hexadecimal for use in your program.
|
||||
|
||||
Practical Application:
|
||||
Use the calculated hash values as constants in your code for obfuscated API resolution, avoiding the use of plain strings (e.g., "ntdll").
|
||||
|
||||
Why the attackers Use Hashing?
|
||||
|
||||
1.Evasion: Prevents easy detection by antivirus or static analysis tools.
|
||||
|
||||
2.Obfuscation: Masks the real purpose of the payload by hiding sensitive strings.
|
||||
|
||||
3.Memory-Only Execution: Useful in memory-resident malware that avoids writing cleartext strings to disk.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user