Haftungsausschluss: Dieser Beitrag dient ausschließlich Bildungs- und
Informationszwecken. Die hier gezeigten Informationen und Angriffe dürfen niemals für illegale
Zwecke oder auf Systemen, für die keine explizite Erlaubnis eingeräumt wurde, verwendet werden.
Solche Handlungen können gegen geltende Gesetze verstoßen und schwerwiegende rechtliche Konsequenzen
nach sich ziehen.
Zusammenfassung
Dieser Blogeintrag behandelt den Umgang mit Schwachstellen in extern erreichbaren Systemen. Dieses SecCore Essential ist dann erfüllt, wenn die folgenden Punkte umgesetzt wurden:
- Alle extern erreichbaren Systeme und Dienste sind bekannt und inventarisiert
- Es existiert ein Prozess für Patch- und Update-Management
- Die Angriffsfläche weist zum Zeitpunkt des Tests keine kritischen Schwachstellen auf
Einleitung
In unserem SecCore Essential über internes Schwachstellenmanagement haben wir bereits die Bedeutung von regelmäßigen Schwachstellen-Scans und Penetration Tests für die interne Sicherheit hervorgehoben. Extern erreichbare Systeme sind jedoch noch stärker gefährdet, da sie direkt dem Internet ausgesetzt sind und somit leichter von Angreifern gefunden und angegriffen werden können.
Häufige Angriffsvektoren
Die folgenden Abschnitte beschreiben verschiedene Angriffsvektoren, die im Zusammenhang mit fehlendem Vulnerability Management stehen.
Veraltete externe Systeme und schnelle Exploit-Entwicklung
Bekannt gewordene Schwachstellen in Produkten und Diensten werden heutzutage oft innerhalb von Tagen oder sogar Stunden nach Veröffentlichung aktiv ausgenutzt. KI-unterstützte Exploit-Entwicklung beschleunigt diesen Prozess zusätzlich, wenn man weiß, was man tut. Eine kritische Schwachstelle in einem Open-Source-Produkt kann dabei sehr schnell analysiert werden, indem Änderungen in Sicherheitsupdates zurückverfolgt und die zugrundeliegende Schwachstelle isoliert wird. Dieselbe Vorgehensweise wird auch beim Reverse-Engineering von Closed-Source-Produkten angewandt. Auch diese Tätigkeiten können durch KI-Automatisierung deutlich beschleunigt werden, da Maschinencode für LLMs leichter zu verstehen ist als für Menschen.
Sobald die Schwachstelle verstanden wurde, kann ein Exploit entwickelt werden, welcher die Schwachstelle automatisch und in großem Maßstab ausnutzt. Dabei ist es egal, wie klein oder groß das Ziel ist, denn mit Tools wie masscan1 oder Shodan2 kann das gesamte Internet in kurzer Zeit auf anfällige Systeme durchsucht werden.
Ausbreitung in interne Netzwerke
Wird ein System einmal kompromittiert, ist es wichtig, den Blast-Radius so klein wie möglich zu halten. Externe Systeme, welche keinerlei Verbindungen zu internen Systemen benötigen, sollten daher in komplett getrennten Infrastrukturen (z.B. Cloud-Services, Datencentern etc.) betrieben werden. So kann verhindert werden, dass sich Angreifer nach einem erfolgreichen Angriff intern weiter ausbreiten.
Für Systeme, welche unbedingt mit internen Systemen kommunizieren müssen (wie VPN-Gateways, MDM-Server oder andere sicherheitskritische Dienste), sollte eine Demilitarized Zone (DMZ) eingerichtet werden, um den Zugriff auf anderen interne Systeme zu beschränken. Zusätzlich sollten solche Systeme besonders engmaschig überwacht und als potentielles Einfallstor für Angreifer betrachtet werden.
Angriffsszenario
Dieser Abschnitt zeigt, wie anfällige Systeme gefunden und Schwachstellen ausgenutzt werden können, um Zugriff auf interne Netzwerke zu erhalten.
Das Angriffsszenario wurde wie folgt aufgebaut:
- Das Zielunternehmen betreibt einen extern erreichbaren VPN-Gateway
- Die installierte Version ist anfällig für CVE-2024-34003
- Der VPN-Gateway befindet sich im internen Netzwerk ohne Segmentierung
Zuerst wird das Internet mit Shodan nach VPN-Gateways mit der betroffenen Version durchsucht. Shodan scannt und indexiert stetig geöffnete Ports und die dahinterliegenden Dienste. Dabei werden auch Informationen wie Softwareversionen und Willkommensnachrichten gesammelt, welche bei der Identifikation von anfälligen Systemen helfen.
shodan search 'product:"GlobalProtect" "PAN-OS 11.1.0"'
# Ergebnis (Auszug):
1.2.3.4 443/https GlobalProtect Portal PAN-OS 11.1.0
O=Inseccore GmbH, CN=vpn.inseccore.at
Das Zertifikat verrät dabei direkt den Firmennamen und den Hostnamen. Die Versionsnummer bestätigt die Anfälligkeit auf CVE-2024-3400. Nun kann ein öffentlich verfügbarer PoC-Exploit ausgeführt werden, der über eine präparierte HTTP-Anfrage an das GlobalProtect-Interface beliebige Befehle mit root-Rechten ausführen kann. In diesem Fall wird eine Reverse-Shell gestartet, über welche ein Angreifer direkten Zugriff auf das System erhält:

Mit diesem Zugriff können nun weitere Informationen über die interne Netzwerkstruktur gesammelt und weitere Systeme angegriffen werden. In diesem Fall ist das VPN-Gateway direkt mit dem internen Netzwerk verbunden:

Gegenmaßnahmen
Die einzige Möglichkeit, um solche Angriffe zu verhindern, ist eine effektive Inventarisierung aller extern erreichbaren Systeme und Dienste. Sobald alle Systeme bekannt sind, müssen diese regelmäßig auf Schwachstellen gescannt und zeitnah gepatcht werden.