Crypto in Malware / Reverse Engineering
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
Ta podsekcja pomaga, gdy zobaczysz crypto/compression w plikach binarnych i chcesz to szybko rozpoznać.
Identyfikacja algorytmów kryptograficznych / kompresji
Heurystyki ukierunkowane na technikę
- Dużo shifts/rotates, XORs i arytmetyki 32-bitowej w ciasnych pętlach.
- Lookup tables (S-boxes) w
.datalub generowane w czasie wykonania. - Powtarzające się pętle po
0x100iteracji sugerujące RC4.
Windows API dla crypto/kompresji
CryptDeriveKey / CryptCreateHash
Jeśli są używane, drugi parametr to ALG_ID:
.png)
Table: https://learn.microsoft.com/en-us/windows/win32/seccrypto/alg-id
RtlCompressBuffer / RtlDecompressBuffer
Często wskazuje na wbudowaną kompresję Windows (LZNT1, XPRESS, etc).
Stałe i tabele
Czasami można zidentyfikować hash/szyfr, wyszukując stałe (lub pierwszy dword tabel) w sieci.
.png)
Przykład tabel AES:
.png)
Wskazówki rozpoznawania RC4
RC4 często rozpoznaje się po:
- Dwie pętle po 256 iteracji (init + KSA)
- Następnie pętla PRGA używająca
% 256i XORująca keystream z danymi
Rozpakowywanie binarek
Technika
Packers przekształcają binarkę tak, że analiza statyczna jest myląca (junk code, encrypted sections, runtime unpacking). Celem jest złapać moment, w którym:
- alokuje/odszyfrowuje prawdziwy kod w pamięci
- oznacza go jako wykonywalny
- wykonuje skok do niego
Identyfikacja spakowanych binarek
- Brak strings (lub tylko strings packera)
- Wiele strings bez xrefs (komercyjne packery)
- Użyj narzędzi do identyfikacji packera:
- PEiD
- Exeinfo PE
Podstawowe zalecenia
- Zacznij analizę od dołu i idź w górę; unpackers często skaczą późno.
- Szukaj wzorców
JMP/CALL reglub sztuczek ze stosem (push addr; retn). - Ustaw breakpoint na
VirtualAlloc/VirtualProtecti śledź regiony RWX. - Nagły wysyp strings po skoku często wskazuje, że dotarłeś do rozpakowanego kodu.
- Zrzutuj pamięć i napraw nagłówki narzędziami takimi jak PE-bear.
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.


