
Ein einfacher PoC für CVE-2022-46169, auch bekannt als Cacti Unauthenticated Command Injection, eine Schwachstelle, die es einem nicht authentifizierten Benutzer ermöglicht, beliebigen Code auf einem Server auszuführen, auf dem Cacti von Version 1.2.17 bis 1.2.22 läuft.
Dies ist eine einfache PoC-Anpassung des Vulnhub-Cacti-Szenarios. Sie können es hier überprüfen.
Cacti ist ein robustes und erweiterbares Betriebsüberwachungs- und Fehlermanagement-Framework für Benutzer weltweit. Eine Befehlsinjektionssicherheitslücke ermöglicht es einem nicht authentifizierten Benutzer, beliebigen Code auf einem Server auszuführen, der Cacti in den Versionen 1.2.17 bis 1.2.22 ausführt, sofern eine bestimmte Datenquelle für ein überwachtes Gerät ausgewählt wurde.
Referenzen:
Führen Sie den folgenden Befehl aus, um einen Cacti-Server 1.2.22 zu starten:
# Compile environment
docker compose build
# Run environment
docker compose up -d
Nachdem der Server gestartet wurde, sehen Sie die Anmeldeseite unter http://localhost:8080.
Melden Sie sich dann als admin/admin an und folgen Sie den Anweisungen, um die Anwendung zu initialisieren. Tatsächlich klicken Sie einfach immer wieder auf die Schaltfläche "Weiter", bis Sie die Erfolgsseite sehen.
Bevor Sie diese Sicherheitslücke ausnutzen können, müssen Sie einen neuen "Graph" hinzufügen, da die Befehlsinjektion nicht im Standard-Graphentyp auftritt:

Wählen Sie den Graphentyp "Device - Uptime" und klicken Sie auf die Schaltfläche "Erstellen":

Nach Abschluss der obigen Initialisierung wechseln Sie Ihre Rolle zu einem Angreifer. Verwenden Sie einfach das folgende Skript, wie gezeigt, um eine Anfrage an den Cacti-Server zu senden und den Befehlsinjektionsangriff auszulösen:

Obwohl kein Befehlsergebnis in der Antwort enthalten ist, können Sie feststellen, dass /tmp/test.txt erfolgreich erstellt wurde.
