Anda di halaman 1dari 25

Iniciación al Análisis

de Malware
(Windows y Android)
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

Iniciación al análisis de malware - @roskyfrosky 2


¿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.

Iniciación al análisis de malware - @roskyfrosky 3


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.

Iniciación al análisis de malware - @roskyfrosky 4


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).

Iniciación al análisis de malware - @roskyfrosky 5


Herramientas
Desensambladores Decompiladores:
• IDA • DnSpy
• Radare • Jadx

Debuggers Otras herramientas:


• Ollydbg • Yara
• Inmunity • Wireshark
• Windbg • CFF Explorer
• X64dbg • SysInternal
• Regshot
• …
Iniciación al análisis de malware - @roskyfrosky 6
Recursos Online
Sandbox Online IOCs

• Virustotal • Spamhaus
• Hybrid-Análisis • Otx AlienVault
• Joe-Sandbox • Maltiverse
• Malwr.com (Offline a veces) • Blueliv
• APP Any Run • Abuse CH
• Koodous.com (Android)
Others

• YaraRules Online

Iniciación al análisis de malware - @roskyfrosky 7


Windows - PE Headers

Iniciación al análisis de malware - @roskyfrosky 8


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 • Kkrunchy
• ASProtect • PESpin
• Cexe • Petite
• Enigma Protector • RLPack Basic
• EXE Bundle • UPX
• EXE Stealth • Themida
• eXPressor • VMProtect
• Xcomp
• LoadLibraryA, GetProcAddress,CreateProcess,WriteProcessMemory…

Iniciación al análisis de malware - @roskyfrosky 9


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)

Iniciación al análisis de malware - @roskyfrosky 10


Windows - AntiVM/AntiAnálisis
• Número de Cores • Lenguaje del SO y/o teclado
• Nombre de la máquina • Procesos Corriendo
• Tamaño del HDD • Nombre de la muestra
• Claves del registro • Sleep
• Movimiento del ratón • isDebuggerPresent
• Mac Address • “IP de salida”
• Tiempo encendido • Nº documentos abiertos

PAFISH
Iniciación al análisis de malware - @roskyfrosky 11
Windows - Persistencia I
HKCU → Nivel Usuario
HKLM → Nivel System

❑ AutoStart
• HKLM / HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
• HKLM / HKCU\Software\Microsoft\Windows\CurrentVersion\Run
• HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
❑ BootExecute Key
• HKLM\SYSTEM\ControlSet002\Control\Session Manager → autocheck autochk*
❑ WinLogon Process
• HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Userinit→userinit.exe
• HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon Shell → Winlogon

Iniciación al análisis de malware - @roskyfrosky 12


Windows - Persistencia II
❑ Startup Keys
• HKLM / HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
• HKLM / HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
❑ Services
• HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
• HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
❑ Browser Helper Objects(BHO)
• HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
❑ AppInit DLL’s
• HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

Iniciación al análisis de malware - @roskyfrosky 13


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

Iniciación al análisis de malware - @roskyfrosky 14


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

Iniciación al análisis de malware - @roskyfrosky 15


Windows - Análisis Dinámico
• Procesos que crea
• Creación/Modificación de ficheros
• Captura cambios Regedit
• Captura del tráfico

Iniciación al análisis de malware - @roskyfrosky 16


Windows Demo Time

Iniciación al análisis de malware - @roskyfrosky 17


Android - Estructura

Iniciación al análisis de malware - @roskyfrosky 18


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

Iniciación al análisis de malware - @roskyfrosky 19


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

Iniciación al análisis de malware - @roskyfrosky 20


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

Iniciación al análisis de malware - @roskyfrosky 21


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

Iniciación al análisis de malware - @roskyfrosky 22


Iniciación al análisis de malware - @roskyfrosky 23
¿Preguntas?

Iniciación al análisis de malware - @roskyfrosky 24


¡Muchas Gracias!

Iniciación al análisis de malware - @roskyfrosky 25

Anda mungkin juga menyukai