
Extrahiert und entschlüsselt statisch AES-CBC/XOR-verschleierten Shellcode aus laZzzy-verpackten PE-Binärdateien mittels Signaturabgleich und RIP-relativer Adressauflösung, ohne Ausführung oder Emulation.
Ein statisches Analysetool zum Extrahieren von verschlüsseltem Shellcode aus laZzzy-verpackten PE-Binärdateien, ohne dass eine dynamische Ausführung, Debugging oder Emulation erforderlich ist.
laZzzy Dump ist ein Malware-Analysetool, das die Analyse durch die statische Extraktion von Shellcode aus Binärdateien unterstützt, die mit laZzzy kompiliert wurden, einem Open-Source-Shellcode-Loader, der AES-CBC-Verschlüsselung in Kombination mit XOR-Verschleierung verwendet.
Bei Incident-Response-Untersuchungen mit mehrstufigen Malware-Ketten ist die manuelle Entschlüsselung von laZzzy-Payloads mühsam und zeitaufwändig. Dieses Tool automatisiert den Prozess durch:
laZzzy erzeugt eine vollständige Windows-PE-Executable, die Folgendes enthält:
Die von laZzzy kompilierte AESDecrypt-Funktion enthält eine erkennbare Instruktionssequenz:
Das Tool durchsucht die Binärdatei nach diesem Muster und lokalisiert die Funktion, ohne dass ein Disassembler erforderlich ist.
Sobald die Funktion gefunden wurde, extrahiert das Tool Operanden aus LEA- und MOV-Instruktionen und löst RIP-relative Adressen auf, um Folgendes wiederherzustellen:
Das extrahierte Material wird entschlüsselt mittels:
Das Ergebnis ist der rohe Shellcode, bereit für die weitere Analyse.
pip install pefile pycryptodome
./laZzzy_dump.py -n <path_to_lazzy_binary>
./laZzzy_dump.py -n malware.exe
Das Tool gibt aus:
<binary_path>_dumped[+] Processing malware.exe
[+] Found AESDecrypt function: Virtual Address:0x140026db0 File Offset:0x2db0
[+] Key:
[+] 0002f010 48 c2 f4 a1 12 34 56 78 9a bc de f0 11 22 33 44 |H..q...x......"3D|
[+] IV:
[+] 0002f020 55 66 77 88 99 aa bb cc dd ee ff 00 11 22 33 44 |Ufgw............"3D|
[+] XOR Key:
[+] 0002f030 aa bb cc dd ee ff 00 11 22 33 44 55 66 77 88 99 |......"3DUfw....|
[+] Writing shellcode to malware.exe_dumped
Das Tool wurde anhand mehrerer unabhängig generierter laZzzy-Samples mit unterschiedlichen Build-Konfigurationen und Payload-Typen validiert. Das Signaturmuster lokalisiert die AESDecrypt-Funktion über diese Samples hinweg erfolgreich, ohne Fehlalarme.
Dieses Tool wird ausschließlich für Bildungszwecke und autorisierte Sicherheitsforschung bereitgestellt. Unbefugter Zugriff auf Computersysteme ist illegal. Verwenden Sie es nur auf Systemen, die Ihnen gehören oder für die Sie eine ausdrückliche Testgenehmigung haben.