PESTO


3/10/16. Beta 0.1


PE (files) Statistical Tool

Se trata de un script en Python que extrae y almacena en una base de datos flags o características concretas de las cabeceras PE de los ficheros buscando cada binario PE en un directorio completo y almacenando los resultados en una base de datos.

Comprueba en la cabecera el valor del flag de la arquitectura, además de las siguientes guardas de seguridad: ASLR, NO_SEH, DEP y CFG. Busca todos los binarios PE en un directorio completo y almacena los resultados en una base de datos. El código es lo suficientemente claro como para poder ser adaptado a los diferentes flags y formatos que se necesiten.

Más detalles y explicación sobre estas cabeceras aquí:
https://www.slideshare.net/elevenpaths/anlisis-del-nivel-proteccin-antiexploit-en-windows-10

El script solo necesita una ruta y una etiqueta. El programa irá por toda la ruta y subdirectorios buscando ficheros .DLL y .EXE, y extrayendo los flags o guardas de la cabecera PE (gracias a la librería PEfile de Python). El programa requiere un tag que será utilizado simplemente como sufijo para los nombres de los ficheros de log y base de datos, para que así puedan ser llevados a cabo diferentes análisis en un mismo directorio.

La información que proporciona el script es:

  • Porcentaje de ficheros .DLL y .EXE con arquitectura i386, AMD64 u otra.
  • Porcentaje de flags ASLR, NO_SEH, DEP y CFG activos en las cabeceras.
  • Tras finalizar el análisis preguntará al usuario si quiere exportar los resultados en formato SQL o CSV. Creará un fichero .db.

Es un fichero sqlite con toda la información recolectada.