Der Aufbau einer robusten Infrastruktur für die Durchführung simulierter Angriffe

November 09, 2023

Können Sie während einer Attacke die Infrastruktur der Angreifenden identifizieren und entsprechend reagieren? Wie effektiv sind die Gegenmaßnahmen, die Sie implementiert haben, um Angriffe zu erkennen, einzudämmen oder abzuwehren? Solche und ähnliche Fragestellungen versuchen wir mit Ihnen gemeinsam zu beantworten, wenn wir simulierte Angriffe durchführen.

Um solche Projekte durchführen zu können, benötigen wir eine entsprechende Infrastruktur (z.B. für die Simulation eines Rückkanals zur Kontrolle infizierter Systeme). Um Ihnen unser Vorgehen etwas näher zu bringen, möchten wir in diesem Beitrag vorstellen, wie wir solch eine Infrastruktur entwickelt haben, um einen effizienten, sicheren und stabilen Ablauf von simulierten Angriffen zu gewährleisten. Der Aufbau solcher Umgebungen orientiert sich hierbei eng an den Aufbauten der Infrastruktur von Angreifergruppen, die unter anderem für die bekannten Ransomware-Angriffe verantwortlich sind. Die hier beschriebene Infrastruktur basiert dabei auf den Erfahrungen unserer Experten sowie auf branchenüblichen Best-Practices und entwickelt sich stetig weiter.

Zielsetzung der Infrastruktur

Für die Durchführung von Angriffssimulationen wird eine Infrastruktur benötigt, welche einige Aufgaben erfüllen muss:

  • Versenden & tracken von Phishing E-Mails

  • Bereitstellung von stabilen Rückkanälen zur Fernsteuerung infizierter Systeme („Command & Control" -- C2) über verschiedene Protokolle (z.B. http(s) oder DNS)

  • Schnelles und unkompliziertes Generieren und Hosten von Payloads für Angriffe auf weitere Systeme

Bei der Entwicklung unserer Infrastruktur orientieren wir uns an den branchenüblichen Best-Practices um einen effizienten, sicheren und stabilen Ablauf von Angriffssimulationen zu gewährleisten. Zusätzlich haben wir die folgenden Anforderungen gestellt:

  • Sicherheit -- Die Sicherheit steht für uns natürlich immer an höchster Stelle.

  • Resilienz -- Der Ausfall einer Komponente soll möglichst wenig Einfluss auf die anderen Komponenten haben.

  • Anpassungsfähigkeit & Flexibilität -- Fällt eine Komponente aus (z.B. durch Sperrung), muss dieser Ausfall möglichst schnell und einfach behoben werden können.

  • Einfachheit & Konfigurierbarkeit -- Der Aufbau der Infrastruktur sollte möglichst einfach, schnell und replizierbar durchführbar sein.

Sicherheit

Über einen Allow-List Ansatz werden lediglich Dienste exponiert, welche unbedingt benötigt werden. Sofern dies möglich ist, ist der Zugriff auf die IP-Bereiche des Kunden beschränkt. Administrative Bereiche sind nicht extern erreichbar, es muss zunächst eine Verbindung über einen SSH-Tunnel aufgebaut werden (ähnlich wie bei einem VPN).

Diese Maßnahmen gelten nicht nur der Minimierung der Angriffsfläche der Infrastruktur. Wir können so auch die Wahrscheinlichkeit einer Erkennung durch Anti-Viren-Hersteller oder anderer Unternehmen reduzieren, welche uns in der Durchführung des Projektes behindern könnte („Operational Security").

Resilienz

Ein Ausfall einer Funktionalität oder eines Systems kann die Durchführung des Projektes verzögern oder im schlimmsten Fall gefährden. Wird zum Beispiel eine Phishing-Mail erkannt und die Sende-Domain gesperrt, können bestehende C2 Verbindungen abbrechen, wenn diese Domain zwischen C2 und Mailserver geteilt wird. Unsere Experten müssten in dem Fall die Infrastruktur neu aufsetzen und den Angriff von vorne durchführen. Dies ist mit entsprechenden zeitlichen Aufwänden verbunden, welche sonst für die Simulation anderer Techniken zur Verfügung stünden. Zusätzlich kann sich die Erfolgswahrscheinlichkeit verringern, zum Beispiel wenn Mitarbeitende auf den Angriff aufmerksam geworden sind und sich gegenseitig warnen.

Anpassungsfähigkeit & Flexibilität

Bei einem Ausfall müssen unsere Experten schnell reagieren können, zum Beispiel indem die Domain des C2 Servers geändert wird. Durch die Verwendung von Reverse-Proxies erreichen wir hier eine Redundanz, welche es uns erlaubt im Erkennungsfall flexibel zu reagieren.

Einfach & konfigurierbar

Wir konfigurieren und deployen die benötigte Infrastruktur für jedes Projekt individuell. Für die effiziente Durchführung ist es somit wichtig, dass der Aufbau mit möglichst minimalen manuellen Eingriffen möglich ist und automatisiert durchgeführt werden kann. Dies stellen wir durch die Verwendung von „Infrastructure as Code" sicher. Durch die damit einhergehende Replizierbarkeit können wir die Infrastruktur schnell anpassen (z.B. können die betroffenen Dienste automatisch rekonfiguriert werden, falls eine gesperrte Domain ersetzt werden muss). Hierdurch ergibt sich automatisch eine erhöhte Anpassungsfähigkeit.

Komponenten & Aufbau

Üblicherweise besteht die Infrastruktur aus zwei Hauptsystemen:

  • Dem Command & Control („C2") Server

  • Dem Server zum Versand und Zustellung von Payloads („Delivery")

Jedem dieser Server ist ein (oder optional auch mehrere) Reverse-Proxy vorgeschaltet. Dieser leitet den eingehenden Netzwerkverkehr an das eigentliche System weiter, sodass keine direkte Kommunikation zwischen dem eigentlichen Server und dem Zielsystem nötig ist. In dem Bild unten ist dies für den C2 Verkehr und die E-Mail-Zustellung dargestellt:

Übersicht Infrastruktur Angriffsimulation

Dieser Aufbau erlaubt unterschiedliche Herangehensweisen. Nehmen wir als Beispiel die C2 Kommunikation und gehen dabei von einer HTTPS-Verbindung aus:

  • Die Verbindung geschieht direkt mit dem eigentlichen C2 Server.

  • Die Verbindung geschieht getunnelt über den Redirector. Der eigentliche C2 Server ist in der Kommunikation aus Kundensicht nicht sichtbar.

  • Die Kommunikation geschieht getunnelt über den Redirector. Fällt dieser aus oder wird gesperrt, wird auf eine direkte Kommunikation mit dem C2 ausgewichen.

Diese drei Varianten bieten unterschiedliche Möglichkeiten in Hinblick auf die operative Sicherheit der Infrastruktur und der Ausfallsicherheit. Üblicherweise wählen wir eine Mischung aus zwei Ansätzen: Die eigentliche Verbindung mit dem Server geschieht über einen Redirector. Um den C2 zu schützen, ist dieser nicht als „Fallback" in dem Payload hinterlegt (dieser könnte sonst innerhalb einer manuellen Analyse entdeckt werden). Um den Zugriff auf das Netzwerk nicht zu verlieren, falls der Proxy gesperrt wird, kann ein zweiter Payload verwendet werden. Dieser kontaktiert direkt den C2 (oder einen alternativen Proxy). Dieser Ersatz wird jedoch nicht aktiv verwendet und meldet sich nur sehr selten bei dem Server zurück, was die Wahrscheinlichkeit einer Entdeckung signifikant verringert.

Solche oder ähnliche Fallback-Konfigurationen kommen innerhalb von realen Angriffen tatsächlich zum Einsatz. Unabhängig von der operativen Sicherheit, können also einige Fragestellungen in Angriffssimulationen nur mit solch einem Aufbau beantwortet werden. So wäre es zum Beispiel denkbar zu prüfen, ob nach einem Befund ebensolche Ausweichkanäle entdeckt werden.

Fazit

Der Betrieb einer sicheren, flexiblen und resilienten Infrastruktur ist für die Durchführung von simulierten Angriffen essenziell. Dies gilt nicht nur für die operative Sicherheit & Effizienz der Durchführung, auch die Simulation einiger Szenarien erfordert gewisse Anforderungen an die Infrastruktur.

Mit diesem Aufbau reproduzieren wir die relevantesten und modernsten Strategien bekannter Angreifergruppen. Nur indem wir unseren Testprozess so nah wie möglich an die von Angreifern in der echten Welt orientieren schaffen wir es, alle wichtigen Defensivmechanismen in Ihrem Hause zu prüfen und bei der Optimierung dieser zu helfen.

In unserer Mission, Ihre IT-Sicherheit auf das nächste Level zu heben, bieten wir als QuaSte (Qualifizierte Stelle) maßgeschneiderte Dienstleistungen an. Haben Sie Fragen oder benötigen Sie weitere Informationen? Zögern Sie nicht, uns zu kontaktieren! Über den "Kontakt aufnehmen" Button stehen wir Ihnen gerne zur Verfügung.