Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
AzureHunter — Ein Cloud-Forensics-PowerShell-Modul zur Ausführung von Threat-Hunting-Playbooks auf Daten aus Azure und O365. | Kitploit
Tools/GitHubGitHub/darkquasar/azurehunter
InformationsbeschaffungDigitale ForensikCloud-SicherheitBedrohungsanalyseIncident ResponseLog-Analyse
GitHubdarkquasar/azurehunter

AzureHunter

Ein Cloud-Forensics-PowerShell-Modul zur Ausführung von Threat-Hunting-Playbooks auf Daten aus Azure und O365.

Repository anzeigen
79584vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

azurehunter-logo

Ein PowerShell-Modul zum Ausführen von Bedrohungsjagd-Playbooks auf Daten von Azure und O365 für Cloud-Forensik-Zwecke.

ko-fi

CI PS Gallery Coverage Status Documentation Status azurehunter-demo-gif

Erste Schritte

1. Überprüfen Sie, ob Sie die richtigen O365-Berechtigungen haben

Die folgenden Rollen sind in Exchange Online erforderlich, um schreibgeschützten Zugriff auf das UnifiedAuditLog zu haben: View-Only Audit Logs oder Audit Logs.

Diese Rollen werden standardmäßig der Rollengruppe Compliance Management im Exchange Admin Center zugewiesen.

HINWEIS: Wenn Sie ein Sicherheitsanalyst, ein Incident-Responder oder ein Threat Hunter sind und Ihre Organisation Ihnen keinen schreibgeschützten Zugriff auf diese Audit-Logs gewährt, sollten Sie deren Erkennungs- und Reaktionsstrategie ernsthaft hinterfragen!

Weitere Informationen:

  • So durchsuchen Sie das Audit-Log mit der GUI
  • Verwalten von Rollengruppen in Exchange Online
  • So aktivieren Sie das UnifiedAuditLog

HINWEIS: Ihr Administrator kann diese Anforderungen überprüfen, indem er Get-ManagementRoleEntry "*\Search-UnifiedAuditLog" in Ihrer Azure-Tenant-Cloud-Shell oder einer lokalen PowerShell-Instanz ausführt, die mit Azure verbunden ist.

2. Stellen Sie sicher, dass das PowerShell-Modul ExchangeOnlineManagement v2 installiert ist

Bitte stellen Sie sicher, dass ExchangeOnlineManagement (EXOv2) installiert ist. Anleitungen finden Sie im Internet oder direkt in meiner kleinen Wissensdatenbank unter the soc analyst scrolls

3. Klonen Sie entweder das Repo oder installieren Sie AzureHunter aus der PSGallery

3.1 Das Repo klonen

  1. Klonen Sie dieses Repository
  2. Importieren Sie das Modul: Import-Module .\source\AzureHunter.psd1

3.2 AzureHunter aus der PSGallery installieren

Alles, was Sie tun müssen, ist:

root@kitploit:~
Install-Module AzureHunter -Scope CurrentUser
Import-Module AzureHunter

Was ist das UnifiedAuditLog?

Das UnifiedAuditLog enthält Benutzer-, Gruppen-, Anwendungs-, Domänen- und Verzeichnisaktivitäten, die im Microsoft 365 Admin Center oder im Azure-Verwaltungsportal durchgeführt wurden. Eine vollständige Liste der Azure AD-Ereignisse finden Sie in der Liste der RecordTypes.

Das UnifiedAuditLog ist eine hervorragende Quelle für Cloud-Forensik-Informationen, da es eine Fülle von Daten zu verschiedenen Arten von Cloud-Operationen enthält, wie z. B. ExchangeItems, SharePoint, Azure AD, OneDrive, Data Governance, Data Loss Prevention, Windows Defender-Benachrichtigungen und Quarantäne-Ereignisse, Threat Intelligence-Ereignisse in Microsoft Defender für Office 365, und die Liste geht weiter und weiter!

Datenkonsistenzprüfungen von AzureHunter

AzureHunter implementiert nützliche Logik, um sicherzustellen, dass die höchste Logdichte aus den Azure- und O365-Audit-Logs abgebaut und exportiert wird. Dazu führen wir zwei verschiedene Operationen pro Zyklus (Batch) durch:

  1. Automatische Zeitfensterreduzierung: Diese Prüfung stellt sicher, dass das Zeitintervall auf das optimale Intervall basierend auf dem Parameter ResultSizeUpperThreshold reduziert wird, der standardmäßig 20k beträgt. Das bedeutet, wenn die Anzahl der zurückgegebenen Logs innerhalb Ihres festgelegten TimeInterval höher ist als ResultSizeUpperThreshold, erfolgt eine automatische Anpassung.
  2. Sequenzielle Datenprüfung: Sind die zurückgegebenen Record-Indizes sequenziell gültig?

azurehunter-logical-consistency-checks

Verwendung

Stellen Sie sicher, dass Sie eine Verbindung zu ExchangeOnline herstellen

Es wird empfohlen, Connect-ExchangeOnline auszuführen, bevor Sie AzureHunter-Befehle ausführen. Das Programm prüft auf eine aktive Remotesitzung und versucht, eine Verbindung herzustellen, aber einige PowerShell-Versionen erlauben dies nicht, und Sie müssen es trotzdem selbst tun.

AzureHunter ausführen

AzureHunter hat zwei Hauptbefehle: Search-AzureCloudUnifiedLog und Invoke-AzHunterPlaybook.

Der Zweck von Search-AzureCloudUnifiedLog besteht darin, eine komplexe Logik zu implementieren, um sicherzustellen, dass der höchste Prozentsatz der UnifiedAuditLog-Einträge aus Azure abgebaut wird. Standardmäßig werden extrahierte und deduplizierte Einträge in eine CSV-Datei exportiert.

Der Zweck von Invoke-AzHunterPlaybook besteht darin, eine flexible Schnittstelle zu Jagd-Playbooks bereitzustellen, die im Ordner playbooks gespeichert sind. Diese Playbooks sind so konzipiert, dass jeder mit eigenen Analysen und Ideen beitragen kann. Bisher wurden nur zwei sehr einfache Playbooks entwickelt: AzHunter.Playbook.Exporter und AzHunter.Playbook.LogonAnalyser. Der Exporter kümmert sich um den Export von Einträgen nach Anwendung von Deduplizierungs- und Sortieroperationen. Der LogonAnalyser befindet sich im Beta-Modus und extrahiert Ereignisse, bei denen die Eigenschaft Operations den Wert UserLoggedIn hat. Es ist ein Beispiel dafür, was mit den Playbooks möglich ist und wie einfach es ist, eines zu erstellen.

Wenn Sie Search-AzureCloudUnifiedLog ausführen, können Sie eine Liste von Playbooks übergeben, die pro Log-Batch ausgeführt werden sollen. Search-AzureCloudUnifiedLog übergibt den Batch über Invoke-AzHunterPlaybook an die Playbooks.

Schließlich kann Invoke-AzHunterPlaybook auch eigenständig verwendet werden. Wenn Sie einen Export von UnifiedAuditLog-Einträgen haben, können Sie diese in ein PowerShell-Array laden und an diesen Befehl übergeben sowie die entsprechenden Playbooks angeben.

Beispiel 1 | Suche im Azure UnifiedAuditLog ausführen und Einträge in eine CSV-Datei extrahieren (Standardverhalten)

root@kitploit:~
Search-AzureCloudUnifiedLog -StartDate "2020-03-06T10:00:00" -EndDate "2020-06-09T12:40:00" -TimeInterval 12 -AggregatedResultsFlushSize 5000 -Verbose

Dieser Befehl wird:

  • Daten zwischen den Daten in StartDate und EndDate durchsuchen
  • Ein Fenster von 12 Stunden zwischen diesen Daten implementieren, das verwendet wird, um die gesamte Länge des Zeitintervalls (StartDate --> EndDate) zu durchlaufen. Dieses Fenster wird automatisch reduziert und angepasst, um die maximale Anzahl von Einträgen innerhalb des Fensters zu liefern und so eine höhere Ausgabequalität sicherzustellen. Das Zeitfenster gleitet sequenziell, bis das EndDate erreicht ist.
  • Der Parameter AggregatedResultsFlushSize gibt die Batches von Einträgen an, die von nachgelagerten Playbooks verarbeitet werden. Wir teilen AzureHunter hier mit, den Batch von Einträgen zu verarbeiten, sobald die Gesamtanzahl 5000 erreicht. Auf diese Weise können Sie Ergebnisse im laufenden Betrieb erhalten, ohne stundenlang warten zu müssen, bis eine große Spanne von Einträgen in CSV-Dateien exportiert wird.

Beispiel 2 | Jagd-Playbooks auf einer CSV-Datei ausführen

Wir gehen davon aus, dass Sie UnifiedAuditLog-Einträge in eine CSV-Datei exportiert haben. Dann können Sie Folgendes tun:

root@kitploit:~
$RecordArray = Import-Csv .\my-exported-records.csv
Invoke-AzHunterPlaybook -Records $RecordArray -Playbooks 'AzHunter.Playbook.UAL.LogonAnalyser'

Sie können mehr als ein Playbook ausführen, indem Sie sie durch Kommas trennen; sie werden sequenziell ausgeführt:

root@kitploit:~
$RecordArray = Import-Csv .\my-exported-records.csv
Invoke-AzHunterPlaybook -Records $RecordArray -Playbooks 'AzHunter.Playbook.UAL.Exporter', 'AzHunter.Playbook.UAL.LogonAnalyser'

Beispiel 3 | Jagd-Playbook ausführen, um einen sauberen eDiscovery-Zusammenfassungsbericht zu erstellen

Wir gehen davon aus, dass Sie einen eDiscovery-Zusammenfassungsbericht in eine CSV-Datei exportiert haben. Dann können Sie Folgendes tun:

root@kitploit:~
$eDiscoReportFile = .\eDisco-Summary-Report-PersonOfInterest.csv
Invoke-AzHunterPlaybook -Records $eDiscoReportFile -Playbooks 'AzHunter.Playbook.eDisco.SummaryReportCleaner'

Optional können wir dem Playbook Parameter wie folgt übergeben:

root@kitploit:~
$eDiscoReportFile = .\eDisco-Summary-Report-PersonOfInterest.csv
Invoke-AzHunterPlaybook -Records $eDiscoReportFile -Playbooks 'AzHunter.Playbook.eDisco.SummaryReportCleaner' -PlayBookParameters @{"CsvRecordsBatchSize" = 700}

Der Parameter "CsvRecordsBatchSize" teilt dem Playbook mit, Einträge in Batches von 700 Einträgen auf die Festplatte zu schreiben.

Warum?

Seit den Folgen der SolarWinds Supply Chain Compromise sind viele Tools aus den tiefen Schmieden von Cyber-Forensikern hervorgegangen, die sorgfältig von Cyber-Blacksmith-Ninjas entwickelt wurden. Diese Tools helfen Ihnen in der Regel bei der Cloud-Forensik in Azure. Meine Absicht mit AzureHunter ist es nicht, diesem überfüllten Bereich noch mehr Lärm hinzuzufügen. Allerdings sah ich mich in der Notwendigkeit, einige Lücken zu schließen, die ich in einigen der Tools in diesem Bereich beobachtet habe (ich könnte mich jedoch irren, da es eine Vielzahl von Tools gibt und ich nicht alle kenne...):

  1. Azure-Cloud-Forensik-Tools adressieren in der Regel nicht die Komplikationen der PowerShell-API für das UnifiedAuditLog. Diese API ist sehr instabil und inkonsistent beim Export großer Datenmengen. Ich wollte eine Schnittstelle entwickeln, die ausfallsicher (genug) ist, um einige dieser Probleme zu adressieren, wobei ich mich ausschließlich auf das UnifiedAuditLog konzentriere, da dies das Azure-Artefakt ist, das die relevantesten und detailliertesten Aktivitätsprotokolle für Benutzer, Anwendungen und Dienste enthält.
  2. Azure-Cloud-Forensik-Tools legen in der Regel keinen Schwerpunkt auf die Entwicklung erweiterbarer Playbooks. Ich wollte ein einfaches Framework entwickeln, das der Community hilft, neue Playbooks zu erstellen und zu teilen, um verschiedene Bedeutungen aus denselben Daten zu extrahieren.

Wenn Sie jedoch nach einer funktionsreicheren und ausgereifteren Anwendung für Azure Cloud Forensics suchen, empfehle ich Ihnen, die hervorragende Arbeit der Cybersicherheitsexperten zu prüfen, die die folgenden Anwendungen erstellt haben:

  • CISA's Sparrow
  • HAWK
  • CrowdStrike Reporting Tool for Azure CRT

Ich bin mir sicher, dass es eine umfangreichere Liste von Tools gibt, aber dies sind die, die mir eingefallen sind. Fühlen Sie sich frei, weitere vorzuschlagen.

Warum PowerShell?

  1. Ich wollte das Rad nicht neu erfinden
  2. Ja, die PowerShell-Schnittstelle zum Azure UnifiedAuditLog ist instabil, aber in Bezug auf die Zeit bis zur Produktion hätte es unendlich viele Stunden gedauert, dasselbe zu erreichen, indem ich eine völlig neue Schnittstelle in Sprachen wie .NET, Golang oder Python geschrieben hätte, um dieselben Ziele zu erreichen. In der Zwischenzeit wartet die Welt der Cyber-Abwehr und -Reaktion nicht!

TODO

  • Standard-Playbook-Metadatenattribute festlegen, die vorhanden sein müssen, damit AzureHunter sie nutzen kann.
  • Ermöglichen, dass Playbooks Abhängigkeiten von anderen Playbooks angeben, sodass eines vor dem anderen ausgeführt werden muss. Playbook-Verkettung könnte interessante Ergebnisse liefern und Code-Duplizierung vermeiden.
  • Pester-Tests und Coveralls-Ergebnisse entwickeln.
  • Dokumentation in ReadTheDocs entwickeln.
  • Ermöglichen der Angabe von Playbooks im SIGMA-Regelstandard (dies könnte einige PRs im SIGMA-Repo erfordern)

Weitere Informationen

Für weitere Informationen

  • AzureHunter.readthedocs.io
  • github.com/darkquasar/AzureHunter
  • ThreatHunterz.com

Danksagungen & Unterstützer

Vielen Dank an alle Menschen, die dieses und andere Open-Source-Projekte unterstützen! Sie helfen Leuten wie mir, den Weg des Cyberkriegers zu gehen und der Gemeinschaft qualitativ hochwertige Werkzeuge zu liefern :)

Credits

  • Icon erstellt von itim2101 von www.flaticon.com
Tool herunterladen