Remote Desktop aus der Perspektive eines Angreifers

1. Einleitung

Unternehmen, die keine Systeme für den Remote-Zugriff eingerichtet hatten, mussten diese vor einigen Monaten unter Druck ausrollen. Nicht alle Administratoren waren auf so eine "Hitze" vorbereitet, was zu Sicherheitslücken führte: fehlerhafte Konfigurationen der Dienste oder sogar die Installation veralteter Versionen von Software mit bereits bekannten Schwachstellen. Einige müssen die Folgen dieser Versäumnisse bereits spüren, während andere mehr Glück hatten, doch eines steht fest: Alle sollten daraus Lehren ziehen. Die Loyalität zur Fernarbeit ist exponentiell gestiegen, und immer mehr Unternehmen akzeptieren Remote-Arbeit als dauerhaften Standard.

Es gibt zahlreiche Möglichkeiten, den Remote-Zugriff zu gewährleisten: verschiedene VPNs, RDS und VNC, TeamViewer und andere. Administratoren haben eine breite Auswahl basierend auf der Struktur des Unternehmensnetzes und der darin vorhandenen Geräte. Die beliebtesten Lösungen bleiben VPN, jedoch wählen viele kleine Unternehmen RDS (Remote Desktop Services), da diese einfacher und schneller einzurichten sind.

In diesem Artikel werden wir näher auf die Sicherheit von RDS eingehen. Wir geben einen kurzen Überblick über bekannte Schwachstellen und betrachten mehrere Angriffszenarien auf Netzwerkinfrastrukturen, die auf Active Directory basieren. Wir hoffen, dass unser Artikel einigen dabei hilft, aus Fehlern zu lernen und die Sicherheit zu erhöhen.

2. Neueste Schwachstellen von RDS/RDP

Jede Software enthält Fehler und Schwachstellen, die von Angreifern ausgenutzt werden, und RDS bildet da keine Ausnahme. In letzter Zeit hat Microsoft häufig von neuen Schwachstellen berichtet, und wir haben beschlossen, einen kurzen Überblick darüber zu geben:

Diese Schwachstelle gefährdet Benutzer, die sich mit einem kompromittierten Server verbinden. Ein Angreifer kann die Kontrolle über das Benutzergerät erlangen oder sich im System festsetzen, um einen dauerhaften Remote-Zugriff zu erhalten.

Diese Schwachstellengruppe ermöglicht es einem unbefugten Angreifer, mithilfe einer speziell formulierten Anfrage aus der Ferne beliebigen Code auf einem RDS-Server auszuführen. Sie können auch verwendet werden, um Würmer zu erstellen – bösartige Software, die selbstständig benachbarte Geräte im Netzwerk infiziert. Damit können diese Schwachstellen das gesamte Unternehmensnetzwerk gefährden, und nur rechtzeitige Updates können davor schützen.

Remote-Access-Software hat sowohl bei Forschern als auch bei Angreifern erhöhte Aufmerksamkeit erhalten, sodass wir möglicherweise bald von neuen ähnlichen Schwachstellen hören werden.

Die gute Nachricht ist, dass nicht für alle Schwachstellen öffentliche Exploits verfügbar sind. Die schlechte Nachricht ist, dass es einem erfahrenen Angreifer leicht fallen wird, einen Exploit für eine Schwachstelle basierend auf der Beschreibung zu schreiben oder Techniken wie Patch Diffing zu verwenden (darüber berichteten unsere Kollegen in Artikel). Daher empfehlen wir, die Software regelmäßig zu aktualisieren und auf neue Mitteilungen über entdeckte Schwachstellen zu achten.

3. Angriffe

Wir kommen zum zweiten Teil des Artikels, in dem wir zeigen, wie Angriffe auf Netzwerk-Infrastrukturen, die auf Active Directory basieren, beginnen.

Die beschriebenen Methoden sind anwendbar für das folgende Angreifermodell: ein Angreifer im Besitz eines Benutzerkontos mit Zugriff auf das Remote Desktop Gateway — den Terminalserver (der häufig beispielsweise aus dem externen Netzwerk zugänglich ist). Durch die Anwendung dieser Methoden kann der Angreifer seinen Angriff auf die Infrastruktur fortsetzen und seine Präsenz im Netzwerk festigen.

Die Netzwerkkonfiguration kann in jedem Einzelfall unterschiedlich sein, aber die beschriebenen Techniken sind ziemlich universell.

Beispiele für den Ausstieg aus einer eingeschränkten Umgebung und die Erhöhung von Berechtigungen

Beim Zugriff auf das Remote Desktop Gateway wird der Angreifer wahrscheinlich mit einer eingeschränkten Umgebung konfrontiert. Bei der Verbindung zu dem Terminalserver wird auf diesem eine Anwendung gestartet: ein Fenster für die Verbindung über das Remote Desktop-Protokoll zu internen Ressourcen, der Explorer, Office-Pakete oder jede andere Software.

Das Ziel des Angreifers besteht darin, Zugriff auf die Ausführung von Befehlen zu erhalten, also das Starten von cmd oder PowerShell. Hierbei können einige klassische Techniken zum Entkommen aus der "Sandbox" für Windows hilfreich sein. Lassen Sie uns diese weiter unten betrachten.

Option 1. Der Angreifer hat Zugang zum Fenster der Remote-Desktop-Verbindung über das Remote Desktop Gateway:

Remote Desktop aus der Perspektive eines Angreifers

Das Menü "Show Options" wird geöffnet. Es erscheinen Optionen zur Manipulation von Verbindungskonfigurationsdateien:

Remote Desktop aus der Perspektive eines Angreifers

Aus diesem Fenster kann man problemlos auf den Explorer zugreifen, indem man eine der Schaltflächen "Open" oder "Save" drückt:

Remote Desktop aus der Perspektive eines Angreifers

Der Explorer wird geöffnet. Seine "Adresszeile" ermöglicht das Starten von erlaubten ausführbaren Dateien sowie das Durchsuchen des Dateisystems. Dies kann für den Angreifer nützlich sein, wenn die Systemlaufwerke verborgen sind und der direkte Zugriff darauf nicht möglich ist:

Remote Desktop aus der Perspektive eines Angreifers

Demo-Video

Ein solches Szenario kann beispielsweise bei der Verwendung von Excel aus dem Microsoft Office-Paket als Remote-Software nachgestellt werden.

Demo-Video

Darüber hinaus sollte man die in diesem Office-Paket verwendeten Makros nicht vergessen. Unsere Kollegen haben das Sicherheitsproblem von Makros in dieser Artikel.

Option 2. Unter Verwendung der gleichen Eingaben wie im vorherigen Beispiel startet der Angreifer mehrere Verbindungen zum Remote-Desktop unter demselben Konto. Bei einer erneuten Verbindung wird die erste getrennt, und ein Fenster mit einer Fehlermeldung erscheint auf dem Bildschirm. Der Hilfeschalter in diesem Fenster öffnet Internet Explorer auf dem Server, woraufhin der Angreifer zum Explorer wechseln kann.

Demo-Video

Option 3. Bei eingerichteten Einschränkungen für die Ausführung von ausführbaren Dateien kann der Angreifer mit der Situation konfrontiert werden, dass Gruppenrichtlinien die Ausführung von cmd.exe durch den Administrator verbieten.

Es gibt einen Weg, dies zu umgehen, indem eine bat-Datei auf dem Remote-Desktop mit dem Inhalt cmd.exe /K ausgeführt wird. Der Fehler beim Starten von cmd und ein erfolgreiches Beispiel für die Ausführung der bat-Datei sind im Bild unten dargestellt.

Remote Desktop aus der Perspektive eines Angreifers

Option 4. Das Verbot der Ausführung von Anwendungen durch Blacklists der Dateinamen ist kein Allheilmittel, sie können umgangen werden.

Betrachten wir folgendes Szenario: Wir haben den Zugriff auf die Eingabeaufforderung verboten und die Ausführung von Internet Explorer und PowerShell über Gruppenrichtlinien eingeschränkt. Der Angreifer versucht, die Hilfe aufzurufen – keine Antwort. Er versucht, PowerShell über das Kontextmenü eines modalen Fensters, das durch Drücken der Shift-Taste aufgerufen wird, zu starten – eine Nachricht über das Verbot des Starts durch den Administrator. Er versucht, PowerShell über die Adresszeile zu starten – wieder keine Antwort. Wie umgeht man die Einschränkung?

Es genügt, powershell.exe aus dem Ordner C:\Windows\System32\WindowsPowerShell\v1.0 in den Benutzerordner zu kopieren, den Namen in einen anderen als powershell.exe zu ändern, und die Möglichkeit zum Starten wird verfügbar.

Standardmäßig wird beim Verbinden mit dem Remote-Desktop der Zugriff auf die lokalen Laufwerke des Clients gewährt, von denen der Angreifer powershell.exe kopieren kann, um sie nach der Umbenennung auszuführen.

Demo-Video

Wir haben nur einige Möglichkeiten zur Umgehung der Einschränkungen aufgezeigt, es gibt noch viele weitere Szenarien, die alle den Zugriff auf den Windows Explorer gemeinsam haben. Es gibt zahlreiche Anwendungen, die Standardwerkzeuge von Windows zur Arbeit mit Dateien verwenden, und wenn man diese in eine eingeschränkte Umgebung platziert, kann man ähnliche Techniken anwenden.

4. Empfehlungen und Fazit

Wie wir sehen, gibt es selbst in einer eingeschränkten Umgebung Raum für Angriffsmöglichkeiten. Es ist jedoch möglich, es Angreifern zu erschweren. Hier sind allgemeine Empfehlungen, die sowohl bei den von uns behandelten Fällen als auch in anderen Situationen hilfreich sind.

  • Begrenzen Sie die Ausführung von Programmen mithilfe von schwarzen/weißen Listen durch Gruppenrichtlinien.
    Dennoch besteht in den meisten Fällen weiterhin die Möglichkeit, Code auszuführen. Wir empfehlen, sich mit dem Projekt LOLBAS, vertraut zu machen, um ein Verständnis für die undocumented Methoden zur Manipulation von Dateien und zur Codeausführung im System zu erhalten.
    Wir empfehlen, beide Arten von Einschränkungen zu kombinieren: Zum Beispiel kann die Ausführung von ausführbaren Dateien, die von Microsoft signiert sind, erlaubt werden, während die Ausführung von cmd.exe eingeschränkt wird.
  • Deaktivieren Sie die Einstellungsregisterkarten von Internet Explorer (lokale Änderungen im Registrierungseditor möglich).
  • Deaktivieren Sie über regedit den Aufruf der integrierten Windows-Hilfe.
  • Deaktivieren Sie die Möglichkeit, lokale Laufwerke für Remote-Verbindungen zu mounten, es sei denn, diese Einschränkung ist für die Benutzer kritisch.
  • Begrenzen Sie den Zugriff auf lokale Laufwerke des Remote-Systems und lassen Sie nur den Zugriff auf Benutzerordner zu.

Wir hoffen, Sie fanden den Artikel zumindest interessant, und dass er Ihnen maximal dabei hilft, die Remote-Arbeit in Ihrem Unternehmen sicherer zu gestalten.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster