Remotedesktop aus der Sicht eines Angreifers

1. Einleitung

Unternehmen, die nicht über Fernzugriffssysteme verfügten, haben diese vor einigen Monaten dringend eingeführt. Nicht alle Administratoren waren auf eine solche „Hitze“ vorbereitet, die zu Sicherheitslücken führte: falsche Konfiguration von Diensten oder sogar die Installation veralteter Softwareversionen mit zuvor entdeckten Schwachstellen. Für einige sind diese Versäumnisse bereits ein Bumerang, andere hatten mehr Glück, aber jeder sollte unbedingt Konsequenzen ziehen. Die Loyalität gegenüber Remote-Arbeit hat exponentiell zugenommen und immer mehr Unternehmen akzeptieren Remote-Arbeit dauerhaft als akzeptables Format.

Es gibt also viele Möglichkeiten, den Fernzugriff bereitzustellen: verschiedene VPNs, RDS und VNC, TeamViewer und andere. Abhängig von den Besonderheiten des Aufbaus eines Unternehmensnetzwerks und den darin enthaltenen Geräten haben Administratoren eine große Auswahl. VPN-Lösungen bleiben am beliebtesten, viele kleine Unternehmen entscheiden sich jedoch für RDS (Remote Desktop Services), da diese einfacher und schneller bereitzustellen sind.

In diesem Artikel werden wir mehr über RDS-Sicherheit sprechen. Lassen Sie uns einen kurzen Überblick über bekannte Schwachstellen geben und mehrere Szenarien für den Start eines Angriffs auf eine Netzwerkinfrastruktur basierend auf Active Directory betrachten. Wir hoffen, dass unser Artikel jemandem hilft, Fehler zu beheben und die Sicherheit zu verbessern.

2. Aktuelle RDS/RDP-Schwachstellen

Jede Software enthält Fehler und Schwachstellen, die von Angreifern ausgenutzt werden können, und RDS bildet da keine Ausnahme. Microsoft hat in letzter Zeit häufig neue Schwachstellen gemeldet, daher haben wir uns entschlossen, ihnen einen kurzen Überblick zu geben:

Diese Sicherheitslücke gefährdet Benutzer, die eine Verbindung zu einem kompromittierten Server herstellen. Ein Angreifer kann die Kontrolle über das Gerät eines Benutzers erlangen oder im System Fuß fassen, um dauerhaften Fernzugriff zu erhalten.

Diese Gruppe von Schwachstellen ermöglicht es einem nicht authentifizierten Angreifer, mithilfe einer speziell gestalteten Anfrage aus der Ferne beliebigen Code auf einem Server auszuführen, auf dem RDS ausgeführt wird. Sie können auch zur Erstellung von Würmern verwendet werden – Malware, die unabhängig voneinander benachbarte Geräte im Netzwerk infiziert. Somit können diese Schwachstellen das gesamte Unternehmensnetzwerk gefährden und nur durch rechtzeitige Updates behoben werden.

Fernzugriffssoftware hat sowohl bei Forschern als auch bei Angreifern zunehmend Aufmerksamkeit erregt, sodass wir möglicherweise bald von weiteren ä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 für einen Angreifer mit Erfahrung nicht schwierig sein wird, einen Exploit für eine Schwachstelle zu schreiben, der auf der Beschreibung basiert oder Techniken wie Patch Diffing verwendet (unsere Kollegen haben darüber geschrieben). Artikel). Daher empfehlen wir Ihnen, die Software regelmäßig zu aktualisieren und das Erscheinen neuer Meldungen über entdeckte Schwachstellen zu überwachen.

3. Angriffe

Wir gehen zum zweiten Teil des Artikels über, in dem wir zeigen, wie Angriffe auf die Netzwerkinfrastruktur auf Basis von Active Directory beginnen.

Die beschriebenen Methoden sind auf das folgende Angreifermodell anwendbar: Ein Angreifer, der über ein Benutzerkonto verfügt und Zugriff auf das Remote Desktop Gateway hat – einen Terminalserver (häufig ist dieser beispielsweise von einem externen Netzwerk aus zugänglich). Mithilfe dieser Methoden kann der Angreifer den Angriff auf die Infrastruktur fortsetzen und seine Präsenz im Netzwerk festigen.

Die Netzwerkkonfiguration kann im Einzelfall unterschiedlich sein, die beschriebenen Techniken sind jedoch recht universell.

Beispiele für das Verlassen einer eingeschränkten Umgebung und die Erhöhung der Privilegien

Beim Zugriff auf das Remotedesktop-Gateway wird ein Angreifer wahrscheinlich auf eine eingeschränkte Umgebung stoßen. Wenn Sie eine Verbindung zu einem Terminalserver herstellen, wird darauf eine Anwendung gestartet: ein Fenster zum Herstellen einer Verbindung über das Remotedesktopprotokoll für interne Ressourcen, Explorer, Office-Pakete oder andere Software.

Das Ziel des Angreifers besteht darin, sich Zugang zum Ausführen von Befehlen zu verschaffen, also zum Starten von cmd oder Powershell. Mehrere klassische Windows-Sandbox-Escape-Techniken können dabei helfen. Betrachten wir sie weiter.

Option 1. Der Angreifer hat Zugriff auf das Remotedesktopverbindungsfenster im Remotedesktop-Gateway:

Remotedesktop aus der Sicht eines Angreifers

Das Menü „Optionen anzeigen“ wird geöffnet. Es werden Optionen zum Bearbeiten von Verbindungskonfigurationsdateien angezeigt:

Remotedesktop aus der Sicht eines Angreifers

Von diesem Fenster aus können Sie ganz einfach auf den Explorer zugreifen, indem Sie auf eine der Schaltflächen „Öffnen“ oder „Speichern“ klicken:

Remotedesktop aus der Sicht eines Angreifers

Der Explorer wird geöffnet. Seine „Adressleiste“ ermöglicht es, erlaubte ausführbare Dateien zu starten und das Dateisystem aufzulisten. Dies kann für einen Angreifer in Fällen nützlich sein, in denen Systemlaufwerke versteckt sind und nicht direkt darauf zugegriffen werden kann:

Remotedesktop aus der Sicht eines Angreifers

Demovideo

Ein ähnliches Szenario lässt sich beispielsweise reproduzieren, wenn Excel aus dem Microsoft Office-Paket als Remote-Software verwendet wird.

Demovideo

Vergessen Sie außerdem nicht die in dieser Office-Suite verwendeten Makros. Unsere Kollegen haben sich dabei mit dem Problem der Makrosicherheit befasst Artikel.

Option 2. Mit denselben Eingaben wie in der Vorgängerversion startet der Angreifer mehrere Verbindungen zum Remote-Desktop unter demselben Konto. Wenn Sie die Verbindung wiederherstellen, wird das erste geschlossen und auf dem Bildschirm erscheint ein Fenster mit einer Fehlermeldung. Die Hilfeschaltfläche in diesem Fenster ruft den Internet Explorer auf dem Server auf, woraufhin der Angreifer zum Explorer wechseln kann.

Demovideo

Option 3. Wenn Beschränkungen für das Starten ausführbarer Dateien konfiguriert sind, kann es für einen Angreifer zu einer Situation kommen, in der Gruppenrichtlinien dem Administrator die Ausführung von cmd.exe verbieten.

Es gibt eine Möglichkeit, dies zu umgehen, indem Sie auf dem Remote-Desktop eine Bat-Datei mit Inhalten wie cmd.exe /K <Befehl> ausführen. Ein Fehler beim Starten von cmd und ein erfolgreiches Beispiel für die Ausführung einer bat-Datei ist in der folgenden Abbildung dargestellt.

Remotedesktop aus der Sicht eines Angreifers

Option 4. Das Verbot des Starts von Anwendungen mithilfe von Blacklists, die auf dem Namen ausführbarer Dateien basieren, ist kein Allheilmittel; sie können umgangen werden.

Stellen Sie sich das folgende Szenario vor: Wir haben den Zugriff auf die Befehlszeile deaktiviert und den Start von Internet Explorer und PowerShell mithilfe von Gruppenrichtlinien verhindert. Der Angreifer versucht um Hilfe zu rufen – keine Reaktion. Beim Versuch, Powershell über das Kontextmenü eines modalen Fensters zu starten, das mit gedrückter Umschalttaste aufgerufen wird, wird eine Meldung angezeigt, die darauf hinweist, dass der Administrator den Start verboten hat. Versucht, Powershell über die Adressleiste zu starten – erneut keine Antwort. Wie kann die Einschränkung umgangen werden?

Es reicht aus, powershell.exe aus dem Ordner C:WindowsSystem32WindowsPowerShellv1.0 in den Benutzerordner zu kopieren, den Namen in einen anderen Namen als powershell.exe zu ändern und schon erscheint die Startoption.

Standardmäßig wird beim Herstellen einer Verbindung zu einem Remote-Desktop Zugriff auf die lokalen Festplatten des Clients bereitgestellt, von wo aus ein Angreifer powershell.exe kopieren und nach Umbenennung ausführen kann.

Demovideo

Wir haben nur einige Möglichkeiten zur Umgehung der Einschränkungen aufgeführt; Sie können sich viele weitere Szenarien ausdenken, aber eines haben sie alle gemeinsam: den Zugriff auf den Windows Explorer. Es gibt viele Anwendungen, die Standard-Windows-Tools zur Dateibearbeitung verwenden, und wenn sie in einer begrenzten Umgebung platziert werden, können ähnliche Techniken verwendet werden.

4. Empfehlungen und Fazit

Wie wir sehen, gibt es auch in einer begrenzten Umgebung Raum für die Entwicklung von Angriffen. Allerdings können Sie dem Angreifer das Leben schwerer machen. Wir geben allgemeine Empfehlungen, die sowohl in den von uns in Betracht gezogenen Optionen als auch in anderen Fällen nützlich sein werden.

  • Begrenzen Sie Programmstarts mithilfe von Gruppenrichtlinien auf schwarze/weiße Listen.
    In den meisten Fällen ist es jedoch weiterhin möglich, den Code auszuführen. Wir empfehlen Ihnen, sich mit dem Projekt vertraut zu machen LOLBAS, um eine Vorstellung von undokumentierten Möglichkeiten zur Manipulation von Dateien und zur Ausführung von Code auf dem System zu haben.
    Wir empfehlen, beide Arten von Einschränkungen zu kombinieren: Sie können beispielsweise den Start von von Microsoft signierten ausführbaren Dateien zulassen, den Start von cmd.exe jedoch einschränken.
  • Deaktivieren Sie die Einstellungsregisterkarten des Internet Explorers (kann lokal in der Registrierung erfolgen).
  • Deaktivieren Sie die integrierte Windows-Hilfe über regedit.
  • Deaktivieren Sie die Möglichkeit, lokale Festplatten für Remoteverbindungen bereitzustellen, wenn eine solche Einschränkung für Benutzer nicht kritisch ist.
  • Beschränken Sie den Zugriff auf lokale Laufwerke des Remote-Computers und lassen Sie den Zugriff nur auf Benutzerordner.

Wir hoffen, dass Sie ihn zumindest interessant fanden und dass dieser Artikel höchstens dazu beiträgt, die Remote-Arbeit in Ihrem Unternehmen sicherer zu machen.

Source: habr.com

Kommentar hinzufügen