El documento presenta una introducción al análisis de malware en Windows y Android. Explica los tipos de malware más comunes, herramientas de análisis estático y dinámico como desmontadores, debuggers y sandbox, y técnicas de análisis como identificar persistencia, trucos contra análisis, y seguir el flujo del malware. El objetivo es proporcionar una guía básica para iniciar el análisis de malware en estos sistemas operativos.
2. Iniciación al análisis de malware - @roskyfrosky 2
Who am I?
• Oscar Juárez Rufián
• Analista de Malware y Hacker
ético
• @roskyfrosky en la red
• @oscar665 en Virustotal
• https://blog.roskyfrosky.com
• Jugador de CTF’s
3. Iniciación al análisis de malware - @roskyfrosky 3
¿Qué es el malware?
Término que engloba todo tipo de
programa o código informático
malicioso o no deseado por el
usuario, cuya función es dañar un
sistema provocando el mal
funcionamiento del mismo.
4. Iniciación al análisis de malware - @roskyfrosky 4
Tipos de Malware I
• Virus: código que se replica/propaga por los sistemas con intervención del
usuario.
• Gusano: código que se replica/propagar por los sistemas sin intervención
del usuario.
• Bot: proceso que interactúa con otro sistema de manera automática
• Troyano: malware que se camufla como si fuera un programa legítimo.
• Ransomware: malware que mantiene secuestrado los datos del usuario de
manera criptográfica.
• Rootkit: programa que trata de enmascarar su existencia o la de otro
software que permita acceso de manera privilegiada y continua a un
sistema.
• Backdoor: programa que permite a un atacante tener acceso remoto o
enviar un comando a una máquina infectada.
5. Iniciación al análisis de malware - @roskyfrosky 5
Tipos de Malware II
• RAT: troyano de acceso remoto similar al backdoor.
• Info Stealer: ladrón de información como contraseñas, información
personal,etc…
• HackTool: herramientas o programas que pueden ser utilizados para
realizar ataques informáticos generalmente de carácter no malicioso.
• Hoax: programa que muestra falsos avisos sobre malware o AV.
• Dropper/Downloader: programa que descarga otro malware.
• Adware: malware que muestra publicidad de manera constante y
molesta.
• PUP/PUA: programas potencialmente no deseados (toolbars y
similares).
6. Iniciación al análisis de malware - @roskyfrosky 6
Herramientas
Desensambladores
• IDA
• Radare
Debuggers
• Ollydbg
• Inmunity
• Windbg
• X64dbg
Decompiladores:
• DnSpy
• Jadx
Otras herramientas:
• Yara
• Wireshark
• CFF Explorer
• SysInternal
• Regshot
• …
7. Iniciación al análisis de malware - @roskyfrosky 7
Recursos Online
Sandbox Online
• Virustotal
• Hybrid-Análisis
• Joe-Sandbox
• Malwr.com (Offline a veces)
• APP Any Run
• Koodous.com (Android)
IOCs
• Spamhaus
• Otx AlienVault
• Maltiverse
• Blueliv
• Abuse CH
Others
• YaraRules Online
9. Iniciación al análisis de malware - @roskyfrosky 9
Windows - Packers
• Runtime Packers → Software que se autoextrae durante la ejecución con el objetivo de
dificultar su análisis y dejar menos huella en la máquina infectada.
• ASPack
• ASProtect
• Cexe
• Enigma Protector
• EXE Bundle
• EXE Stealth
• eXPressor
• Kkrunchy
• PESpin
• Petite
• RLPack Basic
• UPX
• Themida
• VMProtect
• Xcomp
• LoadLibraryA, GetProcAddress,CreateProcess,WriteProcessMemory…
10. Iniciación al análisis de malware - @roskyfrosky 10
Windows - Crypters
Crypter → Software que puede cifrar, ofuscar y manipular el contenido de otro programa con el
fin de evadir los AV.
Terminología
o Builder: genera fichero cifrado
o Stub: Descifra y ejecuta
Tipos
o Scantime: copia a disco (detección Not Run)
o Runtime: copia a memoria (detección Run)
11. Iniciación al análisis de malware - @roskyfrosky 11
Windows - AntiVM/AntiAnálisis
• Número de Cores
• Nombre de la máquina
• Tamaño del HDD
• Claves del registro
• Movimiento del ratón
• Mac Address
• Tiempo encendido
PAFISH
• Lenguaje del SO y/o teclado
• Procesos Corriendo
• Nombre de la muestra
• Sleep
• isDebuggerPresent
• “IP de salida”
• Nº documentos abiertos
12. Iniciación al análisis de malware - @roskyfrosky 12
Windows - Persistencia I
HKCU → Nivel Usuario
HKLM → Nivel System
❑ AutoStart
• HKLM / HKCUSoftwareMicrosoftWindowsCurrentVersionRunOnce
• HKLM / HKCUSoftwareMicrosoftWindowsCurrentVersionRun
• HKLMSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun
❑ BootExecute Key
• HKLMSYSTEMControlSet002ControlSession Manager → autocheck autochk*
❑ WinLogon Process
• HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon
Userinit→userinit.exe
• HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon Shell → Winlogon
14. Iniciación al análisis de malware - @roskyfrosky 14
Windows - Primeros pasos
• Identificación tipo de archivo
• Conseguir información básica del PE
• Generación de IOC (hashes)
• Búsqueda en recursos online de esos IOC
• Sandbox online
• Detección de Antivirus
15. Iniciación al análisis de malware - @roskyfrosky 15
Windows - Análisis estático
• Unpack si procede
• Extracción de Strings → ¿pdb?
• Ejecución de Yara
• Enumeración de funciones que utiliza
• Desensamblado/Decompilado
• Comprensión del flujo
• Búsqueda de información relevante
16. Iniciación al análisis de malware - @roskyfrosky 16
Windows - Análisis Dinámico
• Procesos que crea
• Creación/Modificación de ficheros
• Captura cambios Regedit
• Captura del tráfico
19. Iniciación al análisis de malware - @roskyfrosky 19
Android - Trick Anti-Análisis/VM
• Ofuscación del código
• Número de teléfono → 15555215554, 15555215556...
• Id Dispositivo → e21833235b6eef10, 012345678912345
• Ficheros → libc_malloc_debug_qemu.so , qemu_trace...
• Pipes → /dev/socket/qemud , /dev/qemu_pipe...
• Fingerprint → generic/unknown
• Model → google_sdk, Emulator, Android SDK
• …
https://github.com/strazzere/anti-emulator
20. Iniciación al análisis de malware - @roskyfrosky 20
Android - Primeros pasos
• Generación de IOC (hashes)
• Búsqueda en recursos online de esos IOC
• Subir Sandbox online ( Depende)
• Detección de Antivirus
• Extracción de Strings
• Búsqueda de Strings si los hubiese
21. Iniciación al análisis de malware - @roskyfrosky 21
Android - Análisis estático
• Decompilación de la APK
• Desofuscación si procede
• Enumeración de los permisos
• Comprender el flujo
• Búsqueda de datos importantes/configuración
22. Iniciación al análisis de malware - @roskyfrosky 22
Android - Análisis Dinámico
• Captura del tráfico
• Ejecución en emulador
• Comprobación de funcionalidades(Si las hubiese)
• Análisis del tráfico o hallazgos