Los bad guys de Internet saben como explotar el eslabón más débil y como conseguir acceso a las organizaciones mediante archivos adjuntos en los phishings. La charla trata de mostrar algunos phishings de los principales actores, así como mostrar algunos métodos de detección manual y automatizada y como analizarlos para extraer el "podrido" del pescado.
2. Sobre mi
Jaume Martín
Ingeniero informático
Máster en seguridad de la información
Empleado en S2 Grupo
Trabajo en CSIRT-CV
Twitter: @Xumeiquer
2
3. Índice
• ¿Qué es CSIRT-CV?
• Maldoc, ¿Qué? ¿Cómo? ¿Por qué?
• Ejemplos
• Análisis de Maldoc
• Formatos y tipos de ficheros
• Herramientas
• Manual (demo)
• Automático
• Conclusiones
3@Xumeiquer
4. ¿Qué es CSIRT-CV?
• Centro de seguridad TIC de la Comunidad
Valenciana
• Primer CSIRT de ámbito autonómico
• Objetivos
• Generación de confianza
• Concienciación
• Respuesta a incidentes
4@Xumeiquer
6. La nueva etapa
• Proceso de convergencia tecnológica muy fuerte.
• Al final todos usamos las mismas tecnologías de base.
• Entorno hiperconectado e hipertecnológico.
• Dificultad identificación del perímetro de una
organización.
• Nueva frontera: Las personas.
6
¿Qué es CSIRT-CV? (III)
@Xumeiquer
7. Plan Valenciano de Capacitación
El objetivo es convertir a las personas que trabajan en una
organización en parte de la línea de ciberdefensa.
Human Firewall
7
¿Qué es CSIRT-CV? (III)
@Xumeiquer
• Proteger en el ámbito personal y profesional.
• Establecer cultura de seguridad de la información.
• Conocer y evitar las principales amenazas, proporcionando el
conocimiento para hacerles frente.
• Hacer conocer y aplicar las medidas de protección básicas.
8. Maldoc, ¿Qué? ¿Cómo? ¿Por qué?
• ¿Qué?
• Ficheros adjuntos
• ¿Cómo?
• Aprovechando un mal parseo del formato
• Aprovechando un 0-day
• Ejecutando una Macro
• Ejecutando un Windows Shell Script
• ¿Por qué?
• Grupos APT
• Grupos Financieros
• Ciber-delincuentes
8@Xumeiquer
9. Ejemplos
Grupo: APT19
Maldoc: RTF con CVE-2017-0199 (HTA)
Macro-enabled Microsoft Excel (XLSM)
https://www.fireeye.com/blog/threat-research/2017/06/phished-at-the-request-of-counsel.html
9@Xumeiquer
18. • WordDocument Stream
• 1Table Stream o 0Table Stream
• Data Stream
• The Object Pool Storage
• ObjInfo Stream
• Print Stream
• Eprint Stream
• Custom XML Data Storage
• Summary Information Stream
• Document Summary Information Stream
• Encryption Stream
• Macros Storage
• XML Signatures Storage
• Signatures Stream
• Information Rights Management Data Space Storage
• Protected Content Stream
Obligatorios
Opcionales
18
Análisis de Maldoc
Formatos y tipos de ficheros (DOC) (II)
@Xumeiquer
19. Extensión Tipo
.doc Legacy Word document
.dot Legacy Word templates
.wbt Legacy Word document backup
.docx Word document
.docm Word macro-enabled document
.dotx Word template
.dotm Word macro-enabled template
.docb Word binary document
Extensiones Microsoft Word
19
Análisis de Maldoc
Formatos y tipos de ficheros (DOC) (III)
@Xumeiquer
20. Extensión Tipo
.xls Legacy Excel worksheets
.xlt Legacy Excel templates
.xlm Legacy Excel macro
.xlsx Excel workbook
.xlsm Excel macro-enabled workbook
.xltx Excel template
.xltm Excel macro-enabled template
.xlsb Excel binary worksheet
.xla Excel add-in or macro
.xlam Excel add-in
.xll Excel XLL add-in
.xlw Excel work space
Extensiones Microsoft Excel
20
Análisis de Maldoc
Formatos y tipos de ficheros (DOC) (IV)
@Xumeiquer
22. • ZIP como formato de fichero.
• En caso de inconsistencia en un fichero no hace
inservible el documento.
• Los ficheros son binarios, XML, Macros, ActiveX, …
22
Análisis de Maldoc
Formatos y tipos de ficheros (DOCX)
@Xumeiquer
23. • Lenguaje de macros (Visual Basic for Applicarions)
• Subconjunto casi completo de Visual Basic 5.0 y 6.0
• Se integra en Microsoft Office
Sub ObtenerFecha()
MsgBox "La fecha es " & Format(Now(), "dd-mm-yyyy")
End Sub
23
Análisis de Maldoc
Formatos y tipos de ficheros (VBA)
@Xumeiquer
25. Portable Document Format
MIME type: application/pdf
Magic header: %PDF
25
Análisis de Maldoc
Formatos y tipos de ficheros (PDF)
@Xumeiquer
26. Peculiaridades
• Nombres
• Codificación en hexadecimal
• Strings
• Escapado de saltos de línea
• Codificación en octal
• Codificación en hexadecimal
• Hexadecimal con espaciado en blanco
• Cifrado
26
Análisis de Maldoc
Formatos y tipos de ficheros (PDF) (I)
@Xumeiquer
27. Peculiaridades
• Nombres
• Codificación en hexadecimal
• Strings
• Escapado de saltos de línea
• Codificación en octal
• Codificación en hexadecimal
• Hexadecimal con espaciado en blanco
• Cifrado
27
Análisis de Maldoc
Formatos y tipos de ficheros (PDF) (I)
@Xumeiquer
29. 1. DOC con Macro.
2. PDF con DOC embebido.
3. RTF con DOC embebido y con Shellcode.
29
Análisis de Maldoc
Manual
DEMO
@Xumeiquer
30. PROS
• Entornos controlados
• Resultados rápidos
• Automatización de análisis
• Varias ejecuciones con distinto software (versiones)
CONTRAS
• Entornos fácilmente detectables
• Fáciles de bypasear
30
Análisis de Maldoc
Automático
@Xumeiquer
31. Conclusiones
• Las herramientas de análisis no son perfectas.
• Los análisis automáticos fallan muchas veces.
• Los análisis manuales son costosos.
• Las organizaciones de ciberdelincuentes se toman
los ataque en serio utilizando técnicas avanzadas y
elaboradas.
31@Xumeiquer
Los bad guys de Internet saben como explotar el eslabón más débil y como conseguir acceso a las organizaciones mediante archivos adjuntos en los phishings. La charla trata de mostrar algunos phishings de los principales actores, así como mostrar algunos métodos de detección manual y automatizada y como analizarlos para extraer el "podrido" del pescado.
Creado en junio de 2007
Está focalizado en Administración Pública, PYMES y ciudadanos.
A nivel estatal tiene una estrecha relación con el CCN-CERT (CNI) y las fuerzas y cuerpos del estado, además está involucrado en foros nacionales como CSIRT.es.
A nivel europeo CSIRT-CV está acreditado en el Trusted Introducer de Terena.
Cuando nace CSIRT-CV nace con los objetivos:
Generación de confianza
Concienciación
Respuesta a incidentes
Los servicios iniciales que ofrece el CSIRT-CV se basan en la prevención, detección y respuesta
Prevención:
Auditorias de seguridad
Test de intrusión periódicos
Normalización
Formación
Análisis de riesgos
Laboratorio de malware
Detección:
Detección/prevención de intrusos
Centro de alerta temprana
Monitorización de servicios web/seguridad semántica/Presencia
Respuesta:
Gestión de incidentes
GIR (Grupo de Intervención Rápida)
Gestión de crisis
Hace 10 años de su creación y el panorama de la seguridad ha evolucionado considerablemente desde el 2007.
Se profesionaliza la ciberdelincuencia
Las amenazas se globalizan
Hay colaboración e intercambio de información
Protección de las infraestructuras críticas
Estrategias de seguridad corporativas, ya no solo de TI
Algunos números
El centro procesa unas 300.000 alertas diarias generadas por los varios sensores desplegados por CSIRT-CV. Como es comprensible es imposible gestionar todas estas alertas manualmente, así que en CSIRT-CV se procesan las alertas a través de la Suite Emas SOM de S2 Grupo, empresa adjudicataria del proyecto.
CSIRT-CV dispone de un portal dentro del ámbito de GVA. Es la cara visible del CSIRT-CV.
Diariamente se actualizan las noticias y alertas de seguridad así como las vulnerabilidades más importantes.
Disponemos de boletines de noticias quincenales a los que es posible suscribirse. Además, disponemos de cursos y guías en distintos ámbitos dentro del marco de la seguridad. Por último decir que desde el propio portal se pueden reportar phishings e incidentes varios.
Resaltar que la guía más descargada en la de Nmap o el informe de detección de APT.
El CSIRT-CV también tiene presencia en Facebook con información menos técnica y en Twitter con información más técnica.
Como digo CSIRT-CV tiene 10 años.
Nueva etapa, nuevo contrato con la empresa adjudicataria, S2 Grupo.
Se a estudiado muy a fondo la evolución del centro y de la seguridad en general.
Hemos visto que estamos viviendo momentos de hiperconexión.
Existe una convergencia tecnología muy fuerte que hace que todos terminemos usando la misma tecnología base.
El Bring Your Own Device, el abaratamiento de los dispositivos, IoT, etc. Hace que la frontera se disperse y ya no haya un perímetro definido en las organizaciones.
Esto hace que nos planteáramos cuál es la frontera entre tanta tecnología y concluimos en que la frontera a proteger y mejorar son las personas.
Para ello hemos preparado 10 ejes estratégicos para alcanzar lo el CSIRT-CV 2020.
CSIRT-CV quiere concienciar a ciudadanos, PYMES y sobre todo al personal de la administración pública en los problemas de seguridad y que el verdadero valor está en que el personal, el cual debe ser consciente de los problemas que pueden acarrear al no realizar un uso correcto de la tecnología.
Con este plan de capacitación se prevé enseñar conceptos y metodologías de trabajo seguras como navegación segura, un uso adecuado del correo electrónico, así como identificar malspam y maldoc en correos fraudulentos. También concienciar en las copias de seguridad, etc.
¿Cómo?
Aprovechando un mal parseo del formato: Por ejemplo RTF contiene más de 1000 etiquetas distintas e implementar un parser sin fallos es complicado.
Aprovechando un 0-day: Hay varios CVE como, por ejemplo CVE-XXXX o CVE-XXXXX que fueron un 0-day en su día y aún se siguen utilizando. Aquí al final lo que pasa es que normalmente se ejecuta una shellcode y fiesta.
Ejecutando una Macro: ¿Quién vio la utilidad a darle tanto poder a una Macro? Lenguaje de programación completo que además se enlaza con la API de Windows, pudiendo lanzar virtualalloc, por ejemplo.
Ejecutando un Windows Shell Script: Descargando un código de Windows Shell Script, similar a javascript.
¿Por qué?
Grupos APT que quieren acceder a las organizaciones para obtener información, modificar/alterar información etc.
Grupos financieros, al igual que los anterior pero son grupos especializados en banca.
Ciber-delincuentes, instalar un ransomware, robar datos, instalar troyanos o bots, etc.
1- Descargar doc desde RTF que explota el CVE-2017-0199. Utilizando HTA se descarga un PowerShell y lo ejecuta.
2- Utilizando un Excel con las Macros habilitadas por defecto.
Mediados de año 2017
Campaña larga a varios targets y documentos preparados para cada organismo.
“.mht” web page archives con OLE embebido.
Simula una web de gmail con la que no se puede mostrar correctamente y a través del mensaje de error indican que se soluciona habilitando las Macros.
* Ofimáticos
RTF formato basado en etiquetas
DOC formato binario
DOCX formato zip con xml
PDF Portable Document Format
* Scripting
A través de Windows Script Host (Wscript)
* Binarios
Otros formatos
Se pueden añadir objetos OLE con por ejemplo las etiquetas \pict y \jpegblip. También cuenta con etiquetas más complejas y que nos permiten añadir o embeber binarios, como puede ser \bin, \binsxn, etc…
La versión 1.6 de 1999 implementaba 1173 etiquetas distintas.
Microsoft mejoró el formato hasta el 2008 con la versión 1.9.1 que fue la última.
Sistema de almacenamiento FAT
Es una forma de tener varios datos en un solo fichero, útil para portabilidad y acceso rápido
Los ”storage” son contenedores, véase como carpetas
Los “stream” son datos, véase como ficheros
A pesar que la estructura es clara y simple distintas versiones de Microsoft Word difieren en la implementación del formato.
Algunas características del formato se publicaron en 1997 bajo una licencia restrictiva hasta 2008.
Sun Microsistems y OpenOffice.org realizaron ingeniería inversa para entenderlo e implementarlo en OpenOffice de manera libre.
Formato Zip, por lo que se puede extraer el contenido fácilmente y editarlo a mano
Se integra en casi cualquier cosa que se pueda programar en Visual Basic 5 y 6, además de Word, Excel, Access, PowerPoint y Outlook
Cuando se programa dentro de un documento de la suite Office el VBA se convierte en Macro o súper macro y ésta macro puede instalarse o distribuirse con solo copiar el documento.
Y lo más importante permite acceder a un lenguaje orientado en eventos con acceso a la API de Windows. Además, se planea integrar con la plataforma .NET.
Creado por Adobe Systems en el 1993 y publicado como estándar abierto en el 2008.
Se compone de 4 bloques Header, Body, Cross-reference Table y Trailer.
El Trailer indica donde está en inicio del documento, el punto de entrada.
La Cross-reference es un índice donde se define en que posición está que objeto
El Body son los objetos que componen el documento en si mismo
Header indica la versión del estándar con la que se define todo el documento.
peefpdf: Más que una herramienta es un framework que permite jugar con PDF de una forma muy fácil.
Análisis:
Metadatos
Objetos comprimidos
Decodificación en octal, hexadecimal, nombre de objetos
Búsqueda de cadenas
Representación lógica y física
Análisis de Shellcodes (libemu)
Análisis de Javascript (PyV8)
Comprobación de hash es VT
Creación:
Creación de PDF con JS
Embeber documentos en los PDF
Ofuscación de cadenas
Filtros
Modificación de objetos
Malformación del PDF
Ejecución
En línea de comandos
Interactivo
Pdftools: Set de herramientas de Didier Stevens, estas incluyen pdf-parser, make-pdf, pdfid y pdftemplate.
pdf-parser: identifica los elementos fundamentales sin renderizarlo
Make-pdf: Permite crear PDF con JavaScript embebido.
Pdfid: No es un parser como tal, pero si que identifica ciertos objetos con palabras clave que permiten identificar cual es el comportamiento del PDF al ser ejecutado.
Oledump y rtfdump: Son herramientas de Didier Stevens como pdftools.
Permiten detectar los streams donde hay Macros y extraerlas.
Además permite el uso de plugins y de Yara.
Permite el uso de zip con contraseña infected
Se pueden crear módulos propios para analizar las Macros
Oletools:
Mraptor orientado a triaje
Hace un buen resumen de los documentos analizados
olevba: Muestra la lista de streams sospechosos además de decodificar alguno de ellos, pudiendo obtener así cadenas en claro.
Yara: Como dicen en la web es la navaja suiza de búsqueda de patrones en malware, aunque tiene se le pueden dar muchos más usos. Nos es útil para identificar macros en ficheros, identificar algún comportamiento específico que tendrá la Macro, etc.