Skip to content

Dieses Tool ist weder mit der Microsoft Corporation verbunden noch von ihr unterstützt oder gesponsert. Azure, Microsoft Azure und Microsoft Defender for Cloud sind Marken der Microsoft-Unternehmensgruppe. Andere Namen sind Marken ihrer jeweiligen Inhaber.

Activity Log · Key Vault · Storage · NSG / VNet

Wurde Ihr Azure-Abonnement kompromittiert?

Legen Sie Ihr Activity Log ab (und Key-Vault-, Storage- sowie NSG- / VNet-Flow-Logs): Sie erhalten ein Urteil, die Zeitleiste des Angriffs und was zu beheben ist. Analyse im Browser mit WebAssembly — nichts wird hochgeladen.

Azure-Log-Exporte hier ablegen

Activity Log (Portal-CSV, az-CLI- / REST-JSON, Log Analytics, Export in ein Speicherkonto), Key-Vault-AuditEvent, StorageBlobLogs, NSG- / VNet-Flow-Logs, Defender-for-Cloud-Warnungen. Ordner, ZIP-Archive und .gz-Dateien funktionieren direkt.

Beispiel: ein fiktives Unternehmen und ein fiktiver Vorfall — synthetische Logs in den echten Exportformaten.

Noch nie Azure-Logs exportiert? So geht's

100 % lokal: Die Logs werden per WebAssembly in Ihrem Browser analysiert und nie hochgeladen.

So kommen Sie an Ihre Logs

In etwa zwei Minuten von null zum Ergebnis: einen Befehl in Azure Cloud Shell ausführen, das ZIP herunterladen, hier ablegen.

  1. SammelnEin Befehl in Cloud Shell oder ein Download im Portal
  2. Datei, Ordner oder ZIP hier ablegenJSON, CSV, .gz, Ordner und ZIPs wie exportiert
  3. Alles bleibt in Ihrem BrowserPer WebAssembly analysiert, nie hochgeladen

Azure-Portal → Cloud Shell (Bash). Rolle „Leser“ (Reader) auf den Abonnements. Keine Installation nötig.

1. Aktivitätsprotokoll aller Abonnements, letzte 30 Tage

mkdir -p ~/triage && cd ~/triage && for s in $(az account list --query "[?state=='Enabled'].id" -o tsv); do az monitor activity-log list --subscription "$s" --offset 30d --max-events 100000 -o json > "activity-$s.json"; done

Ändern Sie 30d so, dass der Vorfall plus eine Woche davor abgedeckt ist (das Aktivitätsprotokoll wird 90 Tage aufbewahrt).

2. Defender for Cloud-Warnungen (optional, aktuelles Abonnement)

az rest --method get --url "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts?api-version=2022-01-01" -o json > ~/triage/defender-alerts.json

3. Alles zippen

cd ~ && zip -qr azure-logs.zip triage

Dann in der Cloud Shell-Leiste: Dateien verwalten → Herunterladen → azure-logs.zip, und das ZIP hier ablegen.

Stolperfallen

  • Gefunden wird nur, was protokolliert wurde: Das Aktivitätsprotokoll hält 90 Tage, Key Vault-, Speicher- und Flow-Logs gibt es nur, wenn vor dem Vorfall eine Diagnoseeinstellung aktiv war. Nehmen Sie eine Woche vor dem vermuteten Beginn mit: First-Seen-Regeln lernen aus den ersten 72 Stunden.
  • Das > von Windows PowerShell schreibt UTF-16, das übersprungen wird: Führen Sie die Befehle in Cloud Shell (Bash) aus. Öffnen und speichern Sie ein Log nie in Excel.
  • Exporte können unbemerkt unvollständig sein: az monitor activity-log list liefert ohne --max-events nur 50 Ereignisse, az rest nur die erste Seite, und die Portal-CSV verliert die Aufrufer-IP. Prüfen Sie ersten und letzten Zeitstempel.

Was dieses Tool macht

Azure Forensics ist eine kostenlose Erst-Triage bei Verdacht auf eine Azure-Kompromittierung. Es liest die Logs, die Sie aus Ihrem Abonnement exportieren, und beantwortet eine Frage: Gibt es Spuren eines Angriffs in der Steuerungsebene (Azure Resource Manager) oder der Datenebene (Key-Vault-Geheimnisse, Storage-Blobs, Netzwerkflüsse)?

Alles geschieht in Ihrem Browser: Ein in WebAssembly kompilierter Rust-Analyzer liest Ihre Dateien als Stream in einem Web Worker. Nichts wird hochgeladen — Sie können es also auch mit sensiblen Produktions-Logs nutzen.

Unterstützte Logs

  • Activity Log — jeder Schreib-, Lösch- und Aktionsvorgang über Azure Resource Manager: Rollenzuweisungen, Run Command, SAS-Erzeugung, Diagnoseeinstellungen… Portal-CSV, az-CLI- / REST-JSON, Log Analytics AzureActivity (CSV oder JSON) oder der Export in ein Speicherkonto / Event Hubs (insights-activity-logs).
  • Key-Vault-AuditEvent-Logs — wer welches Geheimnis, welchen Schlüssel oder welches Zertifikat von welcher IP gelesen hat (insights-logs-auditevent oder AzureDiagnostics in Log Analytics).
  • Storage-Blob-Logs (StorageRead / StorageWrite / StorageDelete, StorageBlobLogs) — Datenzugriffe, einschließlich SAS- und anonymer Downloads.
  • NSG-Flow-Logs (v1, v2) und VNet-Flow-Logs — Netzwerkverbindungen, zusammengefasst nach Quelle, Ziel und Port.
  • Defender-for-Cloud-Warnungen (REST- / JSON-Export oder SecurityAlert aus Log Analytics).

So entsteht das Urteil

Jede Erkennung ist eine Regel in einer prüfbaren JSON-Datei (an Sigma angelehnt): Einzelereignisse (Run Command, gelöschte Diagnoseeinstellung…), Schwellenwerte (Massendownload von Blobs, Aufzählung von Geheimnissen) und Erstauftreten-Regeln, die in den ersten 72 Stunden Ihrer Logs lernen, was normal ist (neue IP eines Dienstprinzipals, neuer Prinzipal liest einen Tresor, neue Region).

Kompromittiert: mindestens zwei Befunde mit hohem Schweregrad (oder einer kritisch). Verdächtig: mindestens ein mittlerer oder hoher Befund. Unauffällig: nichts über niedrig — das heißt nur, dass in den bereitgestellten Logs nichts angeschlagen hat.

Befunde werden MITRE-ATT&CK-Techniken zugeordnet, mit den beteiligten Prinzipalen, IPs und Ressourcen verknüpft und mit einer Behebungs-Checkliste auf eine Vorfall-Zeitleiste gesetzt.

Erkennungen

Die mitgelieferten Regeln. Die Regel-IDs sind stabil, Sie können sie also in Ihren Berichten zitieren.

RegelErkenntSchweregradMITRE ATT&CK
AZ-RBAC-001Privilegierte Rolle zugewiesenOwner, User Access Administrator oder RBAC Administrator wurde vergeben: dieser Prinzipal kann nun beliebigen Personen Zugriff gewähren.MittelT1098.003
AZ-RBAC-002Nicht-menschliche Identität mit privilegierter RolleEin Dienstprinzipal oder eine verwaltete Identität hat Owner, Contributor oder eine Zugriffsverwaltungsrolle vergeben — typisch für ein gestohlenes App-Geheimnis.HochT1098.003
AZ-RBAC-003Prinzipal weist sich selbst eine Rolle zuDer Aufrufer der Rollenzuweisung ist zugleich ihr Empfänger: eine klassische Rechteausweitung.HochT1098.003
AZ-RBAC-004Zugriff auf alle Abonnements erhöhtEin Globaler Administrator hat mit elevateAccess die Rolle User Access Administrator auf Stammebene (/) erhalten.HochT1078.004, T1098.003
AZ-VM-001Befehl auf einer VM ausgeführt (Run Command)Run Command führt Skripte als SYSTEM / root über den VM-Agent aus — ganz ohne Netzwerkzugriff auf die VM.HochT1651
AZ-VM-002Custom Script Extension bereitgestelltDie Erweiterung lädt ein Skript herunter und führt es auf der VM aus.HochT1651
AZ-VM-003Verbindung zur seriellen KonsoleInteraktiver Zugriff auf die VM, der Netzwerkkontrollen umgeht.MittelT1651
AZ-VM-004VM in einer nie genutzten Region erstelltNeue Region gegenüber der Lernphase: ein häufiges Zeichen für Krypto-Mining.MittelT1496, T1578.002
AZ-VM-005Datenträger oder Snapshot exportiertbeginGetAccess liefert eine Download-URL für einen ganzen Datenträger.HochT1537, T1578.001
AZ-VM-006Datenträger-Snapshot erstelltOft der erste Schritt, um einen Datenträger aus dem Abonnement zu kopieren.NiedrigT1578.001
AZ-KV-001Key Vault von neuem Prinzipal gelesenEin Prinzipal hat Geheimnisse, Schlüssel oder Zertifikate aus einem Tresor gelesen, auf den er in der Lernphase nie zugegriffen hat.HochT1555.006
AZ-KV-002Key-Vault-Geheimnisse aufgezähltEin Prinzipal hat innerhalb einer Stunde viele verschiedene Geheimnisse aus einem Tresor gelesen.HochT1555.006
AZ-KV-003Key-Vault-Zugriffsrichtlinie geändertZugriffsrichtlinien gewähren Zugriff auf Geheimnisse, Schlüssel und Zertifikate.MittelT1098
AZ-KV-004Key-Vault-Schutz geschwächt oder Objekte endgültig gelöschtVorläufiges Löschen oder Löschschutz deaktiviert, oder Objekte endgültig gelöscht.HochT1485, T1562
AZ-ST-001Storage-SAS-Token erzeugtEin Konto- / Dienst-SAS ist ein Bearer-Token, das bis zum Ablauf von überall funktioniert.HochT1528, T1530
AZ-ST-002Speicherkontoschlüssel abgerufenKontoschlüssel geben vollen Zugriff auf die Daten des Kontos.NiedrigT1552
AZ-ST-003Anonymer Blobzugriff aktiviertDas Konto oder ein Container liefert Blobs nun ohne Authentifizierung aus.HochT1530
AZ-ST-004Storage-Firewall geöffnetDie Netzwerkregeln akzeptieren nun Verbindungen aus allen Netzwerken.MittelT1562.007
AZ-ST-005Massendownload von BlobsEine Identität hat innerhalb einer Stunde von einer IP aus viele verschiedene Blobs heruntergeladen.HochT1530, T1567
AZ-ST-006Anonyme Blob-LesezugriffeBlobs wurden ganz ohne Authentifizierung heruntergeladen.MittelT1530
AZ-DE-001Diagnoseeinstellung gelöschtEine Ressource (Key Vault, Storage, NSG…) sendet keine Logs mehr.HochT1562.008
AZ-DE-002Export des Activity Log entferntDas Abonnement exportiert sein Activity Log nicht mehr.HochT1562.008
AZ-DE-003Defender-for-Cloud-Plan deaktiviertEin Defender-Plan wurde auf den Free-Tarif zurückgesetzt.HochT1562.001
AZ-DE-004Ressourcensperre entferntSperren schützen Ressourcen vor Löschen oder Ändern.MittelT1562
AZ-DE-005NSG-Regel zum Internet geöffnetEine eingehende Zulassungsregel für jede Quelle / Internet wurde erstellt.MittelT1562.007
AZ-PER-001Automation-Runbook oder -Webhook erstelltRunbooks führen Code mit der (oft privilegierten) Identität des Automation-Kontos aus.MittelT1648
AZ-PER-002Logic App oder Function geändertServerless-Code kann Zugriff sichern und mit einer verwalteten Identität laufen.NiedrigT1648
AZ-PER-003Verbundanmeldeinformation zu verwalteter Identität hinzugefügtEin externer Identitätsanbieter kann nun Token für diese Identität erhalten.HochT1098.001
AZ-ID-001Dienstprinzipal von neuer IP verwendetEine Anwendungsidentität hat Azure von einer in der Lernphase nie gesehenen IP aufgerufen.MittelT1078.004
AZ-ID-002Token einer verwalteten Identität von neuer IP verwendetDie Identität einer VM oder App wurde von anderswo genutzt: ihr Token wurde vermutlich gestohlen.HochT1528, T1078.004
AZ-DEF-001Defender-for-Cloud-WarnungMicrosoft Defender for Cloud hat eine Sicherheitswarnung ausgelöst.Mittel
AZ-NET-001Verwaltungsport aus dem Internet erreichbarEingehende SSH- / RDP- / WinRM-Verbindungen von öffentlichen IPs wurden zugelassen.MittelT1133, T1021
AZ-NET-002Verbindung zu einem Mining-PortEine VM hat sich mit einem für Mining-Pools typischen Port verbunden.HochT1496
AZ-NET-003Große ausgehende ÜbertragungMehr als 500 MB haben das Netzwerk zu einer einzigen öffentlichen IP verlassen.MittelT1048
AZ-NET-004Netzwerkverkehr mit einer Angreifer-IPFlow-Logs zeigen Verkehr mit einer IP-Adresse, die in anderen Befunden vorkommt.HochT1105

Entra ID (Azure AD) ist eine eigene Untersuchung

Dieses Tool deckt die Steuerungs- und Datenebene von Azure ab. Wie der Angreifer an die Anmeldeinformationen kam — Anmeldungen, MFA, neue App-Geheimnisse, Einwilligungen — steht in den Entra-ID-Logs, die das Schwester-Tool analysiert: M365- / Entra-ID-Forensik

Grenzen

  • Gefunden wird nur, was protokolliert wurde: Datenebenen-Logs von Key Vault und Storage mussten vor dem Vorfall aktiviert sein, und das Activity Log wird 90 Tage aufbewahrt.
  • Erstauftreten-Erkennungen brauchen mehr als 72 Stunden Verlauf vor der verdächtigen Aktivität.
  • Regeln sind Heuristiken: Legitime Automatisierung kann anschlagen, und ein vorsichtiger Angreifer kann unter den Schwellenwerten bleiben. Ein unauffälliges Urteil ist keine Garantie.
  • Avro- (Event Hubs Capture) und Parquet-Exporte werden noch nicht gelesen; exportieren Sie JSON oder CSV.

FAQ

Werden meine Logs irgendwohin hochgeladen?

Nein. Der Analyzer ist in Rust geschrieben, nach WebAssembly kompiliert und läuft in einem Web Worker in Ihrem Browser. Es gibt keinen Upload-Endpunkt; Sie können nach dem Laden der Seite sogar die Netzwerkverbindung trennen.

Mit welchen Logs soll ich anfangen?

Mit dem Activity Log jedes betroffenen Abonnements, für den verdächtigen Zeitraum plus mindestens eine Woche davor. Ergänzen Sie Key-Vault- und Storage-Logs, falls aktiviert, und die Flow-Logs der betroffenen VNets.

Woran erkenne ich, ob ein Run Command bösartig war?

Das Activity Log zeigt, wer ihn wann und von welcher IP ausgeführt hat, aber nicht immer das Skript. Gleichen Sie mit den Logs der VM selbst (Ordner der RunCommand-Erweiterung), Defender-Warnungen und den ausgehenden Verbindungen der VM direkt danach ab.

Erkennt es Krypto-Mining?

Es meldet VMs in bisher ungenutzten Regionen, ausgehende Verbindungen zu typischen Mining-Pool-Ports in den Flow-Logs und Defender-Warnungen. Prüfen Sie auch die Abrechnung: Mining zeigt sich meist als plötzlicher Anstieg der Rechenkosten.

Was tun bei einem Urteil „Kompromittiert“?

Zuerst eindämmen: Anmeldeinformationen der beteiligten Prinzipale erneuern, die von ihnen erstellten Rollenzuweisungen entfernen, betroffene VMs isolieren, gelesene Geheimnisse erneuern. Sichern Sie die Logs, bevor sie ablaufen. Untersuchen Sie dann den Erstzugriff in Entra ID.

Kann ich die Erkennungsregeln wiederverwenden?

Ja. Sie liegen in einer einfachen JSON-Datei mit stabilen IDs, MITRE-ATT&CK-Tags und Behebungsschlüsseln — prüfbar, erweiterbar und in anderen Tools wiederverwendbar.

Steht das Tool in Verbindung mit Microsoft?

Nein. Es ist ein unabhängiges Tool; Azure wird nur genannt, um zu beschreiben, welche Logs es liest.

Das Azure Activity Log wird 90 Tage aufbewahrt, Ressourcenlogs sind standardmäßig aus. Was jedes Log nicht verrät und wie Sie ein ehrliches Fazit formulieren.
Ein fiktiver Azure-Einbruch von Anfang bis Ende: abgeflossenes Geheimnis, Selbstzuweisung, Run Command, gestohlenes Token, Key Vault- und Blob-Diebstahl.
Wie Angreifer Azure-Dienstprinzipale und verwaltete Identitäten missbrauchen: abgeflossene Geheimnisse, IMDS-Tokendiebstahl, Verbundanmeldeinformationen.

Dieses Tool ist weder mit der Microsoft Corporation verbunden noch von ihr unterstützt oder gesponsert. Azure, Microsoft Azure und Microsoft Defender for Cloud sind Marken der Microsoft-Unternehmensgruppe. Andere Namen sind Marken ihrer jeweiligen Inhaber.