
CiscoRV320Dump CVE-2019-1653 - Automatisierung.
Beschreibung der Schwachstelle
Dieses Repository beschreibt den Exploit-Prozess einer Schwachstelle in bestimmten Cisco-Routern, die die Offenlegung der Konfigurationsdatei config.exp über eine öffentlich zugängliche URL ermöglicht. Diese Datei kann sensible Informationen enthalten, darunter Anmeldeinformationen (USERNAME und PASSWD), Netzwerkkonfigurationen und andere kritische Systemdetails. Wenn sie ohne Authentifizierung zugänglich ist, kann dies die Sicherheit des Geräts und des Netzwerks, in dem es eingesetzt wird, gefährden. Verwandte CVE
Diese Schwachstelle könnte mit CVE-2003-1567 und CVE-2019-1653 zusammenhängen, beide betreffen die unbefugte Offenlegung von Konfigurationsdateien auf Cisco-Geräten, obwohl es wichtig ist zu prüfen, ob das spezifische Gerät und die Firmware für diese CVEs relevant sind. Schritt-für-Schritt-Anleitung zur Ausnutzung
Dieses Verfahren verwendet Shodan, um anfällige Geräte zu identifizieren, gefolgt von Nuclei, um die Offenlegung kritischer Konfigurationen auf Cisco-Routern zu scannen und zu überprüfen. Voraussetzungen
Shodan-Konto: Stelle sicher, dass du ein Shodan-Konto hast und dein API-Key für den Zugriff von der Befehlszeile aus konfiguriert ist.
Nuclei: Installiert in deiner Umgebung, zusammen mit der benutzerdefinierten Nuclei-Vorlage, die unten beschrieben wird.
Werkzeuge: shodan-cli, awk und httpx zur Umwandlung von IP-Adressen in vollständige URLs.
Schritt 1: Finde anfällige Geräte auf Shodan
Der erste Schritt besteht darin, anfällige Geräte auf Shodan mithilfe einer erweiterten Suche zu identifizieren. Die folgende Shodan-Abfrage sucht nach Geräten, die möglicherweise Cisco-Router sind:
shodan download apache_results.json.gz "http.favicon.hash:-299287097 Apache"
Dieser Befehl:
Führt eine Suche auf Shodan durch, um Geräte zu identifizieren, die das Apache-Favicon mit einem bestimmten Hash haben, der Server identifiziert, die möglicherweise mit Apache in Verbindung stehen. Dies ist im Rahmen von Server-Audits nützlich.
Schritt 2: Ergebnisse herunterladen und URLs formatieren
Sobald du die Datei apache_results.json.gz hast, besteht der nächste Schritt darin, IPs und Ports jedes Geräts zu extrahieren und sie in vollständige URLs zu formatieren, einschließlich des Protokolls (http oder https) und des Ports. Befehl zum Verarbeiten der Daten aus der .json-Datei
Verwende den folgenden Befehl, um die IPs und Ports zu extrahieren und in vollständige URLs in einer Datei namens urls.txt zu formatieren:
shodan parse --fields ip_str,port,ssl.version apache_results.json.gz |
awk '{if ($2 == 443 || $3 ~ /https/) print "https://"$1":"$2; else print "http://"$1":"$2}' > urls.txt
shodan parse: Extrahiert die IPs und Ports jedes Ergebnisses aus der Datei apache_results.json.gz.
awk: Formatiert die Ausgabe in vollständige URLs, wobei https verwendet wird, wenn der Port 443 ist oder SSL erkannt wird, und http in allen anderen Fällen.
Die Datei urls.txt enthält nun vollständige und formatierte URLs. Schritt 3: Erstelle eine benutzerdefinierte Nuclei-Vorlage
Um zu überprüfen, ob die Datei config.exp auf diesen Geräten zugänglich ist, verwenden wir eine benutzerdefinierte Nuclei-Vorlage. Diese Vorlage versucht, auf die Datei zuzugreifen und sensible Daten wie USERNAME und PASSWD zu extrahieren, falls vorhanden. Nuclei-Vorlage (cisco-router-config-exposure.yaml)
id: cisco-router-config-exposure info: name: Cisco Router Configuration Exposure author: elzer severity: high description: | Detecta la exposición del archivo config.exp en routers Cisco que contiene credenciales y configuraciones críticas.
tags:
requests:
method: GET path:
matchers-condition: or matchers:
Diese Vorlage:
Sendet eine GET-Anfrage an die Datei /cgi-bin/config.exp.
Überprüft, ob in der Antwort bestimmte Schlüsselwörter oder Muster (Cisco, config, version) vorhanden sind, um die Offenlegung zu bestätigen.
Versucht, Werte von USERNAME und PASSWD zu extrahieren, falls sie in der Datei vorhanden sind.
Speichere diese Vorlage als cisco-router-config-exposure.yaml im Ordner der Nuclei-Vorlagen. Schritt 4: Nuclei ausführen, um anfällige Geräte zu erkennen
Mit der Vorlage und der Datei urls.txt führe den folgenden Nuclei-Befehl aus, um die URLs zu scannen:
nuclei -t path/to/cisco-router-config-exposure.yaml -l urls.txt -o resultados_nuclei.txt -debug -vv
-t path/to/cisco-router-config-exposure.yaml: Gibt die von uns erstellte benutzerdefinierte Vorlage an.
-l urls.txt: Verwendet die Datei urls.txt mit den formatierten URLs.
-o resultados_nuclei.txt: Speichert die Ergebnisse in der Datei resultados_nuclei.txt.
-debug -vv: Führt Nuclei im ausführlichen Modus aus, um den Fortschritt und Debug-Details anzuzeigen.
Ergebnis
Nach der Ausführung von Nuclei enthält die Datei resultados_nuclei.txt eine Liste anfälliger Geräte, die die Konfigurationsdatei config.exp offenlegen. Dies umfasst jedes Gerät, das Anmeldeinformationen oder sensible Konfigurationen zurückgibt, was die Offenlegung der Schwachstelle bestätigt. Fazit
Dieser Prozess ermöglicht es dir, die Offenlegung kritischer Konfigurationsdateien auf Cisco-Geräten mit Shodan und Nuclei zu identifizieren und zu bestätigen. Die Automatisierung dieses Ablaufs ist besonders nützlich für Sicherheitsauditoren und Cybersicherheitsexperten, die daran interessiert sind, unsichere Konfigurationen in Unternehmensnetzwerken zu identifizieren und zu beheben.