
CVE-2022-25943
https://jvn.jp/en/vu/JVNVU90673830/
WPS Office ist eine Bürosoftware-Suite für Microsoft Windows, macOS, Linux, iOS, Android und HarmonyOS, die von dem in Zhuhai ansässigen chinesischen Softwareentwickler Kingsoft entwickelt wurde.
Eines der nettesten Features, die WPS bietet, ist ein Cloud-Dienst zum Speichern deiner Dokumente, Arbeiten usw. ... Dieser Dienst ist standardmäßig auf manuell gesetzt; er wird nur gestartet, wenn du im WPS-Office-Panel zur WPS-Cloud navigierst, aber der Dienst wird mit den Rechten des aktuellen Benutzers gestartet (geringe Rechte).
Wenn man sich die frühen Importe des WPS-Cloud-Dienstes nach dem Start ansieht, scheint es, dass er zuerst versucht, eine DLL namens CRYPTSP.DLL und andere aus *C:\ProgramData\kingsoft\office6* zu importieren. Wenn diese dort nicht vorhanden sind – und standardmäßig sind sie es nicht – lädt der Dienst sie aus System32, wie du sehen kannst:

Das Problem hierbei ist, dass die ACL für dieses Verzeichnis so konfiguriert ist, dass alle Benutzer Lese- und Schreibzugriff haben. Ein Angreifer kann dort eine schädliche DLL platzieren und die ausführbare Datei neu starten, aber sie wird mit der aktuellen Berechtigungsstufe (Benutzer mit geringen Rechten) gestartet, es sei denn, wir starten die ausführbare Datei als Dienst (da sie als einer installiert ist), z. B. mit net start wpscloudsvr, wodurch der Dienst als NT AUTHORITY gestartet wird.
Das Problem scheint hier eher eine ACL-Fehlkonfiguration zu sein.
Mein Exploit ist einfach: Er kopiert die präparierte DLL (Administrator-Passwort ändern) in das Zielverzeichnis und startet den Dienst neu. Nun ist ein Zugriff auf das Administratorkonto verfügbar, was bedeutet, dass ich Zugriff auf sedebugpriv habe; von dort aus stehle ich das Winlogon-Token und starte cmd als NT AUTHORITY / System.