Malware avanzado
Ataques y Análisis
Vector de Ataque
Un vector de ataque es el camino que sigue un ataque hasta
alcanzar su objetivo
Origen Amenaza Objetivo
Competidor Robo de información Información industrial valiosa
Ciberactivista Denegación de Servicio (DoS) Prestigio de la organización
sobre la plataforma web
Empleado no formado Uso indebido de los equipos Reducción de la producción
adecuadamente en seguridad de la empresa
Inundación Destrucción de equipos Productividad de la empresa
Salud y Seguridad Laboral
2
Técnicas de Ataque
Ataques
Ingeniería Amenazas
Malware Ataques Manuales Social
Botnets Persistentes
Avanzadas
Puertas Bomba Denegación
Virus Gusanos Troyanos Reconocimiento Acceso
traseras lógica de servicios
3
Concepto de malware
El malware se define como el código informático que realiza acciones
maliciosas
Algunas acciones realizadas por malware:
Interrupción de operaciones
Robo de información
Acceso no autorizado a recursos
Espionaje
Spam
Ataques distribuidos de denegación de servicio
Bloqueo de archivos y petición de rescate 4
Ingeniería social
Phishing – Correo electrónico “oficial”
Spear phishing (es más dirigido)
Whaling (a ejecutivos)
Pharming – Mediante nombres de dominios
comprometidos
Pretexting
Vishing – Teléfono
Smishing – Texto
Tailgating (a instalaciones físicas)
Baiting (con USBs)
Malvertising (mediante publicidad) 5
Ataques Avanzados Persistentes
Advanced Persistent Threads (APTs) realmente consisten en ataques realmente sofisticado
utilizado para atacar generalmente grandes empresas y gobiernos
Servidor de
Control Remoto
•Malware •Reverse Shell •Uso del equipo
•Spear-phishing para descargar en remoto por
rootkits, troyanos parte de los
de acceso atacantes
remoto,…
Apertura de
Ganar acceso
conexión remota
6
Tipos de análisis
Análisis estático: análisis de un binario sin ejecutarlo. Permite la extracción de metadatos y
otra información inicial interesante, aunque no se revela toda la información clave sobre el
malware
Análisis dinámico: ejecución de un binario en un entorno controlado para ver sus efectos.
Igualmente, no tiene por qué revelar todas las funcionalidades hostiles
Análisis de código: técnica avanzada para revelar información oculta al análisis estático y
dinámico. Se divide en:
Análisis de código estático: desensamblado del código binario para su estudio
Análisis de código dinámico: depuración controlada de la ejecución para entender la
funcionalidad
Análisis de memoria (memory forensics): análisis de la memoria RAM del ordenador infectado
para estudiar el comportamiento del malware tras la infección (sus capacidades de pasar
desapercibido y evadir controles y desinfecciones)
7
Análisis estático
El análisis estático consiste en analizar un archivo sospechoso sin
ejecutarlo
Es un análisis inicial que implica:
Extracción de información útil del archivo sospechoso
Decisión informada de cómo clasificarlo y por donde continuar
Nos permite identificar el Sistema Operativo o la arquitectura objetivos
del malware
Se suele ocultar la extensión para disimular la acción del malware
8
Escaneo con Antivirus
Búsqueda de huellas digitales en bases de datos de Antivirus
Búsquedas por código hash, dominio, URL, direcciones IP,…
Visualización con VirusTotal Graph
API pública:
Generación de clave pública (al darse de alta en VirusTotal).
Uso programático (por ejemplo, Python)
Programas para el análisis de archivos
9
Posibles riesgos
Aunque el binario no sea detectado por el antivirus, podría ser
malicioso
Archivos con información sensible
Los atacantes también pueden comprobar si su archivo malicioso ya
está almacenado como sospechoso
10
Extracción de strings
Búsqueda de cadenas de caracteres sospechosas
Pistas sobre su funcionalidad
Ejemplos:
Nombres de archivos
Nombres de dominios a los que se accede
URLs, direcciones IP, comandos, …
11
Ofuscación
Packers:
Programas que utilizan técnicas de compresión para ocultar el
contenido del ejecutable
El resultado es un nuevo ejecutable que se descomprime al ser
ejecutado
Cryptors:
Similar al packer, pero utiliza cifrado en lugar de compresión
Se desencripta al ser ejecutado
12
Análisis dinámico
El análisis dinámico implica ejecutar un binario en un entorno
controlado para comprobar su comportamiento
Simular servicios
Es un análisis que consiste en monitorizar…:
Actividades (los procesos o hilos),
Interacciones, y
Efectos sobre el sistema
13
Monitorización del sistema
Monitorización de procesos
Monitorización del sistema de ficheros
Monitorización de registros
Monitorización de red
14
Pasos a seguir
Volver a un estado seguro en el entorno controlado
Ejecutar las herramientas de análisis y monitorización
dinámica
Ejecutar el malware (o posible malware)
Parar las herramientas de monitorización
Analizar los resultados obtenidos
15
Análisis estático y dinámico conjunto
Realizar primero un análisis estático para obtener
información relacionada con el binario sin estar en
ejecución (metadatos, …)
Ejemplo de uso en un entorno virtual controlado:
MV Linux, que simulará los servicios de red y hará de enlace entre la
red virtual y la red física
MV Windows, donde se ejecutará el binario
16
Malware avanzado
Ataques y Análisis