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
Dieses SecCore Essential behandelt einfache Prinzipien des Schwachstellenmanagements, die umgesetzt werden sollten. Es gilt als implementiert, wenn die folgenden Bedingungen erfüllt sind:
- Schwachstellenmanagement mit regelmäßigen Scans muss implementiert sein
- Regelmäßige Überprüfung und Priorisierung von Schwachstellen wird durchgeführt
- Prozesse zur Behandlung und Behebung von Sicherheitslücken sind vorhanden
Einleitung
Bekannte Schwachstellen können von Angreifern leicht ausgenutzt werden. Oftmals kann Code zum Ausnutzen dieser Schwachstellen auf Seiten wie GitHub1 gefunden werden, der für alle zugänglich ist. Aber selbst wenn kein öffentlicher Exploit verfügbar ist, verkaufen und teilen Threat Actors bösartigen Code in Telegram- oder anderen privaten Kanälen. Einer der wichtigsten Aspekte des Schwachstellenmanagements ist es, betroffene Systeme immer aktuell zu halten. Das Installieren von Patches ist jedoch nicht immer möglich oder umsetzbar, weshalb auch andere Methoden zur Absicherung zum Einsatz kommen müssen. Zum Beispiel kann Netzwerksegmentierung verwendet werden, um anfällige Systeme vor Angriffen zu schützen.
Zudem muss ein Prozess zur Priorisierung von Schwachstellen vorhanden sein. Die meisten Sicherheitstools verwenden ein Bewertungssystem wie CVSS2, das nicht immer die tatsächlichen Auswirkungen einer Schwachstelle widerspiegelt. Es gibt auch kontextuelle Unterschiede bei Schwachstellen mit einem Wert von 10,0 (der höchste mögliche Wert in CVSS), was den internen Priorisierungsprozess ebenso wichtig macht wie die Bewertung selbst. Es ist daher notwendig, die Ergebnisse eines Schwachstellenmanagementsystems kontinuierlich und manuell zu überprüfen sowie Penetration Tests durchzuführen, um die tatsächlichen Auswirkungen und den aktuellen Stand zu bewerten.
Häufige Angriffsvektoren
Dieser Abschnitt behandelt mögliche Auswirkungen von hohen bis kritischen Schwachstellen.
Remote Code Execution
Eine Remote Code Execution (RCE) Schwachstelle ermöglicht es, beliebige Befehle auf dem Zielsystem auszuführen. Fast alle Schwachstellen mit einem CVSS-Score von 10,0 fallen in diese Kategorie, da sie kritische Auswirkungen auf das Ziel haben. Einige Beispiele hierfür sind:
MS17-0103
MS17-010, auch bekannt als EternalBlue, ist eine RCE-Schwachstelle in Microsoft Windows SMBv1, die es einem Angreifer ermöglicht, ein betroffenes Windows-System ohne jegliche Benutzerinteraktion zu kompromittieren und fernzusteuern. Sie wurde von der "Equation Group" entwickelt, und von einer Hackergruppe namens "The Shadow Brokers"4 geleakt. Sie wurde vor allem durch die WannaCry-Ransomware-Kampagne bekannt, von der Hunderttausende Computer auf der ganzen Welt betroffen waren. Es existieren mehrere öffentliche Exploits und eine einfache Variante ist im bekannten Metasploit Framework5 enthalten.
CVE-2023-487886
Diese Schwachstelle in Fortinet FortiClient EMS beginnt als SQL Injection, bei der ein Angreifer Datenbankbefehle in eine Anwendung einfügen kann. Da diese Software jedoch Microsoft SQL Server als Datenbank verwendet, ist es auch möglich, über die "xp_cmdshell"-Anweisung eines MSSQL-Servers beliebigen Code auszuführen.
Dies wurde von der Medusa Ransomware-Variante7 häufig ausgenutzt, wo es als Initial Access Vector für die Installation von Schadsoftware und Fernzugangstools verwendet wurde.
Mehr technische Informationen können in diesem Artikel von horizon3.ai8 gefunden werden.
Privilege Escalation
Eine Privilege Escalation Schwachstelle ermöglicht es einem Angreifer, auf einem Zielsystem mehr Rechte zu erlangen. In der Regel muss sie zuerst mit Remote Code Execution oder Phishing (Malware-Infektion) als Erstinfektion kombiniert werden, da die Ausnutzung einer solchen Schwachstelle meist lokal erfolgt. Wenn sie erfolgreich ist, erlangt ein Angreifer Administrator- oder Root-Rechte auf dem Ziel und kann dieses vollständig kompromittieren.
CVE-2024-10869
Das Netfilter-Subsystem in Linux-Kernels von 5.14 bis 6.6 ist von einer Privilege Escalation Schwachstelle (CVE-2024-1086) betroffen. Eine Use-After-Free10 Bedingung kann ausgenutzt werden, um Code mit erhöhten Rechten auszuführen. Das bedeutet, dass die Software versucht hat, auf etwas im Speicher zuzugreifen, das bereits gelöscht wurde. Ein Angreifer kann diesen Speicherbereich jedoch möglicherweise überschreiben, bevor die Software darauf zugreift. Dadurch wird beliebiger Code ausgeführt. Da Netfilter mit den höchsten Rechten auf einem Linux-System läuft, erhält dieser Code dieselben Rechte. Somit erhält der Angreifer die höchstmöglichen Berechtigungen auf dem System. Mehr Informationen dazu finden sich im sehr detaillierten Blogpost des Entwicklers dieses Exploits11.
Authentication Bypass
Durch eine Authentication Bypass Schwachstelle können Angreifer unbefugten Zugriff auf Systeme erlangen. Diese Arten von Schwachstellen erlauben den Zugriff auf Ressourcen oder Systeme, die eigentlich nicht zugänglich sein sollten. Die Auswirkungen davon können von einfacher Informationsgewinnung bis hin zu möglicher Remote Code Execution reichen, wenn Zugriff auf eine interne oder administrative Schnittstelle erlangt wird.
CVE-2017-1254212
Diese Schwachstelle betrifft das HPE integrated Lights Out (iLO) Server-Management-System vor Version 2.54. Die HTTP-Authentifzierung ist anfällig für einen Buffer Overflow13 Angriff, sodass das Senden eines ausreichend langen "Connection" Headers einen bestimmten Speicherbereich überschreibt und es ermöglicht, die Authentifizierung zu umgehen. Dies kann ausgenutzt werden, um einen weiteren Administratoraccount hinzuzufügen, was wiederum dazu führt, dass ein Angreifer das gesamte Serversystem kompromittiert hat. Da HPE iLO eine Server-Management-Schnittstelle ist, ist es möglich, eine Remote-Konsole zum installierten Betriebssystem zu öffnen und den tatsächlichen Server ebenfalls zu kompromittieren.
Angriffsszenario
Dieser Abschnitt demonstriert, wie Angreifer veraltete Software mit bekannten Schwachstellen ausnutzen, um sich in einem Netzwerk auszubreiten. Der Aufbau dieses Angriffsszenarios ist wie folgt:
- Der Angreifer hat eine Verbindung in das interne Netzwerk mit Zugangsdaten
- Netzwerksegmentierung ist nicht richtig konfiguriert
- Der Angreifer hat keine Bedenken bezüglich OPSEC, es wird der einfachste Ansatz verwendet
Da bereits Zugang zum internen Netzwerk erlangt wurde, kann der Angreifer damit beginnen, dieses nach verwundbaren Systemen zu scannen. Dies kann mit einem Portscanner wie Nmap14 durchgeführt werden:
Wie im Screenshot zu sehen ist, wurde ein System gefunden, auf dem Windows Server 2012 R2 läuft. Als nächster Schritt kann das System auf bekannte Schwachstellen wie EternalBlue3 überprüft werden. Dies kann zum Beispiel mit dem Metasploit Framework5 durchgeführt werden, das auch einen Exploit15 für diese Schwachstelle anbietet:
Nach dem erfolgreichen Ausnutzen der Schwachstelle wurde eine Meterpreter16 Sitzung als NT AUTHORITY\SYSTEM auf dem Zielsystem etabliert. Als nächster Schritt können alle Passwort-Hashes der lokalen Benutzer mit dem hashdump Befehl ausgelesen werden:
Dadurch wird das Zielsystem vollständig kompromittiert, da der Angreifer nun Zugriff auf alle lokalen Zugangsdaten hat und möglicherweise zusätzliche Ausbreitungsmöglichkeiten im internen Netzwerk findet.
Gegemaßnahmen
Um die Risiken im Zusammenhang mit den in diesem Blogbeitrag besprochenen Schwachstellen zu mindern, sollten die folgenden Schritte unternommen werden:
- Alle Software und Systeme sollten regelmäßig aktualisiert werden, um sich vor bereits bekannten Schwachstellen zu schützen
- Netzwerksegmentierung sollte implementiert werden, um Ausbreitungsmöglichkeitne einzuschränken