⟁ HXA 🇬🇧 EN
┌─[ Mecanismos de Detección ]────────────────────────────────────────────────────────────────────────
│ user: Alejandro Lopez Aguilar
└ path: /maldev/mecanismos-de-deteccion/
:: ▸ Static/Signature Detection

Una firma(signature) es un numero de bytes o strings unicos que identifican un malware, otras 
condiciones pueden ser variables o nombres de funciones. Una vez que la solución de seguridad 
escanea el programa lo compara con una lista de reglas (YARA), por ejemplo si un shellcode empieza 
con `FC 48 83 E4 F0 E8 C0 00 00 00 41 51 41 50 52 51` sabemos que es un payload de msfvenom

:: 🔐 Hash Detection

Es parte del static/signature detection, es la manera mas fácil y rápida de detectar un malware, se 
puede hacer simplemente guardando los hashes (MD5, SHA256…) de un malware conocido en una BD

:: ▸ Heuristic Detection

Dado que se puede bypassear facilmente la detección por firma cambiando unos bytes o modificando 
algo el código se creo:

~ ▸ Static Heuristic Detection

Decompila el programa y compara los trozos de código con malware ya conocido que estan en las BD del
propio AV

~ ▸ Dynamic Heuristic Analysis (SandBox)

Analiza el comportamiento de un malware subiéndolo a su servidor en la nube y lo ejecuta, una vez 
alli analiza su comportamiento y lo flagea como bueno o no
(Se puede preveer esto y hacer que solo ejecute codigo bueno)

:: ▸ Behavior-Based Detection

Una vez que el malware este corriendo las security solutions buscaran por comportamiento sospechoso,
por ejemplo si inyecta código en el proceso `notepad.exe` y se conecta a internet esto causara que 
sea sospechoso

La mejor manera de bypassearlo es evitando lo máximo posible que haga cosas detectables (spawnear un
cmd.exe, etc)

:: ▸ Api Hooking

Mayormente usado por EDRs, interceptan las APIs mas usadas y analizan los parámetros que se le pasan
en tiempo real
:: ▸ IAT Checking

Podemos saber los dlls y funciones que esta usando los PE, por ejemplo el ransomware usa 
CreateFileA/W, SetFilePointer, Read/WriteFile, CryptCreateHash, CryptHashData, CryptGetHashParam 
esto es detectable

:: ▸ Análisis Manual

El blue team puede analizar manualmente el malware haciendo ingenieria inversa, sin embargo se 
pueden implementar tecnicas de anti ingenieria inversa