
Write-up of CVE-2022-22828
Viden Labs hat eine Schwachstelle in Form einer unsicheren direkten Objektreferenz (IDOR) in Synametrics SynaMan gefunden. Diese Schwachstelle ist in den Versionen 4.9 und früher vorhanden.
Diese Schwachstelle wurde inzwischen in Version 5.0 behoben.
“Insecure direct object references (IDOR) are a type of access control vulnerability that arises when an application uses user-supplied input to access objects directly.” - https://portswigger.net/web-security/access-control/idor.
Die Schwachstelle kann ausgenutzt werden, was zu einem Zugriff auf (potenziell sensible) Dateien im Home-Ordner eines SynaMan-Benutzers (einschließlich Unterordnern) führt, auf die sie keine Zugriffsberechtigung haben.
Ein SynaMan-Benutzer namens “internaluser”. Dieser Benutzer war AD-verbunden, aber es macht keinen Unterschied, wenn er nicht AD-verbunden ist.
Im Home-Ordner von internaluser befinden sich zwei Dateien:
Abbildung 1: Benutzerverzeichnis mit Dateien
Ein Download-Link für file-download.docx wurde erstellt und an eine simulierte externe Partei weitergegeben.
Abbildung 2: SynaMan Datei-Download-Seite
Der Webanwendungstest wurde aus dem Netzwerk 10.0.2.0/24 unter Verwendung von Burp Suite auf Kali durchgeführt.
Die Windows Server 2019-Instanz läuft mit einer Standardkonfiguration, die neuesten Sicherheitsupdates wurden angewendet, und Port 443 eingehend ist geöffnet.
SynaMan wurde gemäß den Best Practices konfiguriert, basierend auf den Anleitungen der Synametrics Technologies-Website.
In Abbildung 3 unten ist ein Überblick über die Netzwerkkonfiguration für den Labortest dargestellt.
Abbildung 3: SynaMan-Testtopologie
| Computer | Rolle | Betriebssystem | Browser |
|---|---|---|---|
| 10.0.2.30 | Webanwendungstest-Server | Kali Linux (VM) | Burp Suite eingebetteter Browser |
| 10.0.3.50 | SynaMan Server | Windows Server 2019 (VM) | N/A |
Tabelle 1 – Zusätzliche Einrichtungsinformationen
Eine Schwachstelle wurde gefunden, wenn eine externe Partei auf einen Download-Link zugreift, der entweder mit ihr geteilt wurde oder durch Googeln von „pubopp?“ gefunden wurde. Der Datei-Download-Hyperlink enthält einen base64-kodierten Dateinamen einschließlich des Pfads. Dieser Pfad kann geändert werden, um andere Dateien aus dem Ordner des Benutzers herunterzuladen, die nicht freigegeben wurden. Dies erfordert zwar, dass ein Angreifer einen Dateinamen korrekt errät, aber Tools wie Burp Suite machen dieses Brute-Forcing trivial und automatisiert. Eine grafische Darstellung davon ist in Abbildung 4 unten dargestellt.
Abbildung 4: Grafische Darstellung der GET-Request-Schwachstelle
Abbildung 5 unten zeigt den resultierenden GET-Request, wenn der Download-Link angeklickt wird.
Abbildung 5: Burp Suite GET-Request
Die Untersuchung des base64-kodierten Dateinamens (übergeben als Parameter mit dem Namen „fn“) zeigt den Dateispeicherort.
Abbildung 6: Burp Suite Base64-Dateiname
Mit Burp Suite kann dies zu einem anderen Dateinamen geändert und im GET-Request ersetzt werden. In diesem Beispiel verwenden wir „secret.txt“, da wir wissen, dass diese Datei im Ordner existiert.
Abbildung 7: Burp Suite modifizierter Base64-Dateiname
Abbildung 8: Burp Suite modifizierter GET-Request
Das Absenden des modifizierten GET-Requests ermöglicht uns das Herunterladen der Datei, die nicht freigegeben wurde, wie in Abbildung 9 unten gezeigt.
Abbildung 9: SynaMan nicht autorisierter Download
Die derzeit verfügbaren Sicherheitseinstellungen in SynaMan bieten keine Kontrollmöglichkeit, um diesen Angriff abzuschwächen, jedoch werden alle heruntergeladenen Dateien protokolliert.