Die eigene Infrastruktur auf Verwundbarkeit zu prüfen ist nicht nur modern, sondern für die Umsetzung von organisatorischer IT-Sicherheit eigentlich obligatorisch. Red- und Blue-Teaming ist ein bewährtes Konzept, aber vor allem für kleine Unternehmen nicht immer einfach umzusetzen. Der Security-Tipp in diesem Monat stellt Ihnen mit Sn1per ein Werkzeug vor, mit dem Sie erste Red-Teaming-Aufgaben beginnen können.
Klassische Cyberangriffe, Datenlecks oder Ransomware gehören zu den größten IT-Risiken, die nicht nur finanzielle Schäden verursachen, sondern auch das Vertrauen von Kunden oder Geschäftspartnern negativ beeinflussen. Viele Unternehmen versuchen daher, diese Bedrohungen proaktiv zu erkennen und mit entsprechenden Gegenmaßnahmen die IT-Sicherheit zu gewährleisten. Ein wichtiger Punkt dabei ist das aktive Erkennen von Schwachstellen, ein zweiter die Definition von Prozessen, die eine schnelle und effektive Reaktion im Schadensfall erlauben. Aus diesem Gedanken heraus wurde das sogenannte Blue- und Red-Teaming entwickelt.
Rote und blaue Teams
Beim Blue-Teaming liegt der Fokus auf dem Aufbau eines umfassenden Verteidigungssystems und der Überwachung der gesamten IT-Infrastruktur. Mitglieder des Blue-Teams arbeiten also aktiv daran, Angriffsversuche frühzeitig zu erkennen und ihnen schnell entgegenzuwirken. Hier kommt eine Vielzahl von Techniken und Tools zum Einsatz, vom Intrusion Detection System (IDS) über Firewalls bis hin zu Threat Intelligence. Das Blue-Team analysiert zudem vergangene Vorfälle, eigene und die anderer Unternehmen, um zu verstehen, wie Angriffe ablaufen, und entwickelt Strategien, um ähnliche Angriffe gegen die eigene Infrastruktur künftig erkennen und abwehren zu können. Dabei spielt die ständige Anpassung und Verbesserung der Sicherheitsrichtlinien eine zentrale Rolle.
Das Red-Team verfolgt den gegenläufigen Ansatz. Es simuliert gezielt Angriffe, um das Verteidigungssystem des Unternehmens auf die Probe zu stellen. Als Red-Teamer übernimmt ein Mitarbeiter die Perspektive der Angreifer und nutzt die gleichen Methoden und Werkzeuge. Dazu gehören auch invasive Maßnahmen wie Phishing-Kampagnen, Penetrationstests und Social-Engineering-Techniken.
Klassische Cyberangriffe, Datenlecks oder Ransomware gehören zu den größten IT-Risiken, die nicht nur finanzielle Schäden verursachen, sondern auch das Vertrauen von Kunden oder Geschäftspartnern negativ beeinflussen. Viele Unternehmen versuchen daher, diese Bedrohungen proaktiv zu erkennen und mit entsprechenden Gegenmaßnahmen die IT-Sicherheit zu gewährleisten. Ein wichtiger Punkt dabei ist das aktive Erkennen von Schwachstellen, ein zweiter die Definition von Prozessen, die eine schnelle und effektive Reaktion im Schadensfall erlauben. Aus diesem Gedanken heraus wurde das sogenannte Blue- und Red-Teaming entwickelt.
Rote und blaue Teams
Beim Blue-Teaming liegt der Fokus auf dem Aufbau eines umfassenden Verteidigungssystems und der Überwachung der gesamten IT-Infrastruktur. Mitglieder des Blue-Teams arbeiten also aktiv daran, Angriffsversuche frühzeitig zu erkennen und ihnen schnell entgegenzuwirken. Hier kommt eine Vielzahl von Techniken und Tools zum Einsatz, vom Intrusion Detection System (IDS) über Firewalls bis hin zu Threat Intelligence. Das Blue-Team analysiert zudem vergangene Vorfälle, eigene und die anderer Unternehmen, um zu verstehen, wie Angriffe ablaufen, und entwickelt Strategien, um ähnliche Angriffe gegen die eigene Infrastruktur künftig erkennen und abwehren zu können. Dabei spielt die ständige Anpassung und Verbesserung der Sicherheitsrichtlinien eine zentrale Rolle.
Das Red-Team verfolgt den gegenläufigen Ansatz. Es simuliert gezielt Angriffe, um das Verteidigungssystem des Unternehmens auf die Probe zu stellen. Als Red-Teamer übernimmt ein Mitarbeiter die Perspektive der Angreifer und nutzt die gleichen Methoden und Werkzeuge. Dazu gehören auch invasive Maßnahmen wie Phishing-Kampagnen, Penetrationstests und Social-Engineering-Techniken.
In letzter Zeit wurde hier vor allem der Begriff des Purple-Teaming geprägt. Es beschreibt die enge Kooperation und den noch intensiveren Austausch beider Teams. Im Purple-Team-Ansatz teilen die Teams ihre Erkenntnisse aus beiden Perspektiven, was eine noch zielgerichtetere und dynamischere Verbesserung der Absicherung ermöglichen soll. Auch das Personal wechselt zum Beispiel in regelmäßigen Intervallen die Seite, um das eigene Verständnis noch weiter auszubauen.
Ansätze für kleine Firmen
Ist die Anzahl der Mitarbeiter in der IT-Abteilung oder zumindest die der Mitarbeiter mit direktem IT-Sicherheitsbezug eher klein, können Unternehmen keine eigenen Red- oder Blue-Teams aufbauen. Über spezialisierte Dienstleister lassen sich entsprechende Angebote einkaufen, die durch ihre Professionalität natürlich viele Aspekte schon kennen und daher effektiv arbeiten. Allerdings erreichen diese dabei vielleicht nicht immer die inhaltliche Tiefe oder berücksichtigen alle Aspekte der Infrastruktur, was ein eigenes Team eventuell könnte. Gibt es aber nur ein kleines IT-Team im Unternehmen oder sind Sie sogar als Einzelkämpfer unterwegs, ist es natürlich auch wichtig, sich selbst immer wieder die Sicht potenzieller Angreifer auf das Unternehmen zu verschaffen und zumindest etwas Klarheit über dessen Angriffsoberfläche zu erhalten.
Das in der Community-Version quelloffene Tool Sn1per [1] versucht hier, seinem Namen alle Ehre zu machen und zielgerichtet Angriffsvektoren zu identifizieren. Dabei verwendet es andere Werkzeuge, die Sie vielleicht kennen, nimmt Ihnen aber deren Arbeit der Orchestrierung ein wenig ab. Wenn Sie die kostenpflichtige Variante nutzen, können Sie einfach über die Weboberfläche darauf zugreifen. In diesem Artikel bleiben wir aber bei der kostenfreien Variante mit der Benutzung über die Kommandozeile.
Sn1per einsetzen
Um Sn1per in Ihrer eigenen IT einzusetzen, verwenden wir den auf Kali-Linux basierenden Docker-Container. Das Schöne an der Sicherheitsdistribution Kali ist, dass es fast alle nötigen Werkzeuge für beide Teams bereits an Bord hat. Mit Docker kapseln Sie den Einsatz in einem Container und halten so Ihr eigenes System zunächst sauber. Klonen Sie also das Git-Repository des Projekts [2] und verwenden Sie das in Docker vorhandene Compose für den Bau der Distribution:
git clone https://github.com/1N3/Sn1per.git
docker compose up
In der Aufgabe von Docker Compose können Sie den Build-Prozess verfolgen. In unseren Beispielen wurde diese von Timeouts unterbrochen, die wir nicht genau verorten konnten. Den Prozess mit einem erneuten "up" einfach wieder anzustoßen, führte am Ende aber zu einem fertig vorbereiteten Container Image. Um diesen Container und damit Sn1per nun zu verwenden, benutzen Sie das folgende Kommando, um direkt die Konsole in dem Container zu öffnen:
docker run -it ./workspace:/usr/ share/sniper/loot/workspace sn1per-kali-linux /bin/bash
Je nachdem, wie die Berechtigungen auf Ihrem System vergeben wurden, müssen Sie die beiden Docker-Kommandos mit sudo als Superuser ausführen. In den meisten Fällen sollte das aber nicht nötig sein. Mit "-v" erstellen Sie einen lokalen Ordner für Ihre Workspaces und können so auch von Ihrem Hostsystem auf die Ergebnisse zugreifen. Sn1per startet und Sie sollten eine Ausgabe erhalten, wie im Bild zu sehen.
Um direkt einen schnellen ersten Scan mit Sn1per gegen einen ausgesuchten Host zu absolvieren, führen Sie in der Konsole das Kommando sniper -t <Ziel-IP> aus. Obwohl dieser einfache Scan ungefährlich für das ausgewählte System sein sollte, ergibt es Sinn, zunächst unkritische Ziele zu verwenden. Um einen allerersten Blick in die Ergebnisse zu werfen, können Sie als Ziel auch einfach "localhost" eingeben. In der Ausgabe des Scans erkennen Sie anhand der Zusammenfassung, dass der Sn1per-Container selbst keine kritischen Ergebnisse zutage fördert. Im Block "P5 – Info" sehen Sie die von Sn1per gefundenen offenen Ports. Nicht wundern: Auf dem angegebenen Port 5432 läuft die von Sn1per selbst geöffnete Postgres-Datenbank.
Wenn Sie durch die komplette Ausgabe scrollen, finden Sie dort die Ergebnisse der einzelnen Tests noch einmal im Detail. Zunächst erfolgt eine Prüfung von DNS und Erreichbarkeit des Hosts, im Fall von localhost gibt es hier im DNS keine Ergebnisse und natürlich ist der Host über einen gesendeten Ping erreichbar. Anschließend folgen einige weitere NMAP-Scans, die in unserem Fall eben den geöffneten Port 5432 der Datenbank finden. Sn1per startet danach eine Prüfung des Mailservers mit Metasploit und probiert in diesem Zusammenhang auch Logindaten aus einer Wordliste. Wenn Sie hier einen echten Mailserver scannen, sollten diese alle ins Leere laufen, da der Hostname des Sn1per-Scanners mit "localhost" im DNS nicht zu verifizieren ist. Sie müssten dann entweder den Hostnamen des Containers oder die Metasploit-Konfiguration anpassen.
Neben diesem Quickstart bietet Sn1per viele weitere Modi beim Scannen und Absuchen der Verwundbarkeit. So können Sie etwa im Recon- oder OSINT-Modus tiefer in die Open-Source-Analyse oder eine detailliertere Netzwerkprofilierung einsteigen. Wenn Sie als Red-Teamer vor allen Dingen unauffällig agieren möchten, erlaubt Sn1per auch die Nutzung eines sogenannten Stealth-Modus mit den Argumenten "-m stealth". Im Discover-Modus sucht das Tool einen ganzen Netzbereich nach potenziellen Hosts ab. Starten Sie diesen mit sniper -t 192.168.1.0/24 -m discover für den privaten Netzbereich 192.168.1.0/24.
Stehen bei Ihnen hingegen Webserver im Fokus, teilen Sie dies Sn1per mit den Argumenten "-m web" mit, sodass ausschließlich die HTTP-Ports 80 und 443 getestet werden. Weniger unauffällig sind die Testmodi Bruteforce mit "-b" und Airstrike mit "-m airstrike". Letzterem müssen Sie die Ziele über das Argument "-f" mitgeben, mit jeweils einem zu scannenden System pro Zeile.
Die erfolgreiche Initialisierung von Sn1per.
Ergebnisse verarbeiten
Um jetzt (teil-)automatisiert Scans Ihrer Infrastruktur anzufertigen, können Sie die Aufrufe einfach aus einem Skript heraus erledigen und dieses dann etwa mit einem Cron-Dienst regelmäßig durchführen. Die Auswertung der Ergebnisse müssen Sie in der Community-Version etwas improvisieren, da sie keine mitgelieferte Weboberfläche besitzt. Zum Teil erhalten die Ergebnisse direkt HTML, sodass sich diese im Webbrowser anzeigen lassen. Zur Automatisierung sollten Sie die Ausgabedateien mit einem Logprozessor oder etwa einer einfachen Suche mit grep analysieren und bei Bedarf eine Warnung oder einen Fehler über entsprechende Monitoring-Kanäle versenden.
Fazit
Wenn Sie die eigene Infrastruktur testweise angreifen möchten, bietet Sn1per einen guten Einstieg und liefert bereits nach kurzer Zeit Ergebnisse. Der Open-Source-Tipp hat Ihnen dafür das Setup des Tools und die Kommandos für einen ersten Security-Scan gezeigt.