MITRE ATT&CK ATT&CK ist der De-facto-Rahmen für Organisationen zur Messung ihrer Verteidigungsfähigkeit. ATT&CK bietet kategorische Brancheneinteilungen in Form von Taktik, Diese entsprechen den gängigen Methoden von Angreifern. Innerhalb dieser Bereiche gibt es eine Reihe (und Untergruppen) von gängigen Vorgehensweisen, mit denen Angreifer eine Taktik (einen bestimmten Bereich) umsetzen. Diese werden als … bezeichnet. Techniken.
Manche Techniken sind auf mehreren Betriebssystemen üblich. Dies führt in der Regel zu einer weit gefassten Definition einer Technik. Für uns als Verteidiger bedeutet das, dass wir verstehen müssen, wie eine einzelne Technik auf verschiedenen Plattformen implementiert werden kann – was für viele, mich eingeschlossen, schwierig sein kann. Glücklicherweise haben Organisationen wie Red Canary unserer Community ein umfassendes Framework zur Verfügung gestellt, das beim Testen dieser Techniken hilft.
Red Canary hat das Atomic Red Team als Open Source veröffentlicht. Vor einigen Jahren wurde ein Projekt ins Leben gerufen, um die Sicherheitscommunity durch die Bereitstellung von Atomics (Tests) zu unterstützen, die dem MITRE ATT&CK-Framework zugeordnet sind. Jeder Atomic ist einer spezifischen Technik innerhalb von ATT&CK zugeordnet und bietet einen oder mehrere Tests, die auf einem System ausgeführt werden können. Diese Atomics dienen dazu, die Vorgehensweise eines Angreifers bei der Nutzung einer bestimmten Technik in Ihrer Umgebung zu simulieren.
Red Canary stellt nicht nur eine Reihe ausführbarer Tests bereit, sondern auch verschiedene Ausführungsframeworks, mit denen diese Tests ausgeführt werden können. Diese Frameworks sind in Python, PowerShell (Core) und Ruby geschrieben, wobei das PowerShell (Core)-Framework mit Abstand das aktuellste (und aktivste) ist. Nebenbei bemerkt:, Ich habe das PowerShell-Framework im September 2018 neu geschrieben., Aber seitdem hat es viele Veränderungen gegeben.
Die Idee ist, dass man mithilfe eines der Ausführungsframeworks einen oder mehrere atomare Tests an einem System durchführt. Daraufhin würden EDR, SIEM usw. Warnungen/Erkennungen auslösen und die Effektivität bestimmter Techniken in der jeweiligen Umgebung messen. Dies hat sich jedoch als schwieriger, mühsamer und zeitaufwändiger manueller Prozess erwiesen.
Als langjähriger Fan von Red Canary und ihrem Atomic Red Team-Projekt hatte ich mir zwei Hauptziele gesetzt:
- Um Tests remote über verschiedene Betriebssystemtypen hinweg mit einem einzigen Framework auszuführen.
- Um Erkennungen/Warnungen mit atomaren Tests innerhalb einer Umgebung zu verknüpfen.
Kürzlich habe ich einen Vortrag darüber gehalten, wie ich diese Ziele mithilfe von Swimlane SOAR erreichen konnte.. Darüber hinaus wollte ich der Sicherheits-Community etwas zurückgeben, indem ich eine Komponente dieses Anwendungsfalls als Open Source veröffentlichte.
Anwendungsfall

Der Hauptanwendungsfall besteht aus mehreren Anwendungen innerhalb eines einzigen Arbeitsbereichs. Ich konnte Atomic Red Team Atomics in einen einzelnen Datensatz innerhalb eines solchen Arbeitsbereichs extrahieren. Atomics Anwendung. Wie bereits erwähnt, kann jede Atomic-Anwendung mehrere zugehörige Tests haben, und diese Tests müssen nicht für einen einzigen Betriebssystemtyp gelten. Daher habe ich eine zweite Anwendung erstellt namens Atomtests, Dieser Datensatz enthält die Details zu jedem Test und ist mit dem übergeordneten Atomics-Datensatz verknüpft.

Der wichtigste Einstiegspunkt für einen Analysten ist der Gastgeber Die Host-Anwendung enthält Informationen über einen Host, auf dem Sie einen Test durchführen möchten. Ein Analyst erstellt einen Datensatz und gibt (mindestens) einen Namen, eine Adresse (IP oder DNS) und den Betriebssystemtyp an. Sobald dieser neue Datensatz erstellt ist, wird er automatisch aktualisiert. Gastgeber Nachdem der Datensatz gespeichert wurde, muss der Analyst auswählen, welche Tests er ausführen möchte. Dies geschieht mithilfe eines Referenzdatensatzes. Atomtests Anwendung. Sobald sie Tests hinzugefügt haben, können sie einen oder mehrere Tests ausführen, die mit dem Datensatz verknüpft sind.
Ruder
Sie fragen sich vielleicht: “Wie sollen diese Tests remote durchgeführt werden?” Nun, ich möchte Ihnen ein neues Open-Source-Tool vorstellen: Ruder. Ruder ist ein Python-Paket, das Befehle remote unter Windows, macOS oder *nix ausführt und plattformübergreifend ist.
Um zu verwenden Ruder, Sie müssen ihm Anmeldeinformationen bereitstellen, die entweder PowerShell Remoting/WinRM (Windows Remote Management) oder SSH auf dem vorgesehenen Host nutzen können.

Sobald Sie innerhalb unseres Systems Ihre Zugangsdaten angegeben haben Keystore, Mit Swimlane können Sie Tests auf mehreren Hosts und Betriebssystemen ausführen. Für jeden Testlauf auf einem Host erstellen wir einen Verlaufsdatensatz in einer anderen Anwendung namens „Swimlane“. Testverlauf. Diese Anwendung speichert Protokolle aller auf einem Host durchgeführten Tests sowie die jeweilige Systemantwort. Jeder dieser Tests wird dem Host zugeordnet, auf dem er ausgeführt wurde, und liefert so historische Kontextinformationen.
Sobald ein einzelner Test auf einem Host durchgeführt wurde, suchen wir umgehend nach eingehenden Warnungen/Erkennungen, die unserem Test ähneln. Dazu analysieren wir die bereitgestellten Anwendungen und die zu überwachenden Felder. Bei der Auswertung berücksichtigen wir außerdem die folgenden Datenpunkte (alle lassen sich problemlos an die Bedürfnisse Ihres Unternehmens anpassen):
- Zeitstempelvergleich
- Die Startzeiten für die Suche basieren auf dem Zeitstempel, zu dem der Test auf dem Host aufgerufen wurde.
- Die Enddauer ist konfigurierbar, standardmäßig haben wir sie jedoch auf 3 Stunden festgelegt, da der Test bereits durchgeführt wurde.
- Adressvergleich
- Wir prüfen die angegebenen Felder und kontrollieren, ob der Name/die Adresse des Alarmhosts mit der Adresse übereinstimmt, auf der der Test ausgeführt wurde.
- Ausführungsvergleich
- Normalisierung der Details von Atomic-Tests und -Warnungen
- Kleinbuchstaben
- Entferne Zeichen (z. B. |, \\, etc.).
- Vergleiche zwei Befehlslisten, um die prozentuale Differenz zwischen ähnlichen Zeichenketten und Werten zu ermitteln.
- Optional:
- Wir haben die Möglichkeit zur Verwendung von Levenstein-Distanzberechnungen und SSDeep-Hash-Vergleichen bereitgestellt, diese sind jedoch aufwändig und eignen sich besser für ähnliche Quell- und Zielwerte.
- Normalisierung der Details von Atomic-Tests und -Warnungen
Sobald ein Vergleich durchgeführt wurde und wir festgestellt haben, dass eine Warnung/Erkennung unserem Test ähnelt, ordnen wir diesen Warnungsdatensatz unserem einzelnen Testverlaufsdatensatz zu. An diesem Punkt erstellen wir entweder einen neuen Datensatz oder verknüpfen unseren Testverlaufsdatensatz mit einer anderen Anwendung namens „Testhistorie“. Heatmap-Aufzeichnungen.

A Heatmap-Aufzeichnung Dieses System dient dazu, Daten über unsere Fähigkeit, bestimmte Techniken in unseren Tests zu erkennen (oder nicht zu erkennen), zu erfassen, zu berichten und anzuzeigen. Wurde ein Test durchgeführt und keine Warnung ausgegeben, erfassen wir dieses Ereignis zwar dennoch, unsere Berichterstattung unterscheidet sich jedoch von derjenigen, die sich ergibt, wenn wir eine Technik in allen bisherigen Tests korrekt erkennen konnten.
Sobald diese Datensätze erstellt oder ein Testverlaufsdatensatz mit einer Technik verknüpft ist, können wir visuell erkennen, wo wir in der Lage sind, schädliche Aktivitäten zu erkennen und wo wir noch Verbesserungspotenzial haben.

Oben sehen Sie ein Bild des Swimlane MITRE ATT&CK Dashboard-Widgets. Dieses Dashboard bezieht seine Daten aus unserem System. Heatmap-Aufzeichnungen und wird dynamisch angezeigt. Wenn ein Rasterfeld keine Farbe hat, bedeutet dies, dass wir diese spezifische Technik noch nicht getestet haben. Ein dunkleres Blau bedeutet, dass wir mindestens einen Test durchgeführt und die Technik erkannt haben. Mit zunehmender Anzahl an Tests und Erkennungen hellt sich die Farbe zu einem hellen Türkisblau auf. Unter Windows. Wenn ein Test durchgeführt wurde und kein Nachweis erbracht wurde, wird diese Technik rot markiert.
Durch die Verwendung Red Canarys Atomic Red Team Mit Swimlane SOAR können Sie Ihre ATT&CK-Tests automatisieren und gleichzeitig Einblick in Ihre Erkennungsfähigkeiten und -lücken gewinnen. Manuelles Testen, Überprüfen und Korrelieren gehören der Vergangenheit an. In diesem Anwendungsfall können Sie Lücken schnell identifizieren und innerhalb weniger Minuten mit erneuten Tests beginnen.

