
Bildungsdemonstration von CVE-2022-46169: nicht authentifizierte Remote-Codeausführung in Cacti ≤1.2.22 durch Autorisierungsumgehung und Befehlsinjektion. Beinhaltet Laboreinrichtung, Exploit-Reproduktion und Auswirkungsanalyse.
Hier ist das umgeformte Erklärungsdokument:
Dieses Projekt ist eine Cybersecurity-Aufgabe, bei der CVE‑2022‑46169 demonstriert wird: eine kritische Schwachstelle in der Open-Source-Netzwerküberwachungsplattform Cacti (Versionen ≤ 1.2.22). Die Schwachstelle ermöglicht es einem nicht authentifizierten Angreifer, beliebige OS-Befehle auf dem Server auszuführen – ohne jegliche Anmeldung.
Das Ziel dieses Projekts ist es, die Schwachstelle zu verstehen, in einer kontrollierten Laborumgebung zu reproduzieren und ihre Auswirkungen zu demonstrieren.
CVE‑2022‑46169 ist eine Kombination aus zwei Fehlern in Cacti:
Die Datei remote_agent.php darf normalerweise nur vom Cacti-Server selbst aufgerufen werden. Die Authentifizierungsprüfung vertraut jedoch blind auf den X-Forwarded-For HTTP-Header, der vom Angreifer selbst gesetzt werden kann. Dadurch kann jeder vorgeben, der Server selbst zu sein – ohne Passwort.
Der poller_id-Parameter aus der URL wird ohne Validierung direkt in ein Shell-Kommando über PHP's proc_open() eingefügt. Ein Angreifer kann dadurch eigene Befehle durch den Webserver ausführen lassen.
Kombiniertes Ergebnis: Ein vollständig nicht authentifizierter Angreifer kann beliebige Befehle auf dem Server ausführen – auch Remote Code Execution (RCE) genannt.
| Eigenschaft | Details |
|---|---|
| CVSS-Score | 9.8 – Kritisch |
| Authentifizierung erforderlich | ❌ Nein |
| Benutzerinteraktion | ❌ Nein |
| Auswirkung | Vollständige Kontrolle über den Server |
| Betroffene Versionen | Cacti ≤ 1.2.22 |
| Gepatched in | Cacti 1.2.23 |
Ein Angreifer muss lediglich die IP-Adresse einer verwundbaren Cacti-Installation kennen. Es ist kein Konto oder Social Engineering erforderlich.
Der Angreifer sendet eine HTTP-Anfrage an remote_agent.php mit:
X-Forwarded-For-Header → Umgehung der Authentifizierungpoller_id mit einem eingebetteten Shell-Kommando über ; → Command InjectionDer Server führt diesen Befehl als Benutzer www-data (der Apache-Webserver-Benutzer) aus. In der Praxis kann ein Angreifer damit beispielsweise eine Reverse Shell öffnen und vollständigen Zugriff auf den Server erhalten.
docs/ — Bericht, Screenshots und Notizen für die Aufgabe.isos/ — VM-Images oder Container-Assets mit der verwundbaren Cacti-Installation.Dieses Projekt ist Teil einer Cybersecurity-Übung, bei der der Schwerpunkt auf Folgendem liegt:
⚠️ Haftungsausschluss: Dieses Projekt ist ausschließlich für Bildungszwecke in einer kontrollierten, isolierten Laborumgebung vorgesehen. Verwenden Sie niemals Exploits auf Systemen ohne ausdrückliche Genehmigung.