Bereitstellung von Azure Pipelines zum Erstellen einer Infrastruktur und zum Ausführen atomarer Tests



Mit der rasant zunehmenden Vielfalt an Angriffstechniken und einer gleichzeitig steigenden Anzahl von Erkennungsregeln, die von EDRs (Endpoint Detection and Response) und individuell erstellten Erkennungsregeln angeboten werden, ist die Notwendigkeit einer ständigen Funktionsprüfung der Erkennungsregeln offensichtlich geworden. Allerdings ist die manuelle erneute Ausführung dieser Angriffe und deren Vergleich mit Erkennungsregeln eine arbeitsintensive Aufgabe, die es zu automatisieren lohnt.

Um dieser Herausforderung zu begegnen, habe ich „PurpleKeep“ entwickelt, eine Open-Source-Initiative, die das erleichtern soll automatisiertes Testen von Erkennungsregeln. Nutzung der Fähigkeiten des Atomic Red Team-Projekt wodurch es möglich ist, nachfolgende Angriffe zu simulieren MITRE TTPs (Taktiken, Techniken und Verfahren). PurpleKeep verbessert die Simulation dieser TTPs, um als Ausgangspunkt dafür zu dienen Auswertung der Wirksamkeit von Erkennungsregeln.

Die Automatisierung des Simulationsprozesses eines oder mehrerer TTPs in einer Testumgebung bringt bestimmte Herausforderungen mit sich, darunter die Kontamination der Plattform nach mehreren Simulationen. PurpleKeep möchte diese Hürde jedoch überwinden, indem es den Simulationsprozess rationalisiert und die Erstellung erleichtert Instrumentierung der Zielplattform.

PurpleKeep wurde in erster Linie als Proof-of-Concept entwickelt und dient als End-to-End-Plattform zur Validierung von Erkennungsregeln, die auf eine Azure-basierte Umgebung zugeschnitten ist. Es wurde in Kombination mit der automatischen Bereitstellung von Microsoft Defender für Endpoint als bevorzugte EDR-Lösung getestet. PurpleKeep bietet außerdem Unterstützung für Sicherheits- und Prüfrichtlinienkonfigurationen, sodass Benutzer die gewünschte Endpunktumgebung nachahmen können.

Um die Analyse und Überwachung zu erleichtern, lässt sich PurpleKeep in die Dienste Azure Monitor und Log Analytics integrieren, um die Simulationsprotokolle zu speichern und eine weitere Korrelation mit allen auf derselben Plattform gespeicherten Ereignissen und/oder Warnungen zu ermöglichen.

TLDR: PurpleKeep bietet eine Angriffssimulationsplattform, die als Ausgangspunkt für die Validierung Ihrer End-to-End-Erkennungsregeln in einer Azure-basierten Umgebung dient.

Anforderungen

Das Projekt basiert auf Azure Pipelines und erfordert zur Ausführung Folgendes:

Optional

Sie können eine Sicherheits- und/oder Prüfrichtliniendatei bereitstellen, die geladen wird, um Ihre Datei nachzuahmen Gruppenrichtlinie Konfigurationen. Verwenden Sie die Option „Sichere Datei“ der Bibliothek in Azure DevOps, um sie für Ihre Pipelines zugänglich zu machen.

Siehe die Variablen Datei für Ihre konfigurierbaren Artikel.

Design

Infrastruktur

Bereitstellen der Infrastruktur verwendet die Azure Pipeline, um die folgenden Schritte auszuführen:

  • Stellen Sie Azure-Dienste bereit:
    • Schlüsseltresor
    • Log Analytics-Arbeitsbereich
    • Datenverbindungsendpunkt
    • Datenverbindungsregel
  • Generieren Sie ein SSH-Schlüsselpaar und ein Kennwort für das Windows-Konto und speichern Sie es im Key Vault
  • Erstellen Sie eine Windows 11-VM
  • Installieren Sie OpenSSH
  • Konfigurieren Sie den öffentlichen SSH-Schlüssel und stellen Sie ihn bereit
  • Installieren Sie Invoke-AtomicRedTeam
  • Installieren Sie Microsoft Defender für Endpoint und konfigurieren Sie Ausnahmen
  • (Optional) Wenden Sie Sicherheits- und/oder Überwachungsrichtliniendateien an
  • Neustart

Simulation

Derzeit werden nur die Atomics aus dem öffentlichen Repository unterstützt. Die Pipelines benötigen eine Technik-ID als Eingabe oder eine durch Kommas getrennte Liste von Techniken, zum Beispiel:

  • T1059.003
  • T1027, T1049, T1003

Die Protokolle der Simulation werden in die Tabelle AtomicLogs_CL des Log Analytics Workspace aufgenommen.

Derzeit gibt es zwei Möglichkeiten, die Simulation auszuführen:

Rotierende Simulation

Diese Pipeline stellt nach der Simulation jedes TTP eine neue Plattform bereit. Der Log Analytic-Arbeitsbereich verwaltet die Protokolle jedes Laufs.

Warnung: Dadurch wird eine große Anzahl von Hosts in Ihren EDR integriert

Simulation einer einzelnen Bereitstellung

Eine neue Infrastruktur wird erst zu Beginn der Pipeline bereitgestellt. Alle TTPs werden auf dieser Instanz simuliert. Dies ist der schnellste Weg zur Simulation und verhindert das Onboarding einer großen Anzahl von Geräten. Die Ausführung vieler Simulationen in derselben Umgebung birgt jedoch das Risiko, dass die Umgebung verunreinigt wird und die Simulationen weniger stabil und vorhersehbar werden.

MACHEN

Haben müssen

  • Überprüfen Sie, ob die Voraussetzungen erfüllt sind, bevor Sie das Atomic ausführen
  • Bieten Sie die Möglichkeit, eigene Gruppenrichtlinien zu importieren
  • Bizeps und Pipelines mithilfe einer Master-Vorlage bereinigen (vollständiger Build)
  • Erstellen Sie eine Pipeline, die die Technik nacheinander mit dazwischen liegenden Neustarts ausführt
  • Fügen Sie Azure ServiceConnection zu Variablen anstelle von Parametern hinzu

Schön zu haben

  • MDE-Offboarding (?)
  • AD-Domäne automatisch beitreten und verlassen
  • Machen Sie das Atomics-Repository konfigurierbar
  • Stellen Sie VECTR als Teil der Infrastruktur bereit und erfassen Sie Ergebnisse während der Simulation. Siehe auch die Problem mit der VECTR-API
  • Optimieren Sie den Warnungs-API-Aufruf an Microsoft Defender für Endpunkt (Microsoft.Security AlertsSuppressionRules).
  • Fügen Sie eine C2-Infrastruktur für manuelle oder C2-basierte Simulationen hinzu

Probleme

  • Atomics kehren nicht zurück, ob eine Simulation erfolgreich war oder nicht
  • Unzuverlässiges OpenSSH-Erweiterungsinstallationsprogramm schlägt bei der Infrastrukturbereitstellung fehl
  • Eingebundene Geräte im EDR spammen

Verweise



Source link

Loading...