MUCS UAH - Análisis Avanzado de Malware (Introducción al análisis de malware)
Introducción al análisis de malware
Sesión 1
Javier JUNQUERA SÁNCHEZ | javier.junquera@uah.es
Tipos de malware
Molesto
- Joker
- Adware
- Spammer
Phishing
- Spamers
- Envío masivo de publicidad: puede ser también puerta de entrada a phishing
- Phishing
- Envío de correo fraudulento
- SET Spear Phishing
- Herramientas para evaluar seguridad contra ingeniería social
- Threat Research New Spam Campaign Impersonates a Variety …
- ¿Bajo riesgo?
- SET Spear Phishing
- Herramientas para evaluar seguridad contra ingeniería social
- Threat Research New Spam Campaign Impersonates a Variety of Government Agencies from Different Countries
- Depende
Cryptojacking
- Infectar para minar criptomonedas
- No tiene por qué tener mucho impacto en el equipo, más allá del rendimiento
- Puede afectar a terceros (Caso CR)
- Coinhive
- No es malware, es una librería, y ya está retirado
- Con la aparición de Monero (minado por CPU), infectar puede salir rentable
- Ofuscado en muchas ocasiones, pero detectable por picos de CPU
- Más información
- El servicio de minería de criptomonedas Coinhive anunció su cierre
https://unaaldia.hispasec.com/2022/01/malware-de-mineria-de-criptomonedas-ocultado-en-torrent-de-spider-man-no-way-home.html
Backdoor
- Puertas traseras en el sistema, o en subsitemas
- Pueden ser parte del software, o un artefacto instalado ad-hoc para actuar como puerta trasera
- E.g. Team viewer podría ser una backdoor si no lo instala el usuario legítimo
- EvilGnome
- Escondido como una extensión de Gnome
- Tiene un C&C
- Capacidades de grabación de audio, imagen, Keylogger y lectura de disco
- Mantiene persistencia con crontab
- Más información
- EvilGnome: Rare Malware Spying on Desktop Users
- Nuevas tendencias
- Backdoors en dependencias
- The day I ruled the world: Deceiving software… - J. Junquera & C. Cilleruelo [RootedCON2020-ES] (https://www.youtube.com/watch?v=wMRAtDDvuiU)
- Backdoors en imágenes
- Geronimo! (https://hub.docker.com/r/junquera/geronimo)
- Backdoors en dependencias
- Nuevas tendencias
- Compromiso de la cadena de suministro (supply chain)
Worm / Virus
- Movimiento lateral
- O por qué no podemos analizar el malware en la universidad sin poner medidas para que no se escape
- Botnet
- O cómo convertir nuestra máquina en culpable de un incidente de seguridad
Botnet
- C&C / C2
- Por red
- Clearnet
- Darknet
- Mediante covert channels
- ¡Lowball en Dropbox!
- Difícil de filtrar
- Por red
- Mirai
- Crea una botnet para lanzar DDOS usando dispositivos IoT
- Busca masivamente cuáles tienen password débiles
- ~ 50.000 equipos infectados
- Más información
- Breaking Down Mirai: An IoT DDoS Botnet Analysis
- The ZMap Project
Downloader
- Downloader
- Código de descarga de elemento malicioso*
- Launcher
- Ejecuta código presente ya en la víctima (ejecuta, dispara los mecanismos de persistencia o desempaqueta)
- Dropper
- Inyecta código (normalmente, bajo nivel)
* Google: Potencialmente peligroso
Exploit
- BlueKeep
- Usado en campañas de mineros
- Ataca equipos con RDP
- Alto impacto, precedido por Eternal Blue (como veremos) y sucedido por DejaBlue
- Más información
- BlueKeep RDP Attacks are Starting – Patch CVE-2019-0708 Now
- BlueKeep exploitation activity seen in the wild
- ¡Muy interesante!
Spyware
- Keylogger
- Lectura de teclas pulsadas (emails, passwords, etc)
- Exfiltración de datos
- Documentos, imágenes, contraseñas…
- RATs (Troyanos)
- Mimikatz
- Extracción de credenciales en Windows
- Payloads públicos en muchos formatos: shellcode, powershell…
- Algunas herramientas legítimas
- Nirsoft (https://www.nirsoft.net/)
- Más información
- Mimikatz Credential Theft Techniques
- gentilkiwi/mimikatz: A little tool to play with Windows security
Troyanos
- Emotet
- Vector de ataque: Spear phishing / Malspam
- Macros ofimáticas
- Robo de credenciales bancarias
- Puerta de entrada a otro malware
- Más información
- Malware Emotet: una introducción al troyano bancario
- Emotet is dead, long live Emotet - Víctor Acín [RootedCON2020-ES]
APT
- Stuxnet
- Vector de ataque: Pendrives infectados
- Ataque a centrifugadoras de uranio en Irán
- Utiliza varios 0-day
- Escenario de ciberguerra
- Más información
- Symantec W32.Stuxnet Dossier
- Stuxnet Facts Report
Scareware
- Como el phishing
- Utiliza ingeniería social
- El virus policía
- Antepasado del ransomware
Ransomware
- Cifra los archivos y pide rescate
- Pago con criptomonedas
- Convertido en un auténtico negocio (con atención al “cliente”):
- WannaCry
- Usaba EternalBlue (luego lo vemos) para entrar
- Altísimo impacto
- Movimiento lateral
- Detenido mediante Sinkhole
- Más información
- WannaCry Report
- The sinkhole that saved the internet
- Ryuk
- Pocas veces se presenta aislado (es utilizado por droppers)
- Presente en incidentes a niveles muy altos (Everis, CadenaSER, etc.)
- Más información
- Everis Hacked: Ransomware Sample Emerges, Company Yet to Comment
- A One-two Punch of Emotet, TrickBot, & Ryuk Stealing & Ransoming Data
https://es.slideshare.net/JavierJunqueraSnchez/de-parche-a-vysion-construyendo-un-ecosistema-cti-sobre-la-darknet
New gangs! Extorsionadores
RaaS
https://insights.sei.cmu.edu/blog/ransomware-as-a-service-raas-threats/
[RB]ootkit
- Rootkit
- Adquiere capacidades de super usuario, y gestiona llamadas al sistema para ocultarse
- Bootkit
- Se ubica en el kernel del sistema operativo, o incluso antes
Rootkit
- Scranos
- Cadena de infección muy completa
- Spyware + Adware
- Movimiento a través de redes sociales
- Más información
- Inside Scranos – A Cross Platform, Rootkit-Enabled Spyware Operation
Bootkit
Killware
https://www.bleepingcomputer.com/news/security/ransomware-attack-at-german-hospital-leads-to-death-of-patient/
Metodología de análisis
Definición de objetivos
¿Qué queremos conseguir con nuestro análisis?
Respuesta a incidentes
- Identificar
- Activos y elementos del sistema
- Proteger
- Medidas de securización
- Detectar
- Desviaciones en indicadores
- Responder
- Análisis y mitigación
- Recuperar
- Plan de recuperación y mejora
Obtención de evidencias
- Evidencia
- Elemento software/hardware que contiene información sobre el incidente: Disco, dumps, etc
- Artefacto
- Elemento interesante que extraemos de la evidencia
- ¿Qué haremos?
- Honeypots + Sandbox
- Sesión 3: Honeypot
- Sesión 4: Sandboxing
- Repositorios públicos
- Guardar todo incidente que detectemos
- Ahora veremos cómo
- Honeypots + Sandbox
Custodia
- Haremos una “custodia especial”:
- No solo no queremos modificar los datos
- Queremos evitar que se vayan de paseo (Sesión 3)
Inventariado
- También veremos cómo inventariar todo, y crearemos nuestro repositorio para compartir lo que encontremos:
- The jungle (sesión 3) + Fuzzy Hashing
Análisis de malware (laboratorio)
- El laboratorio (sesión 2)
- Linux
- REMnux
- Windows
- Flare-VM
- Linux
- El laboratorio (para el próximo día)
- Linux
- REMnux (https://remnux.org/)
- Windows
- Windows (https://portal.azure.com)
- Flare-VM (https://github.com/fireeye/flare-vm)
- Linux
Windows VM
https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/
Azure Education
https://portal.azure.com
Generación de informe
- Indicadores
- IOC: Indicadores de Compromiso.
- Un dato
- Estándar (o intento de…): OpenIOC
- IOA: Indicadores de Ataque
- Múltiples datos encadenados
- TTP: Tactics, Techniques and Procedures
- IODEF
- Estándar del IETF para indicadores de incidentes
- STIX
- IOC: Indicadores de Compromiso.
STIX
https://oasis-open.github.io/cti-documentation/stix/intro
YARA
Lo veremos con el análisis de binarios (https://yara.readthedocs.io/)
https://blog.malwarebytes.com/security-world/technology/2017/09/explained-yara-rules/
Generación de recomendaciones
Extraeremos TTPs: Técnicas, Tácticas y Procedimientos
- Modelo KillChain
- Modelado desde una perspectiva similar al pentesting
- Mitre ATT&CK
- MITRE ATT&CK
- Modelado de amenazas
- STIX & TAXI
- Comparación
- MITRE ATT&CK vs. Cyber Kill Chain
Cyber Kill-chain (1/3)
https://www.apriorit.com/dev-blog/582-employing-the-mitre-att-ck-matrix
Cyber Kill-chain (2/3)
- Reconocimiento
- Búsqueda en redes sociales
- Militarización
- Creación de documento sobre la compañía con macro
- Entrega
- Envío de email
Cyber Kill-chain (3/3)
- Explotación
- Un empleado lo abre
- Instalación
- Se instala en el registro
- Command & Control
- Se comunica a través de Tor
- Acciones sobre el objetivo
- Exfiltra datos
https://attack.mitre.org/
https://d3fend.mitre.org/
Generación de respuestas
- Alimentación de sistemas IDS/IPS
- Creación de reglas de detección
- OSSEC
- Wazuh
- SNORT
- Suricata
- DNS Sinkhole
- SCAP
- Reglas yara (sesión 7)
- Creación de reglas de detección
- Si da tiempo… (Sesión 11+1)
- Sesión “especial” de respuesta en IDS/IPS
Sigma
https://github.com/Neo23x0/sigma
MISP
https://github.com/MISP/MISP/
https://www.misp-project.org/
Análisis de malware: procedimiento y ejemplos
Procedimiento
- Clasificación de la muestra — ¿Qué tengo delante?
- Análisis estático básico — Composición básica a alto nivel
- Análisis estático avanzado — ¿Qué cosas podría hacer? Ver código ejecutable.
- Análisis dinámico básico — ¿Qué cosas hace?
- Análisis dinámico avanzado — ¿Cómo trabaja a bajo nivel?
¿A qué nos podemos enfrentar?
- PE
- exe
- dll
- elf
- .NET
- apk
- jar
- ps
- js
- doc
- vb
- jpg, png
Informes reales
EternalBlue
- Checkpoint
- Informe a alto nivel (Intro + Background)
- Detección de vulnerabilidad
- Flujo de ejecución del ataque
- Análisis de traza de red
- Informe
- EternalBlue - Everything There Is To Know
Ryuk
- Mcafee
- Detección de lenguaje
- Indicadores técnicos
- Heurística del programa
- Informe
- Ryuk Ransomware Attack: Rush to Attribution Misses the Point
Emotet
- CCN
- Cadena de ataque
- Identificación e indicadores
- Downloader + Análisis de binario
- Análisis de ejecución (debugging)
- IOCs
- Informe de análisis
- Informe Código Dañino CCN-CERT ID-13/22
- Informe de recomendaciones
- CCN-CERT IA-76/19 Medidas de actuación frente al código dañino EMOTET
Ejercicio
Analizar un reporte y subir a foro de BlackBoard
- Ransomware
- Troyano
- Bootkit
- Backdoor
- Rootkit
- Banker
- Worm
- Spammer
Próxima sesión
- Al laboratorio
- A montar el laboratorio