/
Segmentierung

Sicherheitslücken: Wie Angreifer in Ihr Netzwerk eindringen und sich verbreiten.

Stellen Sie sich folgendes Szenario vor:

Du eilt an einem geschäftigen Tag in den örtlichen Supermarkt, um dir schnell ein Sandwich und ein Getränk zwischen den Meetings zu holen. Auf dem Parkplatz lässt du dein Portemonnaie auf dem Rücksitz, aber du denkst daran, den Schlüsselanhänger zu drücken, um dein neues Auto abzuschließen.

Es stellt sich heraus, dass dein Automodell einen Softwarefehler hat, bei dem der Fernschlüsselanhänger nur die beiden vorderen Türen abschließt, aber nicht die hinteren. Also, während du im Laden bist, bemerkt ein Dieb das Portemonnaie und versucht die Hintertür. Zu ihrer angenehmen Überraschung öffnet sich die Tür, und sie haben Zugang zu deinem Portemonnaie!

Dieses Szenario ist die Geschichte einer Sicherheitslücke in Miniatur. Der Glitch war klein, und für sich genommen bewirkte er überhaupt nichts. Es wurde zum Problem, sobald jemand bemerkte, worauf es ihm Zugriff gab.  

Software funktioniert genauso. Ein Fehler gewinnt die Zeit eines Angreifers basierend auf dem Ergebnis, das er liefert, und dieses Ergebnis prägt jeden folgenden Zug.

Angreifer betrachten einen Exploit als Ausgangslinie. Dahinter verketten sie eine Reihe vorhersehbarer Schritte: den Fehler finden, Code ausführen, den sie kontrollieren, die Maschine übernehmen und sich von dort aus ausbreiten. Diese Kette läuft jetzt mit Maschinengeschwindigkeit, und die Automatisierung verringert die Lücke zwischen einem ersten Exploit und einem netzwerkweiten Problem immer weiter.  

Du kannst die Angriffskette aus der Sicht des Angreifers verfolgen, von der ersten Schwäche bis zum Endziel, sodass Verteidiger sehen können, wo sie sie durchbrechen können.

Was bringt ein erfolgreicher Exploit einem Angreifer?

Schwachstellen gibt es in drei Haupttypen. Ein Fehler kann im Code liegen, in der Art und Weise, wie ein System aufgebaut ist, oder in der Identitäts- und Benutzerschicht. Unabhängig vom Typ führt ein erfolgreicher Exploit meist zu einem oder mehreren Ergebnissen.

  • Beliebige Code-Ausführung (ACE). Ein erfolgreicher Exploit, der dazu führt, dass ein Angreifer Zugriff auf den normalen Programmfluss der verwundbaren Anwendung erhält. Sie leiten dann den Fluss um, um den eigenen Code des Angreifers auszuführen, anstatt den ursprünglichen Code der Anwendung. Remote Code Execution (RCE) ist eine Teilmenge von ACE: derselbe Angriff, der über ein Netzwerk ausgeführt wird.
  • Erhöhung des Privilegs (EoP). Dies ermöglicht es einem Angreifer, höhere Rechte zu erhalten, als er gelandet ist. Zum Beispiel nutzen Angreifer EoP, um von einem Standardbenutzer auf ein Administratorkonto zu wechseln. Beliebte Tools wie Mimikatz ermöglichen die Eskalation von Privilegien.
  • Informationsoffenlegung (ID). Ein Exploit, der dem Angreifer Informationen gibt, die er eigentlich nicht sehen sollte, oft sensible persönliche Daten oder Details darüber, wie das System gesichert ist.
  • Sicherheitsfunktionen umgehen. Ein Exploit, der Sicherheitsleitplanken umgeht, die den Zugang zu einem sensiblen Teil eines Systems oder Softwarepakets blockiert hätten.

Für einen Angreifer sind eine Schwachstelle und ihr Exploit nur ein Mittel zum Zweck: eine Möglichkeit, einen Bruch zu starten und Fuß zu fassen.

Behalte das im technischen Mittelpunkt: Jeder Schritt nach dem Exploit läuft auf Netzwerkverbindungen, und Verteidiger haben Mitspracherecht darüber, welche offen bleiben.

Wie nutzen Bedrohungsakteure eine Schwachstelle, um eine Verletzung zu starten?

Der Angreifer versucht, Exploit-Code über eine verwundbare Anwendung in den Speicher einzuschleusen, beispielsweise über einen Buffer Overflow. Dies ermöglicht es ihnen, den normalen Programmfluss auf den bösartigen Code des Angreifers, auch als Shellcode bekannt, umzuleiten.

Nun übernimmt der bösartige Code des Bedrohungsakteurs (Shellcode) die Maschine, um einen ersten Fuß zu fassen und Command and Control (C&C oder C2) einzurichten. An diesem Punkt hat der Angreifer den Einbruch erfolgreich gestartet.

Jeder Schritt erfüllt einen entscheidenden Zweck in der gesamten Angriffskette:

  1. Schwachstellenentdeckung. Dies ist der Prozess, eine Schwachstelle darin zu finden, wie ein System oder eine Software entwickelt wird oder wie sie genutzt wird. Dies kann Reverse Engineering, Fuzzing, Codeanalyse (statisch und dynamisch) oder Abhängigkeitsanalyse umfassen. ‍
  2. Nutze ein verwundbares Programm aus. Exploits sind Abschnitte von Low-Level- oder nativem Code, die erfolgreich eine Schwachstelle ausnutzen. Dies kann Exploits umfassen, die zu beliebiger Codeausführung (ACE), Umgehung, Erhöhung von Privilegien (EoP) oder Informationsoffenlegung (ID) führen. ‍
  3. Shellcode. Shellcode ist der spezifische, niedrigstufige, bösartige Code oder speziell entwickelte Angriff, der versucht, den normalen Ablauf eines laufenden Programms zu kapern und diesen Fluss auf den bösartigen Code eines Angreifers umzuleiten, der ebenfalls im Speicher läuft. Dies kann Pufferüberlauf, Heap-Sprays, VTable-Hijacking oder rückkehrorientierte Programmierung (ROP) umfassen. ‍
  4. Umgekehrte Schale. Eine Reverse Shell initiiert eine Verbindung zurück zur Listener-Infrastruktur des Angreifers, um unbefugten Zugriff auf das verwundbare Programm oder System zu erhalten. Dies kann Befehle (cmd), Bash zum Herunterladen zusätzlicher Exploits und leistungsfähigere Nutzlasten wie die Eskalation von Privilegien umfassen. ‍
  5. Malware-Nutzlast. Malware-Payloads sind leistungsfähiger, gestufte bösartige ausführbare Dateien oder Exploits , die den Angriff über den ursprünglichen Stand hinaus vorantreiben. Die Fähigkeiten und Aktionen, die zusätzliche Malware auf einem kompromittierten System bietet, gehen über das hinaus, was ein echtes, oft kleines Stück Shellcode bieten sollte. Dies kann mehrstufige Angriffe durch einen lokalen Privilegeskalations-Exploit und dann Malware für wurmähnliche laterale Bewegungen umfassen.

Die oben genannten Schritte 2–4 finden im Gedächtnis statt. Ein Angreifer nutzt ein verwundbares Programm aus, nutzt Shellcode, um dessen Kontrollfluss zu übernehmen, und liefert eine Reverse-Shell. Sie können dies mithilfe der virtuellen Speicherstruktur eines Prozesses (einer laufenden ausführbaren Datei) analysieren. Diese Struktur besteht aus fünf Hauptkomponenten: Stack, Heap, Daten, BSS und Text.  

Diagramm des Speicherlayouts, das den Adressraum von niedrig nach hoch zeigt. Bei niedrigen Adressen befindet sich der Textbereich für Programmcode, gefolgt von Daten für initialisierte Daten und dann BSS für nicht initialisierte Daten. Darüber befindet sich der Haufen, der nach oben wächst, und oben der Stapel, der nach unten wächst. Zwischen Heap und Stack befindet sich freier Adressraum.

Besonders interessant ist der Stapelabschnitt. Wir werden uns diese Speicherabschnitte im zweiten Teil nähern, mit einem Beispiel für eine der folgenden Exploit-Techniken.

Top-Techniken zur Ausnutzung von Schwachstellen

Zu den wichtigsten Exploit-Techniken gehören:

  • Identitätsbasierte Angriffe zielen auf kompromittierte Konten ab. ‍
  • Logikfehler-Angriffe , die unterschiedliche Fehler in der Programmierlogik nutzen, um eine ausnutzbare Schwachstelle zu schaffen. ‍
  • Pufferüberlauf, bei dem ein Puffer überlaufen wird, um die Rückgabeadresse zu überschreiben. ‍
  • Heap-Spray-Angriffe , die versuchen, den Heap mit ausführbarem bösartigem Code zu füllen, was die Wahrscheinlichkeit erhöht, dass dieser Code nach dem Exploit ausgeführt wird. Heap-Sprays versuchen, Speicherschutz für Adressraum-Layout-Randomisierung (ASLR) zu umgehen.

Sobald ein Bedrohungsakteur eine Schwachstelle ausnutzt und einen ersten Fuß in den Griff nimmt, befindet er sich auf halbem Weg durch eine vorhersehbare Strategie. Jetzt müssen sie diesen Zugang nutzen, um von Maschine zu Maschine zu wechseln, den Angriff zu verbreiten und ihre Ziele zu erreichen.

Wie nutzen Bedrohungsakteure eine Schwachstelle, um eine Verletzung zu verbreiten?

Die Ausbreitungsphase des Angriffs betrifft vertrauteres Terrain. Sie folgt typischerweise der zweiten Hälfte der Taktiken und Techniken im MITRE ATT&CK-Rahmenwerk. Diese vier Schritte setzen dort an, wo die ersten fünf aufgehört haben – insgesamt neun Schritte.

  • Entdeckung. Discovery bedeutet, mehr über das System zu lernen, auf dem sie gelandet sind, und das Netzwerk, mit dem es verbunden ist. Dies kann Kontoerkennung, Netzwerkinformationen, Browser-Entdeckung und Cloud-Infrastruktur-Entdeckung umfassen. ‍
  • Seitliche Bewegung. Seitliche Bewegung bedeutet, sich mit entfernten Systemen zu verbinden und sie zu übernehmen, um sie im Netzwerk zu verbreiten. Dies kann RDP/SSH-Entführungen, Admin-Shares, SMB, Pass-the-Hash, Software-Deployment-Tools und Techniken zum Leben außerhalb des Landes umfassen. ‍
  • Befehl und Kontrolle. Führung und Kontrolle ist die Art und Weise, wie Angreifer mit infizierten Systemen über ihre eigene Listener-Infrastruktur kommunizieren und sie kontrollieren. Dies kann Reverse-Shell-Kanäle, Webkanäle, Domänengenerierungsalgorithmen (DGA), DNS-Textkanäle und Domain-Fronting (CDNs) umfassen.
  • Ziele. Ziele sind die Endziele des Angriffs. Dies kann Datendiebstahl oder Exfiltration (pyexfil oder icmpexfil), Ransomware, Denial-of-Service oder Botnetze umfassen.

Top-Techniken zur Ausbreitung einer Bruchbrechung

Angreifer brauchen selten exotische Werkzeuge, um sich zu verbreiten. Die gleichen Pfade, die es Administratoren ermöglichen, Systeme zu verwalten und Teams Dateien zu teilen, tragen auch einen Datenverstoß von Maschine zu Maschine:

  • Verwaltungsports und Protokolle. RDP, SSH und WinRM geben Angreifern dieselbe Fernsteuerung wie IT-Teams.
  • Datei- und Ordnerfreigaben. KMU-Aktien bewegen Malware genauso leicht wie Dokumente.
  • Instrumentierung. Tools wie WMI ermöglichen es Angreifern, Befehle auf entfernten Systemen auszuführen, ohne eine einzige neue Datei zu entfernen.
  • Webbasierte Kanäle. HTTP- und DNS-Verkehr ermöglicht es Command and Control, sich im Rauschen des normalen Browsings zu verstecken.

Warum der Angriffsfluss wichtiger ist als der Fehler

Neue Schwachstellen treten schneller auf, als jedes Team sie beheben kann, und diejenigen, die am meisten Schaden anrichten, sind selten diejenigen mit der höchsten Punktzahl. Der Schaden entscheidet über alles, was nach dem Exploit passiert: wie weit der Angreifer reisen kann, wie viele Systeme er erreichen kann und wie lange er arbeiten muss.

Das sind gute Nachrichten für Verteidiger, denn die Spread-Phase ist der vorhersehbare Teil. Entdeckung, seitliche Bewegung, Führung und Kontrolle sowie das Endziel hängen alle von Verbindungen zwischen Systemen ab, die die meisten Netzwerke standardmäßig erlauben.  Schließt man diese Wege, bleibt ein Tritt ein Tritt. Segmentierung, enge Kontrolle über administrative Ports und Protokolle sowie klare Transparenz darüber, wie Arbeitslasten miteinander kommunizieren, können eine neunstufige Kette in eine verwandeln, die bei Schritt fünf endet.

Erinnere dich an das Auto auf dem Parkplatz. Der Dieb zählte nur, weil sich eine Tür öffnete. Segmentierung bedeutet, wie du alle anderen Türen verriegelt hältst, selbst wenn ein Schloss versagt.

Angreifer automatisieren nun diese gesamte Sequenz und führen sie mit Maschinengeschwindigkeit aus. Erkennung und Reaktion sind weiterhin wichtig, und sie funktionieren am besten, wenn der Explosionsradius bereits klein ist. Die Eindämmung des Einbruchs am Einstiegspunkt verschafft einem Sicherheitsteam Zeit zum Handeln.

Im zweiten Teil gehen wir tiefer auf Speicher-Exploits ein, darauf, wie speziell entwickelte Strings und Eingaben innerhalb eines Exploits funktionieren und welche Techniken Verteidiger nutzen können, um sie zu verhindern.

Probefahrt-Illumio-Segmentierung um zu sehen, wie man seitliche Bewegungswege schließen und Brüche am Eintrittspunkt eindämmen kann.

Verwandte Artikel

Erleben Sie Illumio Insights noch heute

Erfahren Sie, wie KI-gestützte Beobachtbarkeit Ihnen hilft, Gefahren schneller zu erkennen, zu verstehen und einzudämmen.