
Einfaches Schwachstellen-Scanning-Framework
Dieses Tool zielt darauf ab, Dateien in einem angegebenen Verzeichnis zu durchsuchen, um unsichere, anfällige oder gefährliche Funktionsaufrufe zu erkennen. Es ist so konzipiert, dass es erweiterbar und leicht verständlich ist; Sie können Module „einstecken und verwenden“, die Kriterien festlegen, welche Dateitypen welche „Scans“ auslösen, und Sie bestimmen, welche Aktion ergriffen werden soll, um gefährliche Inhalte in jeder Datei zu finden und zu melden.
Außerdem kann es als experimentelles automatisiertes Fuzzing-Tool ausgeführt werden. Mit effektiven Modulen kann das Framework angepasst werden, um ausführbare Dateien automatisch zu fuzzen. Sie können Fuzzer mit der generischen Klasse fuzz.fuzzer.Fuzzer implementieren. WARNUNG: Dies ist eine Unterklasse von scan.scanner.Scanner, führt jedoch ALLE Dateien mit Ausführungsberechtigung AUS! Seien Sie vorsichtig!
$ ./peach.py -h
usage: peach.py [-h] [-s] [-f] [--follow] [-c CONFIG] [-o OUTPUT] [-sh] [-nh]
paths [paths ...]
positional arguments:
paths files and directories to scan
optional arguments:
-h, --help show this help message and exit
-s, --scan use configuration file for vulnerability scanning
(vulnscan.json).
-f, --fuzz use configuration file for automated fuzzing
(fuzzing.json).
--follow follow symbolic links when scanning directories
-c CONFIG, --config CONFIG
specify a custom configuration file (default:
vulnscan.json)
-o OUTPUT, --output OUTPUT
output results to the specified JSON file
-sh, --scan-hidden Scan hidden files and directories (default)
-nh, --no-hidden Do not scan hidden files and directories
Dies ist der Kern des Dienstprogramms; das Python-Skript, das alle Threads und Scans aus den angegebenen [Befehlszeilenargumenten] startet.
Dieses Verzeichnis enthält alle Klassen, die für spezifische Datei-„Scans“ dupliziert und erweitert werden können, in denen Sie so ziemlich alles tun können, was Sie möchten. Sie sind lediglich in diesem Ordner untergebracht, um die Ordnung zu wahren.
Dies fungiert als globale Konfiguration; in dieser JSON-Datei geben Sie an, welche Scans Sie für alle verarbeiteten Dateien ausführen möchten, und legen die Kriterien fest, die Sie zur Identifizierung dieser Dateien verwenden möchten (Dateierweiterung, [MIME-Typ] oder ausführbar). Alle in dieser Konfiguration aufgeführten Scanner sollten lediglich Scanner sein. Hier sollten keine Fuzzer aufgeführt werden!
Diese Datei ähnelt vulnscan.json, enthält jedoch Verweise auf Fuzzer und kann verwendet werden, um automatisch ein Verzeichnis oder eine Datei zu fuzzen. WARNUNG: Die Verwendung dieser Konfiguration führt ALLE Dateien mit Ausführungsberechtigung aus! Seien Sie vorsichtig bei der Verwendung!
Das war's! Die Idee hinter dem Tool ist einfach; die wahre Stärke liegt darin, Scanner zu bauen, um schädliche Inhalte oder Codes in großen Mengen unbekannter Daten zu erkennen und zu melden. Fügen Sie also Ihren eigenen Scanner hinzu!
Möglicherweise müssen Sie die maximale Anzahl offener Dateien auf Ihrem System erhöhen, um alle mit diesem Tool bereitgestellten Fuzzer verwenden zu können. Da die Fuzzer gleichzeitig ausgeführt werden, sammelt sich schnell eine große Anzahl offener Dateien an. Auf den meisten modernen Systemen liegt das Limit bei 1024, was einen Fehler „Out of files“ (EMFILE) verursacht. Eine Erhöhung der maximalen Anzahl offener Dateien für Ihr System sollte das Problem beheben.
testDieses Verzeichnis enthält alles, was oft zum Testen einiger Scanner verwendet wurde. Sie können nach Belieben hinzufügen.