Extraer objetos flash de documentos office maliciosos
Con el tiempo tu lista de feeds va aumentando y te vas guardando con una estrellita aquellos artículos que sabes que leerás más tarde y con los que pasan semanas y meses y que nunca lees, uno de los artículos que tenía pendiente de leer es sobre Extraer objetos flash de documentos office maliciosos.
El artículo en inglés lo publicaron los cracks que escriben en el blog del SANS. Yo os lo traigo hoy explicado paso por paso para que aprendamos todos juntos.
Extraer objetos flash de documentos office maliciosos pasando un strings al fichero
Tenemos un documento Word malicioso, tenemos que analizarlo. Lo primero que podemos hacer para hacernos una idea de si el documento contiene elementos que podamos extraer es pasarle un strings al fichero.
Cuando le pasamos strings al fichero veis que hay referencias a un objeto Flash dentro del documento. Existen más herramientas para identificar flash y otros objetos dentro de un documento ofimático, pero lo dejaremos para más adelante.
Ahora lo que haremos será extraer el flash del documento office.
La herramienta que usaremos es xxxswf.py
Miramos las opciones de las que dispone la herramienta:
remnux@remnux:~/Desktop/WORD/original$ xxxswf.py Usage: xxxswf.py [options] <file.bad> Options: -h, --help show this help message and exit -x, --extract Extracts the embedded SWF(s), names it MD5HASH.swf & saves it in the working dir. No addition args needed -y, --yara Scans the SWF(s) with yara. If the SWF(s) is compressed it will be deflated. No addition args needed -s, --md5scan Scans the SWF(s) for MD5 signatures. Please see func checkMD5 to define hashes. No addition args needed -H, --header Displays the SWFs file header. No addition args needed -d, --decompress Deflates compressed SWFS(s) -r PATH, --recdir=PATH Will recursively scan a directory for files that contain SWFs. Must provide path in quotes -c, --compress Compresses the SWF using Zlib[b/ash] Una vez que tenemos claras las opciones lanzamos la herramienta para extraer el flash. [bash]remnux@remnux:~/Desktop/WORD/original$ sudo xxxswf.py -xd Iran\'s\ Oil\ and\ Nuclear\ Situation.doc [sudo] password for remnux: [SUMMARY] 1 SWF(s) in MD5:e92a4fc283eb2802ad6d0e24c7fcc857:Iran's Oil and Nuclear Situation.doc [ADDR] SWF 1 at 0x2e08 - CWS Header [FILE] Carved SWF MD5: 128a66cc3efe6f424c3fedcc4b6235ac.swf [FILE] Carved SWF MD5: 128a66cc3efe6f424c3fedcc4b6235ac.2.swf remnux@remnux:~/Desktop/WORD/original$ ls 128a66cc3efe6f424c3fedcc4b6235ac.2.swf 128a66cc3efe6f424c3fedcc4b6235ac.swf Iran's Oil and Nuclear Situation.doc
Ya tenemos el fichero flash extraído del documento ofimático.