Crypto in Malware / Reverse Engineering
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Esta subsección ayuda cuando ves crypto/compression dentro de binarios y quieres reconocerlo rápidamente.
Identifying cryptographic / compression algorithms
Technique-first heuristics
- Muchos shifts/rotates, XORs y aritmética de 32 bits en bucles ajustados.
- Tablas de búsqueda (S-boxes) en
.datao generadas en tiempo de ejecución. - Bucles repetitivos de
0x100iteraciones que indican RC4.
Windows crypto/compression APIs
CryptDeriveKey / CryptCreateHash
Si se usan, el segundo parámetro es un ALG_ID:
.png)
Table: https://learn.microsoft.com/en-us/windows/win32/seccrypto/alg-id
RtlCompressBuffer / RtlDecompressBuffer
A menudo indica compresión integrada de Windows (LZNT1, XPRESS, etc).
Constants & tables
A veces puedes identificar la huella de un hash/cipher buscando constantes (o el primer dword de las tablas) en línea.
.png)
AES tables example:
.png)
RC4 recognition notes
RC4 a menudo es reconocible por:
- Dos bucles de 256 iteraciones (init + KSA)
- Luego un bucle PRGA usando
% 256y XORando un keystream con los datos
Unpacking binaries
Technique
Packers transforman un binario para que el análisis estático sea engañoso (código basura, secciones encriptadas, runtime unpacking). El objetivo es atrapar el momento en que:
- asigna/descifra código real en memoria
- lo marca como ejecutable
- salta a él
Identifying packed binaries
- Falta de strings (o solo strings del packer)
- Muchas strings sin xrefs (packers comerciales)
- Usa herramientas de packer-ID:
- PEiD
- Exeinfo PE
Basic recommendations
- Empieza el análisis desde abajo y trabaja hacia arriba; los unpackers a menudo saltan al final.
- Busca patrones
JMP/CALL rego trucos de stack (push addr; retn). - Pon breakpoint en
VirtualAlloc/VirtualProtecty rastrea regiones RWX. - Una explosión repentina de strings después de un salto suele indicar que llegaste al código desempaquetado.
- Volca la memoria y corrige headers con herramientas como PE-bear.
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.


