Crypto in Malware / Reverse Engineering
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Dieser Unterabschnitt hilft, wenn du Crypto/Kompression in Binärdateien siehst und sie schnell erkennen möchtest.
Erkennen von kryptographischen / Kompressions-Algorithmen
Heuristiken — technikbasiert
- Viele shifts/rotates, XORs und 32-Bit-Arithmetik in engen Schleifen.
- Lookup-Tabellen (S-boxes) in
.dataoder zur Laufzeit erzeugt. - Wiederholte Schleifen mit
0x100Iterationen deuten auf RC4 hin.
Windows crypto/compression APIs
CryptDeriveKey / CryptCreateHash
Wenn diese verwendet werden, ist der zweite Parameter ein ALG_ID:
.png)
Tabelle: https://learn.microsoft.com/en-us/windows/win32/seccrypto/alg-id
RtlCompressBuffer / RtlDecompressBuffer
Deutet oft auf eingebaute Windows-Kompression hin (LZNT1, XPRESS, etc).
Konstanten & Tabellen
Manchmal kann man einen Hash/Cipher durch Suchen nach Konstanten (oder dem ersten dword von Tabellen) online identifizieren.
.png)
Beispiel für AES-Tabellen:
.png)
Hinweise zur Erkennung von RC4
RC4 ist oft erkennbar an:
- Zwei Schleifen mit 256 Iterationen (init + KSA)
- Danach eine PRGA-Schleife, die
% 256verwendet und einen Keystream mit den Daten XORt
Unpacking von Binärdateien
Technik
Packers verändern ein Binary so, dass statische Analyse irreführend ist (Junk-Code, verschlüsselte Sections, zur Laufzeit entpackt). Ziel ist es, den Moment zu erwischen, in dem es:
- echten Code im Speicher alloziert/dechiffriert
- ihn ausführbar markiert
- hinein springt
Erkennen gepackter Binärdateien
- Mangel an Strings (oder nur Packer-Strings)
- Viele Strings ohne xrefs (kommerziellen packern)
- Packer-ID-Tools verwenden:
- PEiD
- Exeinfo PE
Grundlegende Empfehlungen
- Beginne die Analyse von unten nach oben; unpackers springen oft spät.
- Suche nach
JMP/CALL reg-Mustern oder Stack-Tricks (push addr; retn). - Breakpoint auf
VirtualAlloc/VirtualProtectsetzen und RWX-Regionen verfolgen. - Eine plötzliche Explosion von Strings nach einem Jump deutet oft darauf hin, dass man unverpackten Code erreicht hat.
- Speicher dumpen und Header mit Tools wie PE-bear reparieren.
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks

