
Stellen Sie fest, ob Ihre Compute-Umgebung wirklich anfällig für eine bestimmte Schwachstelle ist, indem Sie alle Faktoren berücksichtigen, die die *tatsächliche* Ausnutzbarkeit beeinflussen (Laufzeitausführung, Konfiguration, Berechtigungen, Vorhandensein einer Gegenmaßnahme, Betriebssystem usw.)
Autor: 2022 - Now, Rezilion
Beschreibung: Schwachstellenvalidierung
Entwicklung: Januar 2022 - Now
Dokumentation: Siehe Website, README
‘Am I Exploitable?’ ist ein python Open-Source-Projekt, das dem Bedarf gerecht wird, zu validieren, ob Ihr System für bestimmte Schwachstellen ausnutzbar ist. Das Projekt kann Ihnen helfen zu verstehen, ob Sie für eine bestimmte Schwachstelle ausnutzbar sind, und erklärt Ihnen, welche Komponente in Ihrem System verwundbar oder nicht verwundbar ist. Das Projekt kann einen Graphen erstellen, der den Validierungsablauf gemäß den von uns durchgeführten Schwachstellenprüfungen darstellt. MI-X unterstützt maschinenlesbare Ausgabe. Die Ergebnisse können in drei verschiedene Dateiformate exportiert werden: json, csv und text. Nach der Ausführung des Tools sehen Sie den Validierungsablauf – es wird ausgegeben, welche Prüfungen auf dem Host/Container durchgeführt wurden, gefolgt von Empfehlungen zur Behebung und Schadensbegrenzung. Wir möchten eine Gemeinschaft von Forschern und Programmierern aufbauen, die Schwachstellenprüfungen für neue Schwachstellen oder kritische bzw. bekannte Schwachstellen hinzufügen können. Wann immer eine neue Schwachstelle auftaucht, können wir diesen Dienst anbieten, der Menschen dabei hilft, zu validieren, ob sie ausnutzbar sind oder nicht. Darüber hinaus können die bisher geschriebenen Schwachstellenprüfungen um einige Prüfungen erweitert werden, die wir möglicherweise übersehen haben.
Ein Beispiel-Validierungsflussdiagramm für CVE-2021-4034 (auch bekannt als PwnKit):

Jeder darf 'Am I Exploitable?' unter den Bedingungen der AGPL-3.0-Lizenz verwenden (siehe Datei LICENSE).
am_i_exploitable.py - Die Hauptdatei, die die Benutzereingaben und die CVE-Aufrufe behandelt.cves - Python-Paket, das für jede aktuell unterstützte Schwachstelle eine Python-Datei enthält.modules - Python-Paket, das Module enthält.
Module sind Code-Implementierungen, die in verschiedenen CVE-Dateien verwendet werden.Das Tool unterstützt die folgenden Linux-Distributionen:
Ubuntu, Debian, Red Hat, Centos, Fedora, SUSE, SLES, Amazon
Teilweise Unterstützung für Alpine
Teilweise Unterstützung für Windows

Stellen Sie vor der Installation von MI-X sicher, dass Ihr System über Folgendes verfügt:
openjdk10 ist)Um die Anforderungen zu installieren:
Überprüfen Sie Ihre Betriebssystem-Distribution. Sie können den folgenden Befehl verwenden:
cat /etc/os-release
Ermitteln Sie, welchen Paketmanager Ihre Betriebssystem-Distribution verwendet:
apt - Ubuntu, Debian
yum - Red Hat, CentOS, Fedora, SUSE, SLES, Amazon
apk - Alpine
Installieren Sie die relevanten Pakete mit dem Paketmanager Ihrer Betriebssystem-Distribution
Um MI-X korrekt auszuführen, müssen Sie die graphviz- und packaging-Python-Module mit pip installieren:
pip install -r requirements.txt
Die neuesten Entwicklungen können über git bezogen werden.
git clone https://github.com/Rezilion/mi-x.git
cd mi-x && python3 am_i_exploitable.py
Vorlage für den Scan-Befehl
python3 am_i_exploitable.py -v cve_yyyy_xxxx -c True -g True -f json
Scannen Sie die Maschine mit laufenden Containern auf log4shell.
python3 am_i_exploitable.py -v log4shell -c True -f json

Gibt die Schwachstelle an, die überprüft wird (standardmäßig nicht gesetzt).
Syntax:
Wenn das Argument nicht gesetzt ist, erscheint eine Menümeldung, die die aktuell unterstützten Schwachstellen auflistet.
Scannt alle laufenden Container auf dem Host (standardmäßig False).
Scannt bestimmte Container auf dem Host, indem die Namen der laufenden Container, durch Leerzeichen getrennt, eingegeben werden (standardmäßig nicht gesetzt).
Exportiert die Ergebnisse in eines von drei möglichen Ausgabeformaten: json, csv, text
Gibt an, ob die Beschreibung der Schwachstelle angezeigt werden soll oder nicht (standardmäßig True).
Gibt an, ob das Validierungsflussdiagramm angezeigt werden soll (standardmäßig False).
Hilfe zum Verständnis, wie der Code ausgeführt wird
Einen Fehler gefunden oder eine großartige Idee? Lassen Sie es uns wissen:
Beiträge sind willkommen und können über GitHub erfolgen.
Weitere Informationen zum Einreichen finden Sie in CONTRIBUTING.md.
'Am I Exploitable?' ist auf Windows und den gängigsten Linux-Betriebssystemen getestet. Die Dokumentation (README) und die Debug-Informationen (setzen Sie den Debug-Parameter auf 'True') sollten die meisten Fragen und Probleme abdecken.
Fehler können über GitHub oder per E-Mail an die obige E-Mail-Adresse gemeldet werden.
Dank an die Community für die Nutzung und Unterstützung von Open-Source-Software.
Viele Kommentare, Fehler-/Patchmeldungen und Fragen sind der Schlüssel zum Erfolg und zur anhaltenden Motivation bei der Entwicklung solcher Tools.