PDFiD, analizando archivos PDF

Es importante tener un buen arsenal de herramientas si queremos hacer un análisis completo y funcional en un caso. Hoy en día que el malware se hace eco en casi cualquier tipo de archivo es importante poder analizar cada uno de ellos. Hoy le toca el paso a los PDF’s. Ya he publicado alguna cosa aquí sobre análisis de PDF, de echo uno de mis colegas es el desarrollador de PeePDF, GRAN herramienta para el análisis de PDF’s maliciosos.

El único inconveniente de PeePDF es la cantidad de dependencias que tiene, así que si no te quieres liar es mejor que los uses desde distribuciones como Remnux. La ventaja de usar la herramienta que veremos hoy es que no necesitarás ninguna dependencia, eso si, no tiene la potencia de análisis de PeePDF, está claro.

La herramienta la descargamos desde la web de Didier Stevens

http://didierstevens.com/files/software/pdfid_v0_1_0.zip

Primero vamos a ver que opciones tiene la herramienta:

darkmac:Downloads marc$ python pdfid.py -hUsage: pdfid.py [options] [pdf-file|zip-file|url]Tool to test a PDF fileOptions:–version show program’s version number and exit-h, –help show this help message and exit-s, –scan scan the given directory-a, –all display all the names-e, –extra display extra data, like dates-f, –force force the scan of the file, even without proper %PDF header-d, –disarm disable JavaScript and auto launch

Para tener una vista clara de lo que hay, nos servirá.

Vamos ha hacer un análisis de un documento PDF, para ver que podemos extraer:

darkmac:Downloads marc$ python pdfid.py /Users/marc/Downloads/RESULTS/analysis/52/APT_1104statment.pdfPDFiD 0.1.0 /Users/marc/Downloads/RESULTS/analysis/52/APT_1104statment.pdfPDF Header: %PDF-1.7obj 59endobj 59stream 40endstream 40xref 1trailer 1startxref 5/Page 3/Encrypt 0/ObjStm 9/JS 0/JavaScript 0/AA 0/OpenAction 0/AcroForm 1/JBIG2Decode 0/RichMedia 0/Launch 0/EmbeddedFile 9/Colors > 2^24 0

Si comprobamos la salida de PDFiD podemos ver que en concreto este archivo tiene varios objetos emmbedded… Cosa sospechosa a priori…

PDFiD también nos permite extraer la fecha de modificación y creación del documento

darkmac:Downloads marc$ python pdfid.py -e /Users/marc/Downloads/RESULTS/analysis/52/APT_1104statment.pdfPDFiD 0.1.0 /Users/marc/Downloads/RESULTS/analysis/52/APT_1104statment.pdfPDF Header: %PDF-1.7obj 59endobj 59stream 40endstream 40xref 1trailer 1startxref 5/Page 3/Encrypt 0/ObjStm 9/JS 0/JavaScript 0/AA 0/OpenAction 0/AcroForm 1/JBIG2Decode 0/RichMedia 0/Launch 0/EmbeddedFile 9/Colors > 2^24 0%%EOF 5After last %%EOF 0D:20110413150033+08’00 /CreationDateD:20110704103118+08’00 /LastModifiedD:20110920103827+08’00 /ModDateD:20110920103842+08’00 /CreationDateD:20110920103851+08’00 /LastModifiedTotal entropy: 7.350737 ( 91010 bytes)Entropy inside streams: 7.694377 ( 52732 bytes)Entropy outside streams: 6.372867 ( 38278 bytes)

Mas información que podemos extraer de los documentos PDF.

Sin duda una herramienta a incorporar en nuestro arsenal.