Análisis de malware

Análisis de documentos maliciosos 3

30 de septiembre de por Ninja de seguridad

En la última parte de la serie de artículos, hemos visto algunas opciones útiles de OfficeMalScanner como depuración, escaneo, bruto, etc.; aprendí sobre flujos de estructuras, etc. En esta parte del artículo, veremos cómo podemos extraer el código shell del documento malicioso y ejecutar archivos binarios extraídos a través del proceso de análisis regular.

En el último documento, hemos visto 3 compensaciones cuyo comando de escaneo de OfficeMalScanner identifica 0x90fca, 0x90c53 y 0xf51. Ahora tenemos que crear un ejecutable a partir de estos desplazamientos y comprobar cuál de ellos ha dado como resultado un binario que ejecuta el código shell. Para eso, usaremos Malhost-Setup como se muestra a continuación

Cabe señalar que al extraer MalHost-Setup, incluye código para configurar el entorno de ejecución. Para encontrar este código agregado, use la opción de espera de MalHOst-setup como se muestra a continuación

Este comando creará un sample.exe para esta ubicación de desplazamiento. Sin embargo, lo interesante es tener en cuenta las instrucciones del parche de MalHost-Setup. Los bytes originales eran 0xe8 0x00 en el desplazamiento y MalHOst-Setup los parcheó a [0xeb 0xfe]

El analista debe tener en cuenta este comportamiento al intentar analizar el archivo binario extraído sample.exe, en este caso con herramientas de depuración normales como Olly DBG.

Al cargar sample.exe dentro de OllyDBG, podemos obtener las nuevas instrucciones parcheadas.

La instrucción JMP apunta a la misma dirección y las nuevas instrucciones parcheadas EB FE, necesitamos parchearla con la instrucción previa al parche E8.

Una vez hecho esto, ya tenemos el ejecutable con las instrucciones originales y listo para que el analista lo analice.

Ahora analicemos otra muestra, ejecutando OfficeMalScanner como se muestra a continuación.

Pudimos ver que detecta que el malware tiene formato de archivo de texto enriquecido (RTF).

Como se sugiere usar la utilidad RTF incluida con OfficeMalScanner y ejecutarla en anothersample.doc como se muestra a continuación

La utilidad RTFScan detectó el patrón de shellcode en 0x39 y arrojó un objeto inusual en SV_anotherutility_1.bin. Ahora extraigamos el exe de este archivo bin en el desplazamiento 0x39.

Como hemos visto anteriormente, los bytes originales en 0x39(E8 00) están parcheados con [EB FE]. Ahora podemos utilizar el procedimiento anterior y continuar para extraer el ejecutable del documento.

Bueno, esto es todo lo que vamos a discutir sobre las aplicaciones de MS Office y esperamos que ahora las diversas estructuras, herramientas y su uso de sintaxis sean más simples para que los analistas comprendan y analicen dichos documentos maliciosos. Ahora pasemos a otro tipo de documento conocido como formato de documento portátil (PDF).

Formato de documento portátil (PDF)

Los documentos PDF son muy utilizados tanto por empresas como por usuarios domésticos, considerando su mayor soporte y riqueza. Anteriormente, los investigadores consideraban que estos documentos eran seguros; sin embargo, tan pronto como las amenazas maliciosas a través de los documentos maduraron, estos documentos se convirtieron en la opción de los autores maliciosos para difundir malware. Estos documentos se apoyan en gran medida en la ventana y pueden infectar fácilmente al usuario. Por ejemplo, Adobe Acrobat se integra con Windows como una extensión de shell, lo que significa que incluso si los usuarios hacen clic en el archivo PDF malicioso para obtener una vista previa, incluso entonces se puede activar un exploit. Antes de pasar a analizar varias vulnerabilidades que afectan los archivos PDF y las herramientas de análisis, el analista debe conocer la estructura de un archivo PDF.

El archivo PDF es una colección de elementos que son responsables del manejo preciso de la ejecución del documento en su conjunto. El archivo PDF tiene los siguientes componentes

  1. Encabezado: Que contiene información sobre la versión del PDF.
  2. Objetos: después del encabezado, hay algunos objetos que representan texto, gráficos, etc. para representar el documento en formato PDF. Son del formato como

    objeto AB

    endobj

    Donde A es el número de objeto y B es el número de versión del archivo PDF. A veces, entre obj y endobj, también hay algunas referencias a otros objetos en el archivo PDF. Siempre terminan con el carácter ‘R’. Veremos ejemplos de este tipo más adelante en esta serie. Además, cabe señalar que los datos dentro de los objetos se almacenan en forma de flujos. Estos flujos suelen estar comprimidos y pueden ser utilizados por varios algoritmos. Estos algoritmos están indicados por la palabra clave /Filter en el archivo PDF. Algunos de los algoritmos populares admitidos por PDF son FlateDecode, ASCIIHEXDECODE, etc.

  3. Xref: las tablas de referencias cruzadas son referencias a objetos desplazados en la tabla.
  4. Tráiler: El tráiler es la sección del apéndice del archivo PDF, ya que contiene
    1. El desplazamiento a la ubicación de la tabla xref
    2. Número de objetos
    3. Otros metadatos como la ubicación del objeto raíz, fecha de creación, etc.

Hemos hablado de algunas de las palabras clave anteriores como /Filter, así que ahora veamos todas las palabras clave relevantes que pueden proporcionar sugerencias instantáneas a los analistas mientras analizan el archivo PDF.

  1. /AA: Define las Acciones Automáticas que se incrustan en el documento cuando el usuario abre el documento. Cabe señalar que los eventos también se declaran dentro de esto, como el movimiento del cursor, para desencadenar una determinada acción.
  2. /ObjStm: se utiliza para definir una secuencia de objetos que puede ocultar otros objetos determinados. Veremos esto en la última parte de la serie.
  3. /JS: JavaScript incrustado dentro del documento.
  4. /GoTo*: Redirigido al destino especificado en el archivo PDF.
  5. /URI: Recurso al que se accede según lo indicado por la URL
  6. /SubmitForm y /GoToR: Indica los datos enviados a la URL.
  7. /Launch: Esto lanza un programa.

Entonces, para esta parte de la serie de artículos, cubriremos solo hasta esta parte del PDF. En la siguiente parte de la serie, veremos varias herramientas que se pueden utilizar para analizar el documento PDF. También veremos los diferentes desafíos que estos documentos maliciosos plantean a los analistas.