1. Introducción

En el último congreso de seguridad informática RootedCON 2019, Miguel Ángel de Castro y Pablo San Emeterio presentaron Diario, una herramienta de análisis de malware dentro de la ponencia “An Other Bad Email“.

En este artículo veremos que funcionalidades ofrece la herramienta para analizar documentos ofimáticos en busca de malware.

Si deseas ver la presentación de la ponencia mencionada, puedes consultarla a continuación.

RootedCON2019 - Another Bad Email

2. Conociendo Diario

Diario es una herramienta (desarrollada por 11paths) que se enfoca en escanear y analizar documentos ofimáticos de forma estática manteniendo la privacidad del contenido de los documentos de los usuarios. No procesa ni almacena el contenido privado del propio documento, únicamente trata la estructura y las características de este con el fin de detectar solo código malicioso en su interior.

Puedes encontrar más información en la propia página web de https://diario.e-paths.com/

Actualmente, esta versión está en fase beta privada siendo solo accesible por invitación. Desde GINSEG tenemos la oportunidad de disponer del acceso y poder analizar la propia herramienta.

Adjuntamos en el subapartado de “Papers relacionados” las investigaciones presentadas por 11paths que engloban parte de las funcionalidades utilizadas en la herramienta DIARIO.

3. Análisis de Diario

En este apartado mostramos un análisis sobre la herramienta DIARIO. Los subpuntos que se tratan son los siguientes: la instalación, la configuración, disponibilidad de API, aprendiendo a utilizar la propia herramienta y un score de la complejidad de su uso.

3.1. Instalación de Diario

Esta herramienta no requiere instalación, sino es ejecutada en la nube mediante su login correspondiente a través de la dirección web https://diario-elevenlabs.e-paths.com/secure/login

 

Login de DIARIO

 

3.2. Configuración y Parametrización de Diario

Una vez iniciada sesión en la herramienta no es necesario especificar ningún tipo de parametrización de esta.

3.3. Disponibilidad de API.

DIARIO dispone de la opción de consulta a la plataforma mediante API, tanto para obtener información referente a un hash asociado a un documento o bien para subir un documento PDF o WORD para su análisis.

El panel de gestión de la API está ubicado en el submenú de Clientes API. DIARIO permite utilizar las claves creadas por defecto, generar unas nuevas o bien tener varias API KEYS para utilizar simultáneamente.

 

Panel de Clientes API de DIARIO

 

Toda la documentación oficial relacionada a cómo utilizar la API puedes consultarla en la siguiente dirección: https://diario.e-paths.com/api-specification.html

 

3.4. Aprendiendo a utilizar Diario

La herramienta DIARIO está formada por 3 bloques de análisis siendo los siguientes:

  • Office. Dashboard que dispone del inventario de documentos Word analizados.
  • PDF. Dashboard que recopila los documentos PDF analizados.
  • Subir documento. Dashboard que permite subir un documento ofimático a analizar.

En los subapartados siguientes podrán verse las funciones que ofrece esta herramienta.

3.4.1. Módulo Office

Este módulo está enfocado en analizar documentos ofimáticos en busca de macros con contenido malicioso. En la imagen de abajo podemos visualizar el dashboard principal de este módulo.

 

 

En la parte superior disponemos de un buscador para realizar consultas sobre los siguientes datos:

  • Hash de un documento ofimático.
  • Hash de una macro detectada y analizada.
  • Tag asociado a un documento o macro.

Cada documento ofimático analizado puede ser categorizado como:

  1. Malware: Si un documento ofimático contiene macros maliciosas. El logotipo para identificarlo es el siguiente:
  2. Goodware: Si un documento ofimático contiene macros pero no maliciosas. El logotipo para identificarlo es el siguiente:
  3. No macro: Si un documento ofimático no contiene ningun tipo de macro en su interior. El logotipo para identificarlo es el siguiente:

Detectamos una muestra analizada sobre un documento Excel en el que han sido detectados 3 macros asociadas y que al parecer contienen algún tipo de código malicioso.

 

 

Accediendo a su interior podemos ver información relacionada al documento con su hash calculado, el estado (analizado), la predicción (malware), el tipo (documento Excel) y la fecha de la subida. Además, permite definir tags para categorizar mejor la amenaza y marcarlo si se desea como “Goodware” o “Malware”. En la parte inferior podemos ver las macros asociadas al documento. En la imagen de abajo puede verse todo lo mencionado.

 

 

Si seleccionamos cada una de las macros de la imagen superior podemos ver información relacionada a cada macro y que están afectando de alguna manera al documento Excel visto.

Macro 1

Analizamos primero la evidencia de la primera macro. Detectamos un impacto de 1,65684% y una predicción de la amenaza como desconocida. La herramienta permite visualizar el código presente en la macro, tanto decodificado como en base64.

Si se presta atención dentro del código decodificado, puedes encontrar señalado con color rojo, aquellas variables que pueden ayudar a identificar posibles patrones de amenazas, como puede ser en este caso el VB_Name y el VB_Base.

 

 

Si desplegamos el campo de documentos podemos ver diferentes documentos ofimáticos en los que está presente la macro.

 

 

En el caso de que deseemos buscar un valor concreto dentro del propio código analizado y detectar coincidencias con otras muestras, podemos seleccionar dicha parte del código y realizar una búsqueda para localizar similitudes. En la imagen de abajo pueden verse los resultados de las macros localizadas y que comparten el mismo patrón de búsqueda.

 

Macro 2

Analizando la segunda macro asociada al documento Excel detectamos un impacto de 0,00556% y una predicción de la amenaza como desconocida. La herramienta permite visualizar el código presente en la macro, tanto decodificado como en base64.

Si se presta atención dentro del código decodificado, podemos encontrar señalado con color rojo aquellas variables que pueden ayudar a identificar posibles patrones de amenazas, como puede ser en este caso el VB_Name (coincide con el nombre de la anterior macro), el VB_Base, la librería IpHlpApi, entre otra información. Al poder visualizarse completamente el código de la macro puede deducirse el comportamiento del propio código y descubrir el fin para el que fue creado. Si se desea, se puede descargar el código decodificado mediante el icono de descarga, con el fin de analizarse mediante otro editor. Únicamente es detectada esta macro en el documento Excel mencionado.

 

 

Macro 3

Analizando la tercera macro asociada al documento Excel detectamos un impacto de 1,51776% y una predicción de que no existe amenaza marcado como goodware. Esto último es peculiar ya que, si tiene un impacto de ese valor, se tendría que categorizar como amenaza o como desconocida. La herramienta permite visualizar el código presente en la macro, tanto decodificado como en base64.

Si se presta atención dentro del código decodificado, podemos encontrar señalado con color rojo aquellas variables que pueden ayudar a identificar posibles patrones de amenazas, como puede ser en este caso el VB_Name y el VB_Base.

 

 

3.4.2. Módulo PDF

Este módulo está enfocado en analizar documentos PDF en busca de código JavaScript con contenido malicioso. En la imagen de abajo podemos visualizar el dashboard principal de este módulo.

 

Indice de análisis de documentos PDF

 

En la parte superior disponemos de un buscador para realizar consultas sobre los siguientes datos:

  • Hash de un documento PDF.
  • Hash de un código JavaScript detectado y analizado.
  • Tag asociado a un documento o JavaScript.

 

Cada documento ofimático analizado puede ser categorizado como:

  1. Malware: Si un documento ofimático contiene macros maliciosas. El logotipo para identificarlo es el siguiente:
  2. Goodware: Si un documento ofimático contiene macros pero no maliciosas. El logotipo para identificarlo es el siguiente:
  3. Desconocido: Si un documento ofimático no contiene ningún tipo de macro en su interior. El logotipo para identificarlo es el siguiente:

Detectamos una muestra analizada sobre un documento PDF en el que ha sido detectado código JavaScript asociado y que al parecer contiene algún tipo de código malicioso.

Accediendo a su interior podemos ver información relacionada al documento con su hash calculado, el estado (analizado), la predicción (malware), el tipo (documento Excel) y la fecha de la subida. Además, permite definir tags para categorizar mejor la amenaza y marcarlo si se desea como “Goodware” o “Malware”. En la parte inferior podemos ver el código JavaScript asociado al documento. En la imagen de abajo puede verse todo lo mencionado.

 

 

Si seleccionamos la muestra del código JavaScript de la imagen superior podemos ver información relacionada a este.

Muestra del código JavaScript

Analizamos la evidencia de la muestra anterior. Entre los detalles de la muestra podemos encontrar el hash calculado, el estado (siendo en este caso desconocido) y la fecha del análisis La herramienta permite visualizar el código JavaScript presente en el documento PDF, tanto decodificado como en base64.

Si se presta atención dentro del código decodificado, podemos encontrar señalado con color rojo aquellas variables o eventos que pueden ayudar a identificar comportamientos o posibles patrones de amenazas. En este caso son definidos dos eventos MouseDown, ejecutando el primero un método “this.closeDoc()“, que cerrará el documento PDF, y el segundo el método “this.print()“, que imprimirá el contenido del documento PDF.

 

 

3.4.3. Módulo de Subir documento

Este módulo está enfocado para subir documentos ofimáticos y/o PDF para ser analizados en busca de malware. En la imagen de abajo podemos visualizar el dashboard principal de este módulo.

 

 

Descargamos la siguiente muestra de VirusTotal para realizar la prueba:

 

Procedemos a seleccionar la muestra recién descargada y la subimos a la herramienta DIARIO.

 

 

 

Una vez subida la muestra aparece información del propio análisis de esta. Referente a dicho documento se extrae su hash calculado, el estado (analizado), la predicción (malware), el tipo de documento (siendo doc) y la fecha de la subida. Además, permite definir tags para categorizar mejor la amenaza y marcarlo si se desea como “Goodware” o “Malware“. En la parte inferior podemos ver las 5 macros asociadas al documento. En la imagen de abajo puede verse todo lo mencionado.

 

 

Si se desea analizar cada una de las Macros, accederíamos a cada una de ellas tal como se ha mostrado en subapartados anteriores.

3.6. Score de complejidad de instalación, configuración y uso

La puntuación inicial que damos a esta herramienta es de 9. Hemos puntuado muy alto a pesar de que la herramienta está disponible en su versión beta, debido a que no hay que instalar ni configurar prácticamente ningún componente o plugin para realizar cualquier acción con esta. La usabilidad de la herramienta es muy intuitiva consiguiendo aprender rápidamente a realizar cualquier acción de investigación sobre cualquier documento.

 

ComplejidadNota
Instalación10
Configuración10
Uso7
Puntuación total9

4. Ventajas

Como puntos a destacar de esta versión tenemos:

  1. Cuenta con una API que permite interactuar con el back-end directamente sin usar el interfaz web. Esto permite automatizar el proceso de análisis y recopilación de las evidencias de las muestras. (Toda la documentación de la API puede encontrase en la siguiente dirección: https://diario.e-paths.com/api-specification.html)
  2. Dispone de un panel general donde visualizar todas las muestras ofimáticas y/o documentos PDF a medida que van siendo subidas y analizadas por la herramienta.
  3. Cuenta con una categorización para identificar con rapidez si un documento es malicioso o no.
  4. Analiza macros y código JavaScript incluidos en los documentos para detectar si es malicioso o no.
  5. Asocia los análisis de macros y código JavaScript con los análisis de los documentos relacionados.
  6. Es capaz de subir una muestra rápidamente.
  7. Posibilidad de añadir TAGs a las muestras.
  8. Permite varios tipos de filtrado como pueden ser por string de código, hash (en base 64, macro, documento ofimático o PDF y JavaScript), nombre de la macro y TAG.
  9. Permite la visualización del código, tanto decodificado como en base 64, relacionado a una muestra de un macro o JavaScript y a su descarga si es necesario.
  10. Es capaz de identificar los documentos ofimáticos o PDF donde es utilizado el mismo código JavaScript o macro.
  11. Permite calcular el porcentaje del impacto que puede suponer una muestra de una macro o JavaScript para una base de datos.
  12. Si se desea puede integrarse con Latch.

 

5. Desventajas

No se han detectado desventajas como tal sino pequeños detalles que se echan en falta, como pueden ser:

  1. Dentro de la amenaza detectada e identificada como Malware en un determinado documento, se echa en falta una pequeña subcategoría indicando el tipo de amenaza que es, como por ejemplo a que familia de malware pertenece.
  2. Relacionado al punto anterior, vería interesante añadir que tipo de actor está relacionado con cada una de las amenazas detectadas, en la medida de lo posible.
  3. Dentro del análisis de cada Macro y/o JavaScript, sería interesante contar con un apartado donde identificar directamente los componentes importantes que se reflejan dentro del código, como pueden ser, direcciones IP, dominios, etc.

 

6. Papers relacionados

Los papers de investigación presentados por 11paths como paso previo de la creación de DIARIO son:

  • Detección y análisis de malware en documentos PDF

Paper - Malicious PDF Documents Detection using Machine LearningTechniques

 

  • Detección y análisis de malware sobre macros incluidas en ficheros Words

Paper - Macro Malware Detection using Machine Learning Techniques

 

7. Conclusion

La conclusión principal es la recopilación de muestras de código decodificadas de macros y/o código JavaScript relacionados a documentos ofimáticos y PDFs para detectar la existencia de código malicioso. Además, otro añadido a esta herramienta son las asociaciones que se crean entre los documentos y las macros / JavaScripts para identificar cuales están relacionados y cuales se categorizan como malware o no.

Esta herramienta tiene un enorme potencial y puede ser un gran complemento a VirusTotal para la realización de análisis de malware enfocados a documentos ofimáticos.

En general, a pesar de ser una beta privada, estamos satisfechos de las opciones de esta solución ya que aporta funcionalidades no detectadas en otras herramientas.

0 comments

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>