Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| edv:forensik:defender [17 23 2025 05 : 23] – angelegt André Reichert-Creutz | edv:forensik:defender [17 44 2025 05 : 44] (aktuell) – [Schritt-für-Schritt-Playbook — Forensische Datensammlung aus Microsoft Defender for Endpoint] André Reichert-Creutz | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Forensische Datensammlung aus Microsoft Defender for Endpoint | + | ====== |
| - | Diese Anleitung beschreibt, wie Sie aus Microsoft | + | Kurzversion: |
| + | ^ Vorlagen | ||
| + | | Playbook als PDF | Checkliste | ||
| + | |{{ : | ||
| - | ===== Nutzungs- und Rechtsrahmen | + | ====== Vorbedingungen |
| - | * **Rollen & Berechtigungen: | + | Berechtigungen: |
| - | * **Chain-of-Custody starten:** Legen Sie ein unveränderbares Untersuchungsprotokoll an (z. B. geschützte Logdatei | + | |
| - | * **Kommunikation & Eskalation: | + | |
| - | * **Arbeitsumgebung: | + | |
| - | ===== Kurzprinzipien | + | Rechtslage: Kläre rechtliche Rahmenbedingungen |
| - | * **Containment vor Collection:** Isolieren Sie kompromittierte Geräte, wenn noch exfiltrations-/laterale Risiken bestehen. Beachten Sie Isolationseinschränkungen (VPNs, selective isolation). ([Microsoft Learn][3]) | + | Werkzeuge: Zugang zu https://security.microsoft.com, PowerShell (Get-FileHash), ein Hash-Tool/ |
| - | * **Exporte vor Screenshots: | + | |
| - | * **Dokumentieren & Prüfen:** Jede heruntergeladene Datei wird mit SHA256 gehasht und im Protokoll erfasst. | + | |
| - | ===== Vorlagen: Untersuchungsprotokoll | + | Startprotokoll: Erstelle sofort ein Untersuchungsdokument |
| - | ^ Zeitstempel ^ Analysierender ^ Aktion ^ Ziel (Portal/Datei/ | + | |
| - | | 2025-09-17 13:12:00 | maria.beispielfall | Investigation Package heruntergeladen | device: WIN-12345 | / | + | |
| - | ===== Teil 0 — Schnellcheck vor dem Start ===== | + | ====== Schritt |
| - | * Sind alle relevanten Ansprechpartner informiert? | + | Gerät isolieren |
| - | * Ist der Untersuchungsarbeitsplatz bereit | + | |
| - | * Haben Sie administrative Rechte im Defender-Portal / API-Token? ([Microsoft Learn][2]) | + | |
| - | ===== Teil 1 — Lagebild im Incident-Dashboard | + | //Wer hat isoliert |
| - | * **Ziel:** Überblick über den Vorfall, Angriffspfad und betroffene Entities (Geräte, Benutzer, Dateien). | + | Untersuchungsprotokoll starten: |
| - | * **Vorgehen: | + | |
| - | 1. Öffnen Sie das Portal und navigieren zu **„Vorfälle & Warnungen → Vorfälle“**. Öffnen Sie den relevanten Incident. ([Microsoft Learn][1]) | + | Case-ID vergeben |
| - | 2. Wechseln Sie zum Tab **„Attack story“** / Incident-Graph. Klappen Sie alle Knoten auf, spielen Sie ggf. das Zeitfenster ab, um Chronologie zu verstehen. | + | |
| - | 3. **Aktion:** Exportieren Sie verfügbare Listen (Alerts, betroffene Geräte/ | + | |
| - | ===== Teil 2 — Geräte-Timeline | + | Protokollfelder: |
| - | * **Ziel:** Chronologische Rohdaten der relevanten Endpunkte | + | Kommunikation: Benachrichtige Stakeholder |
| - | * **Vorgehen:** | + | //Hinweis: Die Isolierung kann die Telemetrieaufnahme beeinflussen — wenn du Live-Daten benötigst, notiere den Zeitpunkt der Isolation genau.// |
| - | | + | ====== Teil 1 — Incident-Dashboard: Lagebild erfassen ====== |
| - | 2. **Zeitfenster definieren: | + | |
| - | 3. **Spalten/ | + | |
| - | * EventType: `ProcessCreated`, | + | Ziel: Vollständigen Überblick sichern |
| - | * InitiatingProcessFileName / ProcessCommandLine: | + | |
| - | * Remote IP / URL: verdächtige C2-Adressen oder Domains | + | |
| - | 4. **Flagging: | + | |
| - | 5. **Export:** Nutzen Sie die Export-Funktion (Export/ | + | |
| - | * **Beispiel-KQL (Datei-Hash suchen):** | + | ===== 1.1. Portal öffnen ===== |
| - | <code> | + | Öffnen Sie [[https:// |
| - | DeviceFileEvents | + | ===== 1.2. Attack Story sichern (grafische Timeline) ===== |
| - | | where SHA256 | + | |
| - | | project Timestamp, DeviceName, FileName, FolderPath, InitiatingProcessFileName, | + | |
| - | * **Hinweis: | + | Tab „Attack story“ öffnen. |
| - | ===== Teil 3 — Untersuchungspaket (Collect Investigation Package) ===== | + | Alle Knoten aufklappen, sodass die ganze Graph-Ansicht sichtbar ist. |
| - | * **Ziel:** Vollständiger Forensic-Snapshot | + | Aktion: Hochauflösender Screenshot |
| - | * **Vorgehen (Portal):** | + | |
| - | 1. Auf der Geräteseite: Klicken Sie auf **„Collect investigation package“** aus den Response-Actions. Geben Sie eine dokumentierte Begründung ein und bestätigen. ([Microsoft Learn][3]) | + | //Wichtig: Screenshots dokumentieren Kontext, sind aber leichter manipulierbar — bevorzuge Exporte |
| - | 2. Die Sammlung läuft (Dauer: oft einige Minuten bis \~30 Minuten; kann fehlschlagen bei niedrigem Batteriestand oder Metered Connection). ([Microsoft Learn][3]) | + | |
| - | 3. Nach Abschluss: Download möglich über **Action center → Paket verfügbar** (oder direkt vom Device-Actions-Bereich). ([Microsoft Learn][3]) | + | |
| - | * **Inhalt (Auswahl, Windows):** Autoruns, Prefetch, PrefetchFilesList.txt, Network connections | + | |
| - | * **Aktionen nach Download:** | + | |
| - | | + | ===== 1.3. Assets & Evidence sichern ===== |
| - | 2. Erzeugen Sie SHA256-Hash und dokumentieren Sie ihn im Untersuchungsprotokoll. | + | |
| - | | + | |
| - | * **Beispiel: Hash-Berechnung: | + | |
| - | < | + | Tabs „Assets“, |
| - | # Windows (PowerShell) | + | Aktion: Exportieren Sie Listen als CSV/JSON, falls möglich. Machen Sie zusätzlich Screenshots für den visuellen Kontext. |
| - | Get-FileHash -Path "C:\Downloads\WIN-12345\_pkg.zip" -Algorithm SHA256 | + | Dokumentation: Notieren Sie Zeitpunkt des Exports, wer es durchführte, |
| - | # Windows | + | ====== Teil 2 — Geräte-Timeline |
| - | certutil -hashfile "C:\Downloads\WIN-12345\_pkg.zip" SHA256 | + | Ziel: Vollständige Ereignis-Timeline des betroffenen Endpunkts erfassen. |
| - | # Linux | + | ===== 2.1. Geräteseite öffnen ===== |
| - | sha256sum WIN-12345\_pkg.zip </ | + | Von Incident oder per Gerätesuche zur Detailseite des kompromittierten Geräts → Tab „Timeline“. |
| - | ===== Teil 4 — Live Response & zusätzliche Datensammlungen | + | ===== 2.2. Zeitraum und Filter bestimmen |
| - | * **Live Response:** Falls nötig, starten | + | Zeitraum: Wählen |
| - | * **Memory-Dump / Image-Acquisition: | + | |
| - | ===== Teil 5 — Organisationweite Suche: Advanced Hunting ===== | + | Filter (empfohlen): |
| - | * **Ziel:** Prüfen, ob IOCs (Hashes, IPs, Domains, File-Names, Process-Commands) elsewhere in der Umgebung auftauchen. Verwenden Sie Advanced Hunting (KQL). ([Microsoft Learn][7]) | + | //EventType:// ProcessCreated, NetworkConnection, FileCreated, FileDeleted, RegistryValueSet, ImageLoad, DnsQuery. |
| - | * **Vorgehen: | + | |
| - | 1. Formulieren Sie KQL-Queries (Beispiele weiter unten). | + | // |
| - | 2. Führen Sie Queries auf geeignete Zeiträume/Device-Gruppen aus. | + | |
| - | 3. Exportieren Sie die Ergebnisse als CSV und dokumentieren Sie Treffer mit DeviceName, | + | |
| - | * **Beispiel-Queries: | + | |
| - | < | + | //Fokus auf verdächtige Prozessnamen:// |
| - | -- Suche nach Hash | + | ===== 2.3. Timeline exportieren ===== |
| + | |||
| + | Aktion: Timeline → Export → CSV/JSON speichern (Dateiname: CASEID_DeviceName_Timeline_YYYYMMDDTHHMMZ.csv). | ||
| + | |||
| + | Dokumentation: | ||
| + | |||
| + | //Wichtig: Sofort eine Kopie der Exportdatei anlegen und SHA256 beider Kopien berechnen.// | ||
| + | |||
| + | ====== Teil 3 — Investigation Package sammeln ====== | ||
| + | |||
| + | Ziel: Forensische Artefakte direkt vom Endpunkt sichern (Browser-Artefakte, | ||
| + | |||
| + | ===== 3.1. Anforderung starten ===== | ||
| + | |||
| + | Auf der Geräteseite → Drei-Punkte / „Weitere Aktionen“ → „Untersuchungspaket sammeln“ (Collect investigation package). | ||
| + | |||
| + | // | ||
| + | |||
| + | ===== 3.2. Herunterladen & Integrität sichern ===== | ||
| + | |||
| + | Nach Fertigstellung: | ||
| + | |||
| + | Aktion 1: Lade die ZIP herunter; benennen Sie sie sinnvoll: CASEID_DeviceName_InvestPkg_YYYYMMDDTHHMMZ.zip. | ||
| + | |||
| + | Aktion 2: Berechnen Sie den SHA256-Hash des heruntergeladenen ZIP und dokumentieren Sie diesen im Protokoll. | ||
| + | |||
| + | PowerShell (Windows): | ||
| + | < | ||
| + | |||
| + | Linux: | ||
| + | < | ||
| + | |||
| + | //Passwort & Schutz: Wenn ZIP Passwort-geschützt ist: Passwort niemals zusammen mit der ZIP ablegen. Speichern Sie es nur im verschlüsselten Passwort-Safe.// | ||
| + | |||
| + | ===== 3.3. Inhalt des Pakets ===== | ||
| + | //Hinweis: Prüfen Sie den Inhalt. Typischerweise enthalten sind Browser-Verläufe (Edge/ | ||
| + | |||
| + | ====== Teil 4 — Advanced Hunting (organisationweite Suche) ====== | ||
| + | |||
| + | Ziel: Herausfinden, | ||
| + | |||
| + | ===== 4.1. IOCs identifizieren & KQL-Workflow ===== | ||
| + | |||
| + | Identifizieren Sie Indikatoren (Datei-Hashes, | ||
| + | |||
| + | Öffnen Sie Defender → Hunting > Advanced hunting. | ||
| + | |||
| + | Entwickeln Sie die Query lokal, testen Sie auf kleiner Zeitspanne → wenn valide, über größere Zeiträume / Geräte ausrollen. | ||
| + | |||
| + | ===== 4.2. Beispiel-KQLs (als Vorlage) ===== | ||
| + | |||
| + | ==== Suche nach SHA256 ==== | ||
| + | < | ||
| DeviceFileEvents | DeviceFileEvents | ||
| - | | where SHA256 == "HIER\_DEN\_SHA256\_HASH\_EINFÜGEN" | + | | where SHA256 == "HIER_DEN_SHA256_HASH_EINFÜGEN" |
| - | | project Timestamp, DeviceName, FileName, FolderPath, InitiatingProcessFileName | + | | project Timestamp, DeviceName, FileName, FolderPath |
| + | </ | ||
| - | -- Suche nach verdächtiger ProcessCommandLine (PowerShell encoded) | + | ==== Verdächtige PowerShell-Kommandozeilen ==== |
| + | < | ||
| DeviceProcessEvents | DeviceProcessEvents | ||
| - | | where ProcessCommandLine contains "Base64" | + | | where ProcessCommandLine contains "powershell" |
| - | | project Timestamp, DeviceName, InitiatingProcessFileName, | + | | project Timestamp, DeviceName, InitiatingProcessFileName, ProcessFileName, ProcessCommandLine |
| + | </ | ||
| - | ===== Forensische Sorgfaltspunkte / Gerichtsfestigkeit | + | ==== Netzwerkverbindungen zu einer IP ==== |
| + | < | ||
| + | DeviceNetworkEvents | ||
| + | | where RemoteIP | ||
| + | | project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName | ||
| + | </ | ||
| - | * **Integrität: | + | ==== DNS-Abfragen nach Domain ==== |
| - | * **Protokollumfang: | + | < |
| - | * **Beweissicherung: | + | DeviceDnsEvents |
| - | * **Abhängigkeiten: | + | | where QueryName contains " |
| - | * **Juristische Schritte:** Für gerichtliche Verfahren sprechen Sie mit Rechtsabteilung/externen Behörden; Chain-of-Custody-Formulare sind oft erforderlich. | + | | project Timestamp, DeviceName, QueryName |
| + | </code> | ||
| - | ===== Schnelle Checkliste (Minimalanforderungen) ===== | + | ==== Registry-Änderungen |
| + | < | ||
| + | DeviceRegistryEvents | ||
| + | | where RegistryKey contains " | ||
| + | | project Timestamp, DeviceName, RegistryKey, | ||
| + | </ | ||
| - | * [ ] Gerät isoliert (falls nötig) — dokumentiert. ([Microsoft Learn][3]) | + | ===== 4.3. Ergebnisse exportieren ===== |
| - | * [ ] Untersuchungsprotokoll gestartet und gesichert. | + | |
| - | * [ ] Attack Story (Incident Graph) gesichert (Export/ | + | |
| - | * [ ] Timeline gefiltert, geflaggt und exportiert (CSV/JSON). ([Microsoft Learn][4]) | + | |
| - | * [ ] Investigation Package angefordert & heruntergeladen; | + | |
| - | * [ ] Advanced Hunting-Queries ausgeführt; | + | |
| - | * [ ] Alle Dateien sicher abgelegt; Hashes dokumentiert. | + | |
| - | ===== Beispiele: typische Artefakte im Investigation Package | + | Nach Validierung → Export als CSV (Dateiname: CASEID_AdvancedHunt_< |
| - | * Prefetch, PrefetchFilesList.txt | + | ====== Teil 5 — Zusätzliche Artefakte |
| - | * Autoruns | + | |
| - | * ActiveNetConnections.txt, | + | |
| - | * Processes.csv, | + | |
| - | * Security/ | + | |
| - | * CollectionSummaryReport.xls (Prüfbericht der Sammlung). ([Microsoft Learn][3]) | + | |
| - | ===== Anhänge | + | //Hinweis: Folgende Maßnahmen erfordern oft eine separate rechtliche Freigabe und eine strikte Chain-of-Custody.// |
| - | * **Untersuchungs-Protokollzeile (Textvorlage):** | + | Windows Event Logs: Sammeln Sie System, Security, Application, |
| - | < | + | Sysmon: Falls deployed, sind Sysmon-Logs extrem hilfreich. |
| - | 2025-09-17T13:12:00Z | maria.beispielfall | Collect investigation package | deviceId: WIN-12345 | / | + | Browser-Artefakte: Cache, Cookies, Downloads. |
| - | * **Standard-KQL-Template (CSV-Export):** | + | Klassische Forensik-Artefakte: Prefetch, Amcache, ShimCache, MFT, LNK. |
| - | < | + | Volatiler Speicher / RAM-Dump: Wenn flüchtige Artefakte benötigt werden. |
| - | -- Template: IOC search | + | Disk-Image: Wenn eine gerichtsverwertbare Beweissicherung der Festplatte nötig ist. |
| - | let ioc = dynamic(\[" | + | |
| - | union isfuzzy=true | + | ====== Teil 6 — Chain-of-Custody & Dokumentation ====== |
| - | ( | + | |
| - | DeviceFileEvents, | + | //Wichtig: Jede Aktion muss protokolliert werden — sonst kann ein Beweismittel vor Gericht unbrauchbar sein.// |
| - | DeviceNetworkEvents, | + | |
| - | DeviceProcessEvents | + | ===== Vorlage: Chain-of-Custody-Eintrag ===== |
| - | ) | + | |
| - | | where tostring(ioc) has\_any | + | Case-ID: |
| - | | project Timestamp, DeviceName, EventTable = \$table, \* </ | + | |
| + | Artefakt-Name | ||
| + | |||
| + | Artefakt-Typ (Timeline-CSV, | ||
| + | |||
| + | Quelle (Portal, Gerät, Pfad): | ||
| + | |||
| + | Wer hat es entnommen (Name, Rolle): | ||
| + | |||
| + | Datum / Uhrzeit | ||
| + | |||
| + | Hash (SHA256): | ||
| + | |||
| + | Aufbewahrungsort: | ||
| + | |||
| + | Aktionen (Kopie erstellt, analysiert, ...): | ||
| + | |||
| + | ===== Empfehlungen zum Evidence-Handling ===== | ||
| + | |||
| + | Arbeitskopien: | ||
| + | |||
| + | Zugriffskontrolle: | ||
| + | |||
| + | Backups: Mindestens zwei getrennte, sichere und verschlüsselte Kopien. | ||
| + | |||
| + | ====== Teil 7 — Abschlussbericht (Struktur-Empfehlung) ====== | ||
| + | |||
| + | 1. Executive Summary | ||
| + | |||
| + | 2. Methodik | ||
| + | |||
| + | 3. Timeline (rekonstruiert, | ||
| + | |||
| + | 4. Gefundene IOCs & Artefakte (Hashes, Domains, IPs, betroffene Geräte) | ||
| + | |||
| + | 5. Beweisverzeichnis (Liste aller Dateien mit Hashes & Speicherort) | ||
| + | |||
| + | 6. Maßnahmen & Recommendations (Containment, | ||
| + | |||
| + | 7. Anhänge (CSV-Exports, | ||
| + | |||
| + | ====== Anhänge & Vorlagen ====== | ||
| + | |||
| + | ===== Empfohlene Dateinamenskonvention ===== | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | //Beispiel: CASE-2025-0917-001_DeviceA_Timeline_20250917T120500Z.csv// | ||
| + | |||
| + | ===== Quick-Checklist (Schnellüberblick) ===== | ||
| + | |||
| + | [ ] Gerät isoliert (ja/nein) — wer, wann | ||
| + | |||
| + | [ ] Untersuchungsdokument / Case-ID angelegt | ||
| + | |||
| + | [ ] Attack Story Screenshot + CSV-Exporte gespeichert | ||
| + | |||
| + | [ ] Timeline exportiert (CSV/JSON) + Hash berechnet | ||
| - | ===== Quellen (ausgewählte Microsoft-Dokumentation) ===== | + | [ ] Investigation Package angefordert, |
| - | * Anleitung zu Response-Actions und Collect Investigation Package (Inhalte & Ablauf). ([Microsoft Learn][3]) | + | [ ] Advanced Hunting |
| - | * Attack Story / Incident-Graph — Kontext und Go-Hunt-Funktion. ([Microsoft Learn][1]) | + | |
| - | * Device Timeline — Filter, Spalten, Flags und Export-Hinweise. ([Microsoft Learn][4]) | + | |
| - | * CollectInvestigationPackage API / Berechtigungen (für Automatisierung). ([Microsoft Learn][2]) | + | |
| - | * Advanced Hunting | + | |
| - | --- | + | [ ] Chain-of-Custody protokolliert (jede Aktion) |
| - | Wenn du willst, mache ich daraus sofort eine druckfertige DokuWiki-Seite in deinem Wiki-Format (inkl. Kopier-Buttons für KQL und Checklisten), | + | [ ] Falls nötig: RAM/Disk-Image geplant & legal freigegeben |
| - | [1]: https:// | + | [ ] Bericht/IOC-Liste + Empfehlungen erstellt |
| - | [2]: https:// | + | |
| - | [3]: https:// | + | |
| - | [4]: https:// | + | |
| - | [5]: https:// | + | |
| - | [6]: https:// | + | |
| - | [7]: https:// | + | |
| + | Fazit: Diese Schritt-für-Schritt-Anleitung liefert eine vollständige, | ||
