
Eine nicht authentifizierte Datenextraktions-Schwachstelle in Kyocera-Druckern, die die Wiederherstellung von Klartext-Adressbuch- und Domänenverbindungspasswörtern ermöglicht.
Eine unauthentifizierte Datenextraktions-Schwachstelle in Kyocera-Druckern, die das Auslesen von Klartext-Adressbüchern und Domänen-Anmeldeinformationen ermöglicht.
Anfang 2021, während eines Penetrationstests, experimentierte ich mit der Kyocera-Desktop-Anwendung zur Fernverwaltung von Druckern. Beim Proxy-Verkehr der Anwendung entdeckte ich, dass die SOAP-API von Kyocera auf Port 9091/TCP die Authentifizierung bei der Durchführung sensibler Aktionen nicht ordnungsgemäß handhabte. Kyocera-MFPs können mit Bind-Credentials für Firmendomänen, FTP-Credentials, Dateifreigabe-Credentials usw. konfiguriert werden. Unauthentifiziert ist es möglich, alle vom MFP gespeicherten Anmeldeinformationen im Klartext abzurufen.
Mein vollständiger Bericht ist auf Rapid7s Blog zu finden: https://www.rapid7.com/blog/post/2022/03/29/cve-2022-1026-kyocera-net-view-address-book-exposure/
Ich glaube nicht, dass dies derzeit in allen Modellen behoben ist und bleibt trotz Meldungen an den Hersteller eine 0-Day. Ich konnte dies nur an einigen wenigen Modellen testen, die ich im Laufe der Jahre identifiziert habe, aber immer wenn ich einen Kyocera-Drucker finde, funktioniert dieser Exploit noch.
Das Python-Skript verbindet sich über TCP-Port 9091 mit dem MFP und sendet eine SOAP-Anfrage, um einen neuen Adressbuch-Export zu erstellen. Der Drucker antwortet mit der Objektnummer des Adressbuchs, und dann schläft das Skript einige Sekunden, während das Buch fertig erstellt wird. Schließlich wird das Buch über eine weitere SOAP-Anfrage abgerufen. Im Buch finden sich alle konfigurierten Anmeldeinformationen im Klartext.
Gerne per Pull Request eine verbesserte Parsing-Logik einreichen, da ich nie dazu gekommen bin, die Ausgabe oder den Exploit-Prozess zu verschönern.
python3 getKyoceraCreds.py <printerip>