
Extrahiert und analysiert Sicherheitsmerkmale von PE-Dateien (ASLR, DEP, CFG, NO_SEH) aus DLLs und EXEs in Verzeichnissen und speichert die Ergebnisse in einer SQLite-Datenbank für die Batch-Schwachstellenbewertung.
PESTO ist ein Python-Skript, das PE-Dateien-Sicherheitsmerkmale oder -Flags extrahiert und in einer Datenbank speichert, indem es jedes PE-Binary in einem gesamten Verzeichnis durchsucht und die Ergebnisse in einer Datenbank ablegt.
Es prüft das Architekturflag im Header sowie die folgenden Sicherheitsflags: ASLR, NO_SEH, DEP und CFG. Der Code ist klar genug, um die Flags und Formate nach eigenen Bedürfnissen anzupassen.
Weitere Details und Erklärung der Flags unter: https://www.slideshare.net/elevenpaths/anlisis-del-nivel-proteccin-antiexploit-en-windows-10
Das Skript benötigt lediglich einen Pfad und einen Tag. Das Programm durchläuft den Pfad und die Unterverzeichnisse, sucht nach .DLL- und .EXE-Dateien und extrahiert die Flags im PE-Header (dank der PEfile-Python-Bibliothek).
Das Programm benötigt einen Tag, der als Suffix für Log- und Datenbank-Dateinamen verwendet wird, sodass verschiedene Analysen im selben Verzeichnis durchgeführt werden können.
Die vom Skript bereitgestellten Informationen sind:
Es wird zudem eine .db-Datei erstellt, eine SQLite-Datei mit den gesammelten Informationen.