En esta entrada desarrollaremos las estructuras básicas de un archivo con extensión y función desconocida. El
objetivo principal será entender de qué forma ejecutar o poder leer un
archivo no reconocido por el sistema operativo, identificando algunos patrones como las cabeceras.
Este tipo de proceso es muy frecuente cuando se
analizan los comportamientos de códigos maliciosos, ya que muchas veces
se descargan archivos sin extensión que luego son transformados en una
segunda etapa de ejecución, o directamente guardan configuraciones para
personalizar una infección en una muestra.
Como vemos en la siguiente imagen, este es un
claro ejemplo de error que se da cuando el archivo no corresponde a la
estructura de la extensión involucrada:
En la informática forense se utiliza la esteganografía, una técnica anti forense que intenta lograr que la información contenida quede almacenada de manera imperceptible.
Las siguientes técnicas resultan muy útiles, ya que es posible que en
muchos casos se localicen archivos que puedan aportar un valor a la
investigación: ya sea por encontrar información oculta o intentando
descubrir pruebas que hayan tratado de camuflarse, ayudarán a entender el modo en que ocurrió el incidente de seguridad.
Herramientas para analizar ficheros ofimáticos online
Listado gentileza de SecurityByDefault.com:
- Joe Sandbox Document Analyzer
- Malware Tracker documentos ofimáticos y documentos PDF
- XecScan
Herramientas para analizar ficheros ofimáticos offline
Podemos usar algunas herramientas para detectar y analizar virus de Macros:

Formatos Soportados:
- Word 97-2003 (.doc, .dot)
- Word 2007+ (.docm, .dotm)
- Word 2003 XML (.xml)
- Word MHTML, aka Single File Web Page (.mht)
- Excel 97-2003 (.xls)
- Excel 2007+ (.xlsm, .xlsb)
- PowerPoint 2007+ (.pptm, .ppsm)
Resultados:
- OLE: the file type is OLE, for example MS Office 97-2003
- OpX: the file type is OpenXML, for example MS Office 2007+
- XML: the file type is Word 2003 XML
- MHT: the file type is Word MHTML, aka Single File Web Page (.mht)
- ?: the file type is not supported
- M: contains VBA Macros
- A: auto-executable macros
- S: suspicious VBA keywords
- I: potential IOCs
- H: hex-encoded strings (potential obfuscation)
- B: Base64-encoded strings (potential obfuscation)
- D: Dridex-encoded strings (potential obfuscation)
- officeparser (proyecto Open-Source escrito en Python 2.x)
officeparser.py --extract-macros
Formatos Soportados:
- Word 97-2003: Si
- Excel 97-2003: Si
- PowerPoint 97-2003: No
- Word/Excel/PowerPoint 2007+: Si
Analizando archivos de forma manual
Llegado el caso, podemos estudiar el archivo mediante su firma hexadecimal
y deducir qué tipo de extensión posee para saber, luego, con qué tipo
de aplicación intentar ejecutarlo o de qué manera poder leerlo.
Existen varias aplicaciones que nos facilitarán
este trabajo, sin embargo en un principio analizaremos los códigos
hexadecimales en forma manual, para que se comprenda mejor el proceso.
En primer lugar, utilizaremos algún editor hexadecimal como es HxD,
que contiene una interfaz sencilla, se puede ejecutar desde una versión
portable, es gratuito y de ligeros consumos de recursos.
Por otra parte, también utilizaremos distintos
tipos de archivos para investigar su encabezado, como por ejemplo alguna
imagen, archivos de audio, video, comprimidos y de sistemas operativos
como Linux.
-
Archivos de ofimática
Veamos el primer ejemplo. Se trata de un
archivo que al parecer no posee extensión; sin embargo, como podemos
observar en la imagen, su cabecera comienza con “00 CF 11 E0”. Esta es
común para los archivos de ofimática, como es el caso
de los famosos archivos de texto con extensión “.DOC”. En consecuencia,
podemos discernir que se trata de uno de este tipo tan utilizado.
En la siguiente tabla podremos encontrar algunas de las cabeceras (headers) más utilizadas, indicando el tipo de extensión correspondiente.
| Tipo de Archivo | Cabecera | En ASCII |
|---|---|---|
| .ZIP | 50 4B 03 04 | PK |
| .RAR | 52 61 72 21 | Rar! |
| .TAR | 1F 8B 08 00 | |
| .TGZ | 1F 9D 90 70 | |
| .DOC | D0 CF 11 E0 | ÐÏ.à |
| .XLS | D0 CF 11 E0 | |
| 25 50 44 46 | ||
| .WMV | 30 26 B2 75 | |
| .FLV | 46 4C 56 01 | FLV |
| .BMP | 42 4D F8 A9/ 62 25 / 76 03 | BM, BMp% , BMv |
| .GIF | 47 49 46 38 39 61 / 37 61 | GIF89a GIF87a |
| .ICO | 00 00 01 00 | |
| .JPEG | FF D8 FF E0 / FE | JFIF |
| .PNG | 89 50 4E 47 | PNG |
| .SFW | 43 57 53 06 / 08 | Cws |
| .MP3 | 49 44 33 2E /03 | ID3 |
| .EXE | 4D 5A 50 00 /90 00 | MZP / MZ |
| .DLL | 4D 5A 90 00 | MZ |
| Linux bin | 7F 45 4C 46 | ELF |
-
Archivos comprimidos
En este caso, si analizamos las cabeceras
podemos saber qué tipo de archivo es y además, por ejemplo, si está
protegido con contraseña. En esta caso vemos que en el Offset 0000 tenemos el valor “50 4B 03 04” y en ASCII los strings de PK, indicándonos que coincide con la estructura de un archivo de extensión “.ZIP”.
En caso de que no encuentres la cabecera que
buscas en la tabla anterior, puedes intentar conseguirla desde la
siguiente lista pública que se encuentra en Wikipedia y te proporcionará una mayor cantidad de patrones.
Utilizando herramientas, la manera más sencilla
La segunda opción para desenmascarar archivos
es utilizar alguna herramienta. Podría ser una aplicación que se ejecute
en forma local como TrIDNet, Locate Opener, Smart File Advisor o
Identify!, o aprovechar algún servicio en Internet que realice un
estudio de manera automática, indicando de qué archivo se trata o cuál
sería la extensión más probable (como se puede advertir en la imagen
inferior).
Como es de esperarse, esta última opción no es la recomendada para estudiar archivos de tamaño elevado.
De forma local, podrás utilizar alguna
aplicación de las mencionadas con tal fin. A modo de ejemplo veremos de
qué manera sencilla deberás correr la aplicación de TrIDNet.
Una vez bajada e instalada la aplicación, debemos también instalar sus últimas firmas (actualizadas al 30/09/2015), lo que nos permitirá reconocer más de 6.000 diferentes patrones en cabeceras de archivos.
Seleccionando el objeto a estudiar, y haciendo
clic en la casilla de “Analizar!”, obtendremos los resultados deseados
en cuestión de segundos, indicándonos en este caso la probabilidad más
alta por los patrones encontrados:
Como vemos en la imagen superior, este software detectó tanto la extensión de un archivo de audio como es el .MP3, como de uno de ofimática como es la extensión .DOC.
Fuente:






No hay comentarios:
Publicar un comentario