Crypto in Malware / Reverse Engineering
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Ця підсекція допомагає, коли ви бачите crypto/compression всередині бінарників і хочете швидко їх розпізнати.
Identifying cryptographic / compression algorithms
Technique-first heuristics
- Багато shifts/rotates, XORs та 32-bit арифметики в щільних циклах.
- Lookup tables (S-boxes) в
.dataабо згенеровані під час виконання. - Повторювані цикли по
0x100ітерацій — ознака RC4.
Windows crypto/compression APIs
CryptDeriveKey / CryptCreateHash
Якщо вони використовуються, другий параметр — ALG_ID:
.png)
Table: https://learn.microsoft.com/en-us/windows/win32/seccrypto/alg-id
RtlCompressBuffer / RtlDecompressBuffer
Часто вказує на вбудовану Windows compression (LZNT1, XPRESS тощо).
Constants & tables
Іноді можна ідентифікувати hash/cipher, шукаючи константи (або перший dword таблиць) в інтернеті.
.png)
AES tables example:
.png)
RC4 recognition notes
RC4 часто можна впізнати за:
- Двома циклами по 256 ітерацій (init + KSA)
- Потім циклом PRGA з використанням
% 256та XORing keystream з даними
Unpacking binaries
Technique
Packers трансформують бінарник так, що статичний аналіз дає хибні результати (junk code, encrypted sections, runtime unpacking). Мета — зловити момент, коли він:
- виділяє/дешифрує реальний код у пам’яті
- робить його виконуваним (executable)
- переходить виконання в нього
Identifying packed binaries
- Відсутність рядків (або лише packer strings)
- Багато рядків без xrefs (commercial packers)
- Використовуйте packer-ID інструменти:
- PEiD
- Exeinfo PE
Basic recommendations
- Розпочинайте аналіз знизу і рухайтеся вгору; unpackers часто здійснюють перехід пізно.
- Шукайте
JMP/CALL regпатерни або трюки зі стеком (push addr; retn). - Встановіть breakpoint на
VirtualAlloc/VirtualProtectі відслідковуйте RWX регіони. - Раптове різке збільшення рядків після переходу часто вказує, що ви досягли розпакованого коду.
- Здампте пам’ять і виправте заголовки за допомогою інструментів, таких як PE-bear.
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


