Pulse Secure VPN MITM Forschung
Pulse Secure MITM Forschung
Veröffentlichungsdatum
Gemeinsames Veröffentlichungsdatum mit dem Anbieter: 26. Oktober 2020
Autor
David Kierznowski, @withdk
Danksagungen
- Sahil Mahajan vom Pulse Secure PSIRT Team für die Unterstützung während des Offenlegungsprozesses.
- Alyssa Herrera, Justin Wagner, Mimir und Rich Warren für ihren Artikel "Red Teamer's Guide to Pulse Secure SSL VPN" – Alyssa Herrera (4. September 2019).
- Das SA Red Team für ihre anhaltende Unterstützung und Ermutigung.
CVE-Referenzen
- CVE-2020-8241 (8.1 High CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
- CVE-2020-8239 (5.9 Medium CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N)
Beispiel

Proof-of-Concept, das zeigt, wie rogue-pulse-svr.py eine Reverse-Meterpreter-Shell von einem Pulse-Client im selben Netzwerk erhält.
Einleitung
Pulse Connect Secure (PCS) ist eine häufig genutzte Unternehmens-VPN-Lösung. Zum Zeitpunkt der Erstellung unterstützt PCS über 20 Millionen Endpunkte (Pulse Secure, o.D.). Diese Forschung konzentrierte sich auf die Überprüfung der Vertraulichkeit und Integrität des Netzwerkkommunikationskanals, der zwischen einem Windows 10 PCS-Endpunkt und einem PCS-Gateway aufgebaut wird. Insbesondere stellt sie die Frage: "Wie sicher ist ein Endpunkt, wenn er mit einem unsicheren Netzwerk verbunden ist?". Diese Forschung gilt für Standard- und "Always-On"-Konfigurationen.
Auswirkung (Mittel – Hoch)
In Kombination ist es möglich, von einem unsicheren Netzwerk aus Remote-Code-Ausführung mit vollständigen SYSTEM-Rechten zu erlangen. Alternativ könnte eine Insider-Bedrohung CVE-2020-8241 als eigenständige Schwachstelle zur Rechteausweitung nutzen.
Wahrscheinlichkeit (Niedrig – Mittel)
Diese Angriffe könnten in verschiedenen Situationen eingesetzt werden, eignen sich jedoch am besten für gezielte Angriffe. Aufgrund dessen und der untenstehenden Annahmen ist die Wahrscheinlichkeit niedrig bis mittel.
Mögliche Angriffe
Die folgenden Angriffe wurden erfolgreich in einem Proof-of-Concept-Tool "rogue-pulse" demonstriert:
- Stehlen von Benutzeranmeldedaten. Ein betrügerischer Server könnte den Benutzer dazu verleiten, seine Anmeldedaten preiszugeben.
- Ausführen einer Binärdatei über einen Microsoft Windows UNC-Pfad. Der PCS-Server unterstützt die Option, nach der Authentifizierung eine ausführbare Datei zu starten. Dies kann missbraucht werden, um Code-Ausführung mit den Berechtigungen des angemeldeten Benutzers zu erlangen. Dies baut auf der Arbeit von Alyssa Herrera und Team Alyssa Herrera (4. September 2019) auf.
- Vollständiger Remote-Administratorzugriff durch Missbrauch von Host-Compliance-Prüfungen. Die Host-Compliance-Prüfungen werden als SYSTEM ausgeführt. Ein betrügerischer Server könnte diese Funktion missbrauchen, um eine schädliche Richtlinie zu pushen, die willkürlichen Schreibzugriff auf die Registry ermöglicht.
- Abfangen von Netzwerkverkehr. Dies ermöglicht dem Angreifer, Netzwerkverkehr abzufangen und zu modifizieren, selbst wenn "Always-On" aktiviert ist. Derzeit zeigt das Tool nur Netzwerkverkehrsanfragen vom Endpunkt an.
Der PoC implementiert auch eine automatische Anmeldefunktion. Dies täuscht den Client vor, dass er sich bereits authentifiziert hat. Dies wäre nützlich, wenn die Code-Ausführung Priorität vor dem Ernten von Anmeldedaten hat.
Annahmen
- Diese Forschung zielt darauf ab, Remote-Code-Ausführung über ein unsicheres Netzwerk zu erlangen. Beide Schwachstellen werden kombiniert, um dieses Ziel zu erreichen. Allerdings könnte eine Insider-Bedrohung einfach CVE-2020-8241 allein zur Rechteausweitung nutzen.
- Das PCS-Gateway verwendet die Standardkonfiguration mit aktiviertem "Dynamic-Trust". Hinweis: Die Richtlinie wird normalerweise nach der Authentifizierung aktualisiert und an den Client gesendet. Dies bedeutet, dass auch nach Deaktivierung von "Dynamic-Trust" durch das Gateway noch ein kleines Zeitfenster bestehen kann.
- Der Angreifer ist in der Lage, HTTPS-Netzwerkverkehr mit einem Man-in-the-Middle-Angriff abzufangen, z.B. hat der Angreifer den Router des Heimnetzwerks eines Benutzers kompromittiert, nutzt betrügerische WLAN-Hotspots usw.
- Der Benutzer muss die Zertifikatswarnung akzeptieren. Eine interessante Beobachtung ist, dass der Pulse Secure Client diese Meldung so lange anzeigt, bis der Benutzer das Zertifikat akzeptiert. Außerdem ist die Popup-Meldung nicht besonders alarmierend. Da es sich um einen "Secure Client" handelt, wird ein Benutzer die Meldung eher ignorieren und sich trotzdem verbinden. Dies scheint kein großes Hindernis zu sein.
- Der Endpunkt verbindet sich über ein Microsoft Windows-Betriebssystem.
Empfehlungen
Zur Minderung und Behebung des Problems sollten folgende Empfehlungen berücksichtigt werden:
- Organisationen sollten eine Compliance-Prüfung gemäß den Pulse Secure Security Best Practices durchführen (Pulse Secure, 2. Juli 2019). Stellen Sie sicher, dass "Dynamic Certificate Trust" deaktiviert ist.
- Wenden Sie die Herstellerkorrekturen an (siehe https://kb.pulsesecure.net/articles/Pulse_Security_Advisories/SA44601).
- Die Skriptausführung auf dem PCS-Server erfolgt als untergeordneter Prozess von "Pulse.exe". Daher können Schutzmaßnahmen durch Überwachung der untergeordneten Prozesse der "Pulse.exe"-Binärdatei implementiert werden.
- Überwachen Sie den Dienst "PulseSecureService" auf verdächtige Registry-Aktivitäten.
Referenzen
Haftungsausschluss
Die bereitgestellten Informationen dienen ausschließlich Bildungs- und Forschungszwecken. Der Autor übernimmt keine Verantwortung für Ihre Nutzung dieser Informationen und lehnt jegliche Versuche, geltende Gesetze zu verletzen, ausdrücklich ab. Der Autor ist nicht verpflichtet, diese Informationen zu aktualisieren, gibt keine Zusicherungen hinsichtlich ihrer Vollständigkeit, Nutzung oder Anwendbarkeit und lehnt jegliches Vertrauen darauf ab. Die Nutzung dieser Informationen erfolgt in Ihrer eigenen Verantwortung.