Antonio Sanz en sus artículos “PDF deconstruído al aroma de shellcode”, hace un análisis empleando la utilidad peepdf de un PDF que explota la vulnerabilidad “CVE 2013-2729”.
A partir de estos artículos, se me ocurrió la idea de generar una regla de YARA para detectar estos PDF maliciosos.
Para ponernos en situación, recordemos que la vulnerabilidad CVE 2013-2729 explota un fallo de Adobe Reader X que no valida bien los datos de imágenes BMP incrustadas en el documento. Mediante este fallo se puede ejecutar código malicioso debido a que provoca un heap overflow.
La siguiente regla de yara nos permite localizar los ficheros que explotan dicha vulnerabilidad:
rule shellcode_cve_2013_2729 { meta: author = "Manuel" company = "S2 Grupo" date = "2014-12-17" description = "PDF con shellcode CVE 2013_2729" link1 = "http://www.binamuse.com/papers/XFABMPReport.pdf" link2 = "https://github.com/feliam/CVE-2013-2729/blob/master/XFABMPExploit.py" link3 = "https://github.com/feliam/CVE-2013-2729/blob/master/E10.1.4.pdf " link4 = "https://www.securityartwork.es/2014/09/30/pdf-deconstruido-al- aroma-de-shellcode-i/" md5test = "eb9228f17568704676385428d3bbefff" strings: $xfa1 = "XFA 1 0 R" $xfa2 = "XFA 2 0 R" $xfa3 = "XFA 3 0 R" $s0 = "AcroForm 2 0 R" $s1 = "/Filter [/Fl" condition: 1 of ($xfa*) and all of ($s*) }
Para ejecutar la regla, utilizaremos la siguiente instrucción:
yara <fichero regla> -s <fichero pdf>
Esperamos que esta regla os sirva de ayuda para detectar y analizar estos hermosos PDFs con regalo que seguro que recibís estas navidades.