
Extrai e analisa características de segurança de arquivos PE (ASLR, DEP, CFG, NO_SEH) de DLLs e EXEs em diretórios, armazenando resultados em um banco de dados SQLite para avaliação de vulnerabilidades em lote.
PESTO é um script Python que extrai e salva em um banco de dados algumas características ou flags de segurança de arquivos PE, procurando por cada binário PE em um diretório inteiro e salvando os resultados em um banco de dados.
Ele verifica a flag de arquitetura no cabeçalho e as seguintes flags de segurança: ASLR, NO_SEH, DEP e CFG. O código é claro o suficiente para modificar flags e formatos conforme suas necessidades.
Mais detalhes e explicação das flags aqui: https://www.slideshare.net/elevenpaths/anlisis-del-nivel-proteccin-antiexploit-en-windows-10
O script precisa apenas de um caminho e uma tag. O programa percorrerá o caminho e subdiretórios em busca de arquivos .DLL e .EXE, extraindo as flags no cabeçalho PE (graças à biblioteca Python PEfile).
O programa exige uma tag que será usada como sufixo para logs e nomes de arquivos de banco de dados, permitindo que diferentes análises sejam feitas no mesmo diretório.
As informações fornecidas pelo script são:
Também será criado um arquivo .db, que é um arquivo sqlite com as informações coletadas.