Introducción al Análisis de Malware
Relacionado: Rootkits. shellcode. AES256. biblio. Herramientas.
El análisis de malware puede formar parte del análisis forense digital, pero la diferencia principal radica en cuándo y cómo se inicia el análisis. En el análisis forense, se estudian los efectos del malware después de su ejecución para entender el impacto y recuperar información. En cambio, en el análisis de malware, se examina el código malicioso desde antes de ejecutarse, buscando comprender su estructura, comportamiento y mecanismos de infección.
Tipos de Malware
1. Backdoor
Es un acceso oculto dentro de un sistema que permite a un atacante entrar sin necesidad de autenticación. Se suele implementar mediante troyanos o modificaciones en servicios del sistema.
2. Botnet
Es una red de dispositivos infectados y controlados de manera remota por un atacante. Se utilizan para ataques DDoS, minería de criptomonedas, spam y otras actividades maliciosas.
3. Downloader
Malware diseñado para descargar y ejecutar otros archivos maliciosos en el sistema comprometido. Suelen ser pequeños ejecutables que sirven como puerta de entrada para infecciones más avanzadas.
4. Information-Stealing
Este tipo de malware roba información sensible, como credenciales, historial de navegación o datos financieros. Keyloggers y stealers de navegador son ejemplos comunes.
5. Launcher
Es un tipo de malware que carga y ejecuta otros archivos maliciosos en la memoria sin dejarlos en el disco, lo que lo hace difícil de detectar.
6. Rootkit
Los rootkits se ejecutan en el sistema operativo a nivel de root o kernel, permitiendo esconder procesos, archivos o conexiones. Se cargan antes que el sistema operativo o se inyectan en procesos críticos, dificultando su detección.
7. Spyware
Malware diseñado para espiar al usuario y enviar información al atacante. Puede capturar pulsaciones de teclado, grabar pantalla y monitorear actividad en el sistema.
Comunidades y Herramientas del Malware
VX Underground
VX Underground es una comunidad clandestina donde se comparten y desarrollan herramientas y técnicas de malware. Es una fuente de información para investigadores y cibercriminales.
Registro de Windows
El Registro de Windows es una base de datos que almacena configuraciones del sistema y del software instalado. Muchos malwares modifican este registro para persistencia o para ejecutar código malicioso en cada reinicio.
Exploits y Memoria
Un exploit es una técnica utilizada para aprovechar una vulnerabilidad en un software o sistema. En el contexto de memoria, un exploit puede manipular la forma en que se almacenan y gestionan los datos, permitiendo la ejecución de código malicioso.
Emotet y Macros de Office
Emotet es un malware modular que se propaga principalmente a través de documentos de Office infectados con macros maliciosas. Una vez activadas, descargan payloads adicionales.
Extensiones y Ejecución en Windows
En Windows, la ejecución de archivos está fuertemente ligada a sus extensiones (.exe, .bat, .vbs). Un archivo sin extensión ejecutable no se ejecutará directamente a menos que se manipule el sistema.
Hashes y Firmas de Malware
Existen hashes no criptográficos que evolucionan con las versiones del malware para evitar detección. Los IOC (Indicadores de Compromiso) incluyen firmas de archivos, direcciones IP, dominios maliciosos y comportamientos sospechosos.
Creación de un Laboratorio de Análisis de Malware
Para analizar malware de forma segura, es fundamental crear un entorno controlado.
1. Sandbox
Un entorno aislado donde se ejecuta el malware para analizar su comportamiento sin riesgo de comprometer el sistema anfitrión. Debe ser:
- Seguro: Totalmente aislado del sistema principal.
- Discreto: Simulando un entorno real para evitar que el malware detecte la virtualización.
- Equipado con herramientas como Wireshark, Process Explorer, y Regshot.
2. Virtualización con VirtualBox
En VirtualBox, las carpetas compartidas permiten intercambiar archivos entre la máquina anfitriona y la virtual, pero deben desactivarse al analizar malware, ya que podrían permitir su propagación.
Ejemplos de Ataques y Técnicas
Minería de Criptomonedas con JavaScript
Se puede minar criptomonedas desde un navegador usando JavaScript. Coinhive era una biblioteca utilizada para financiar sitios web sin publicidad, pero también fue usada para inyectar minería oculta en páginas web, afectando incluso redes como la de CR7.
Aplicaciones de Control Remoto (LoLBins)
Algunas aplicaciones legítimas, como TeamViewer, pueden ser utilizadas por atacantes para ejecutar comandos de manera remota, convirtiéndolas en LoLBins (Living off the Land Binaries).
Rootkits y Modificación de Ejecutables
Un rootkit puede modificar el CMD.exe en Windows, convirtiéndolo en un ejecutable troyanizado. Esto permite a los atacantes ejecutar comandos sin ser detectados.
Deserialización Maliciosa y Tráfico en TOR
- Los protocolos de deserialización pueden ser explotados para ejecutar código arbitrario en un sistema.
- En TOR, el tráfico puede ser difícil de analizar con herramientas como Wireshark, a menos que se hookee (intercepte) una función para ver qué información está siendo transmitida.
Shellcode y Droppers
Un shellcode es un fragmento de código diseñado para ejecutarse dentro de la memoria y a menudo se entrega mediante un dropper (programa pequeño que descarga y ejecuta el payload principal).
Ofuscación y Compactación de Malware
El 60% del malware actual está comprimido en archivos ZIP con contraseña para evadir detección. Además, técnicas como striping eliminan símbolos de depuración para dificultar el análisis.
Mimikatz
Herramienta utilizada para extraer credenciales en Windows. Se usa frecuentemente en ataques de escalación de privilegios.
Ransomware y Modelos de Distribución
Virus Policía + AES256 = Ransomware
El virus policía bloqueaba el acceso a los sistemas exigiendo un pago. Actualmente, se usa cifrado AES-256 para secuestrar archivos y pedir rescates.
Ransomware-as-a-Service (RaaS)
Es un modelo donde desarrolladores de ransomware venden o alquilan su malware a terceros, permitiendo que cualquier persona sin conocimientos avanzados pueda lanzar ataques.
Persistencia del Malware
Los primeros bits de un archivo suelen definir su tipo. Algunos malwares modifican archivos que se ejecutan al inicio del sistema para garantizar su persistencia.
Tareas para la Próxima Semana
- Configurar un laboratorio de análisis de malware en una máquina virtual con VirtualBox o VMware.
- Ejecutar y analizar un malware en un entorno sandbox usando herramientas como Cuckoo Sandbox.
- Investigar técnicas de evasión de antivirus utilizadas por malware moderno.
- Crear una firma de detección para un malware basado en IOC (hashes, nombres de archivo, patrones de comportamiento).
- Analizar tráfico de red con Wireshark para identificar patrones maliciosos.