
Chainsaw bietet eine leistungsstarke Fähigkeit zum ersten Ansprechen, Bedrohungen in Windows Forensic Artefacts wie Ereignisprotokollen und MFT-Datei schnell zu identifizieren. Chainsaw bietet eine generische und schnelle Methode zur Durchsuchung von Ereignisprotokollen nach Schlüsselwörtern und durch die Ermittlung von Bedrohungen anhand der integrierten Unterstützung für Sigma-Erkennungsregeln sowie über benutzerdefinierte Regeln für die Erkennung von Kettensägen.
Erweiterte Informationen finden Sie im Wiki für dieses Tool: https://github.com/withsecurelabs/chainsaw/wiki
Bei WithSecure Coupcept nehmen wir eine breite Palette von Telemetriequellen von Endpunkten über unseren EDR -Agenten ein, um unseren verwalteten Erkennungs- und Reaktionsservice anzubieten. Es gibt jedoch Umstände, unter denen wir schnell forensische Artefakte analysieren müssen, die von unserem EDR nicht erfasst wurden. Ein häufiges Beispiel für die Reaktion in der Vorfall auf einem Anwesen, in dem unser EDR zum Zeitpunkt des Kompromisses nicht installiert wurde. Chainsaw wurde gegründet, um unseren Bedrohungsjägern und Beratern für Vorfälle ein Instrument zur Durchführung einer schnellen Triage forensischer Artefakte unter diesen Umständen zu bieten.
Windows -Ereignisprotokolle bieten eine reichhaltige Quelle forensischer Informationen für Ermittlungen für Bedrohungsjagd und Vorfallreaktion. Leider kann das Verarbeiten und Durchsuchen von Ereignisprotokollen ein langsamer und zeitaufwändiger Prozess sein, und in den meisten Fällen erfordert der Overhead der umgebenden Infrastruktur-z. Dieser Overhead bedeutet häufig, dass Blue -Teams keine schneller Windows -Ereignisprotokolle in der Lage sind, die Richtung und Schlussfolgerungen zu liefern, die erforderlich sind, um ihre Ermittlungen voranzutreiben. Chainsaw löst das Problem, da es die schnelle Suche und Jagd durch Windows -Ereignisprotokolle ermöglicht.
Zum Zeitpunkt des Schreibens gibt es nur sehr wenige Open-Source-Tools, die eine einfache und schnelle Methode zur Triaging-Windows-Ereignisprotokolle bieten, interessante Elemente innerhalb der Protokolle identifizieren und ein Format für Erkennungslogikregel (wie Sigma) zur Erkennung von Anzeichen von böswilliger Aktivität anwenden. Bei unseren Tests hatten die existierenden Tools Schwierigkeiten, die Erkennungslogik auf große Mengen an Ereignisprotokollen effizient anzuwenden, was sie für Szenarien, in denen eine schnelle Triage erforderlich ist, ungeeignet sind.
Mit den Parametern --sigma und --mapping können Sie ein Verzeichnis mit einer Untergruppe von Sigma -Erkennungsregeln (oder nur dem gesamten Sigma Git Repo) angeben, und die Kettensäge laden diese Regeln automatisch und konvertieren und führen diese Regeln gegen die bereitgestellten Ereignisprotokolle aus. Die Zuordnungsdatei gibt Chainsaw mit, welche Felder in den Ereignisprotokollen für die Regelung der Regel verwendet werden sollen. Standardmäßig unterstützt Chainsaw eine Vielzahl von Ereignisprotokolltypen, einschließlich, aber nicht beschränkt auf:
| Ereignisart | Ereignis -ID |
|---|---|
| Prozesserstellung (Sysmon) | 1 |
| Netzwerkverbindungen (Sysmon) | 3 |
| Bildlast (sysmon) | 7 |
| Dateierstellung (sysmon) | 11 |
| Registrierungsveranstaltungen (Sysmon) | 13 |
| PowerShell -Skriptblöcke | 4104 |
| Prozesserstellung | 4688 |
| Geplante Aufgabenerstellung | 4698 |
| Serviceerstellung | 7045 |
In der Zuordnungsdatei finden Sie die vollständige Liste der Felder, die zur Erkennung von Regel verwendet werden, und zögern Sie nicht, sie auf Ihre Anforderungen zu erweitern.
Neben der Unterstützung von Sigma -Regeln unterstützt Chainsaw auch ein benutzerdefiniertes Regelformat. Im Repository finden Sie ein rules , das verschiedene Kettensägenregeln enthält, mit denen Benutzer:
Mit der Veröffentlichung von Chainsaw V2 haben wir beschlossen, die Sigma-Regeln und die Repositorys von EVTX-Angriffs-Samples nicht mehr als Kettensägen-Submodule aufzunehmen. Wir empfehlen Ihnen, diese Repositories getrennt zu klonen, um sicherzustellen, dass Sie über die neuesten Versionen verfügen.
Wenn Sie noch ein All-in-One-Paket benötigen, das die Binärketten-, Sigma-Regeln und Beispieleereignisprotokolle enthält, können Sie es aus dem Abschnitt "Veröffentlichungen" dieses Github-Repo herunterladen. In diesem Abschnitt in diesem Abschnitt finden Sie auch vorgefertigte Binärversionen von Kettensaw für verschiedene Plattformen und Architekturen.
Wenn Sie Kettensägen selbst kompilieren möchten, können Sie das Kettensägen -Repo klonen:
git clone https://github.com/WithSecureLabs/chainsaw.git
und kompilieren Sie den Code selbst durch Laufen: cargo build --release . Sobald der Build fertig ist, finden Sie eine Kopie des zusammengestellten Binärdatus im Ziel-/Release -Ordner.
Stellen Sie sicher, dass Sie mit der Flagge --release erstellen, da dies eine wesentlich schnellere Ausführungszeit gewährleistet.
Wenn Sie schnell sehen möchten, wie Kettensäge beim Laufen aussieht, können Sie die Sigma-Regeln und EVTX-Angriffs-Samples-Repositories klonen:
git clone https://github.com/SigmaHQ/sigma
git clone https://github.com/sbousseaden/EVTX-ATTACK-SAMPLES.git
und führen Sie Kettensäge mit den folgenden Parametern aus:
./chainsaw hunt EVTX-ATTACK-SAMPLES/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml
├───devShells
│ └───x86_64-linux
│ └───default: development environment 'nix-shell'
├───formatter
│ └───x86_64-linux: package 'alejandra-3.1.0'
└───packages
└───x86_64-linux
├───chainsaw: package 'chainsaw-2.10.1'
└───default: package 'chainsaw-2.10.1'
Kettensäge als Paket ist über NIXPKGS erhältlich. Wenn Sie Nixos verwenden, fügen Sie einfach chainsaw zu Ihrer Systemkonfigurationsdatei hinzu.
Wenn Sie Nixos jedoch nicht verwenden, können Sie Kettensägen über NIX weiterhin installieren. Der Empfehlungsweg erfolgt über nix-shell , wodurch Ihre $ Path-Umgebungsvariable vorübergehend geändert wird. Bitte führen Sie Folgendes aus:
nix-shell -p chainsaw
Sie können auch die Tatsache nutzen, dass dieses Repo eine Flocke ist, und Sie können Folgendes ausführen:
nix profile install github:WithSecureLabs/chainsaw
Wenn Sie jedoch Kettensägen mit NIX erstellen möchten, können Sie erneut flake.nix verwenden, das mit diesem Repository versehen ist. Um das Binär zu bauen, laufen Sie bitte Folgendes in der Wurzel -Dire des geklonten Repo
nix build .#
Dies erzeugt ./result Verzeichnis ./result/bin/chainsaw
Beim Herunterladen und Laufkettensägen werden Sie möglicherweise feststellen, dass Ihr lokaler EDR / Antivirus -Motor Kettensäge als bösartig erkennt. Beispiele hierfür in den folgenden GitHub -Problemen: Beispiel1, Beispiel2.
Diese Warnungen sind typischerweise auf die Beispielereignisprotokolle und/oder Sigma -Regeln zurückzuführen, die Verweise auf böswillige Zeichenfolgen enthalten (z. B. "Mimikatz"). Wir haben auch Fälle gesehen, in denen die Kettensägen-Binärin durch eine kleine Untergruppe von Anti-Virus-Motoren nachgewiesen wurde, die wahrscheinlich auf eine Form der Heuristik-Erkennung sind.
Im Juli 2022 haben wir Version 2 von Chainsaw veröffentlicht, was eine große Überarbeitung des Betriebs von Chainsaw ist. Die Kettensaw V2 enthält mehrere signifikante Verbesserungen, einschließlich der folgenden Liste der Highlights:
Wenn Sie noch die Version 1 von Chainsaw verwenden möchten, finden Sie im Abschnitt "Veröffentlichungen kompilierte Binärdateien Bitte beachten Sie, dass Chainsaw V1 nicht mehr aufrechterhalten wird und alle Benutzer versuchen sollten, sich zu Chainsaw V2 zu bewegen.
Ein großes Dankeschön an @alexkornitzer, der es geschafft hat, die "Weihnachtsprojekt" -Codebasis von Chainaw V1 in ein poliertes Produkt in V2 umzuwandeln.
USAGE:
chainsaw search [FLAGS] [OPTIONS] <pattern> [--] [path]...
FLAGS:
-h, --help Prints help information
-i, --ignore-case Ignore the case when searching patterns
--json Print the output in json format
--load-unknown Allow chainsaw to try and load files it cannot identify
--local Output the timestamp using the local machine's timestamp
-q Suppress informational output
--skip-errors Continue to search when an error is encountered
-V, --version Prints version information
OPTIONS:
--extension <extension>... Only search through files with the provided extension
--from <from> The timestamp to search from. Drops any documents older than the value provided
-o, --output <output> The path to output results to
-e, --regex <pattern>... A string or regular expression pattern to search for
-t, --tau <tau>... Tau expressions to search with. e.g. 'Event.System.EventID: =4104'
--timestamp <timestamp> The field that contains the timestamp
--timezone <timezone> Output the timestamp using the timezone provided
--to <to> The timestamp to search up to. Drops any documents newer than the value provided
ARGS:
<pattern> A string or regular expression pattern to search for. Not used when -e or -t is specified
<path>... The paths containing event logs to load and hunt through
Suchen Sie alle .evtx-Dateien nach der von Fall unempfindlichen Zeichenfolge "Mimikatz"
./chainsaw search mimikatz -i evtx_attack_samples/
*Suchen Sie alle .evtx -Dateien nach PowerShell -Skript -Blockereignissen (Ereignis -ID 4014)
./chainsaw search -t 'Event.System.EventID: =4104' evtx_attack_samples/
Suchen Sie ein bestimmtes EVTX -Protokoll nach Anmeldungsereignissen mit einem passenden Regex -Muster, der im JSON -Format ausgegeben wird
./chainsaw search -e "DC[0-9].insecurebank.local" evtx_attack_samples --json
USAGE:
chainsaw hunt [FLAGS] [OPTIONS] [--] [path]...
FLAGS:
--csv Print the output in csv format
--full Print the full values for the tabular output
-h, --help Prints help information
--json Print the output in json format
--load-unknown Allow chainsaw to try and load files it cannot identify
--local Output the timestamp using the local machine's timestamp
--log Print the output in log like format
--metadata Display additional metadata in the tablar output
-q Suppress informational output
--skip-errors Continue to hunt when an error is encountered
-V, --version Prints version information
OPTIONS:
--column-width <column-width> Set the column width for the tabular output
--extension <extension>... Only hunt through files with the provided extension
--from <from> The timestamp to hunt from. Drops any documents older than the value provided
--kind <kind>... Restrict loaded rules to specified kinds
--level <level>... Restrict loaded rules to specified levels
-m, --mapping <mapping>... A mapping file to tell Chainsaw how to use third-party rules
-o, --output <output> A path to output results to
-r, --rule <rule>... A path containing additional rules to hunt with
-s, --sigma <sigma>... A path containing Sigma rules to hunt with
--status <status>... Restrict loaded rules to specified statuses
--timezone <timezone> Output the timestamp using the timezone provided
--to <to> The timestamp to hunt up to. Drops any documents newer than the value provided
ARGS:
<rules> The path to a collection of rules to use for hunting
<path>... The paths containing event logs to load and hunt through
Jagen Sie alle EVTX -Dateien mithilfe von Sigma -Regeln zur Erkennungslogik
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml
Jagen Sie alle EVTX -Dateien mithilfe von Sigma -Regeln und Kettensägenregeln für die Erkennungslogik und die Ausgabe im CSV -Format zum Ergebnisordner
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml -r rules/ --csv --output results
Jagen Sie alle EVTX -Dateien mithilfe von Sigma -Regeln für die Erkennungslogik, suchen Sie nur zwischen bestimmten Zeitstempeln und geben Sie die Ergebnisse im JSON -Format aus
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml --from "2019-03-17T19:09:39" --to "2019-03-17T19:09:50" --json
$ ./chainsaw hunt -r rules/ evtx_attack_samples -s sigma/rules --mapping mappings/sigma-event-logs-all.yml --level critical
██████╗██╗ ██╗ █████╗ ██╗███╗ ██╗███████╗ █████╗ ██╗ ██╗
██╔════╝██║ ██║██╔══██╗██║████╗ ██║██╔════╝██╔══██╗██║ ██║
██║ ███████║███████║██║██╔██╗ ██║███████╗███████║██║ █╗ ██║
██║ ██╔══██║██╔══██║██║██║╚██╗██║╚════██║██╔══██║██║███╗██║
╚██████╗██║ ██║██║ ██║██║██║ ╚████║███████║██║ ██║╚███╔███╔╝
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚══╝╚══╝
By WithSecure Countercept (@FranticTyping, @AlexKornitzer)
[+] Loading detection rules from: ../../rules/, /tmp/sigma/rules
[+] Loaded 129 detection rules (198 not loaded)
[+] Loading event logs from: ../../evtx_attack_samples (extensions: .evtx)
[+] Loaded 268 EVTX files (37.5 MB)
[+] Hunting: [========================================] 268/268
[+] Group: Antivirus
┌─────────────────────┬────────────────────┬──────────┬───────────┬─────────────┬────────────────────────────────┬──────────────────────────────────┬────────────────────┐
│ timestamp │ detections │ Event ID │ Record ID │ Computer │ Threat Name │ Threat Path │ User │
├─────────────────────┼────────────────────┼──────────┼───────────┼─────────────┼────────────────────────────────┼──────────────────────────────────┼────────────────────┤
│ 2019-07-18 20:40:00 │ ‣ Windows Defender │ 1116 │ 37 │ MSEDGEWIN10 │ Trojan:PowerShell/Powersploit. │ file:_C:AtomicRedTeamatomic- │ MSEDGEWIN10IEUser │
│ │ │ │ │ │ M │ red-team-masteratomicsT1056 │ │
│ │ │ │ │ │ │ Get-Keystrokes.ps1 │ │
├─────────────────────┼────────────────────┼──────────┼───────────┼─────────────┼────────────────────────────────┼──────────────────────────────────┼────────────────────┤
│ 2019-07-18 20:53:31 │ ‣ Windows Defender │ 1117 │ 106 │ MSEDGEWIN10 │ Trojan:XML/Exeselrun.gen!A │ file:_C:AtomicRedTeamatomic- │ MSEDGEWIN10IEUser │
│ │ │ │ │ │ │ red-team-masteratomicsT1086 │ │
│ │ │ │ │ │ │ payloadstest.xsl │ │
└─────────────────────┴────────────────────┴──────────┴───────────┴─────────────┴────────────────────────────────┴──────────────────────────────────┴────────────────────┘
[+] Group: Log Tampering
┌─────────────────────┬───────────────────────────────┬──────────┬───────────┬────────────────────────────────┬───────────────┐
│ timestamp │ detections │ Event ID │ Record ID │ Computer │ User │
├─────────────────────┼───────────────────────────────┼──────────┼───────────┼────────────────────────────────┼───────────────┤
│ 2019-01-20 07:00:50 │ ‣ Security Audit Logs Cleared │ 1102 │ 32853 │ WIN-77LTAPHIQ1R.example.corp │ Administrator │
└─────────────────────┴───────────────────────────────┴──────────┴───────────┴────────────────────────────────┴───────────────┘
[+] Group: Sigma
┌─────────────────────┬────────────────────────────────┬───────┬────────────────────────────────┬──────────┬───────────┬──────────────────────────┬──────────────────────────────────┐
│ timestamp │ detections │ count │ Event.System.Provider │ Event ID │ Record ID │ Computer │ Event Data │
├─────────────────────┼────────────────────────────────┼───────┼────────────────────────────────┼──────────┼───────────┼──────────────────────────┼──────────────────────────────────┤
│ 2019-04-29 20:59:14 │ ‣ Malicious Named Pipe │ 1 │ Microsoft-Windows-Sysmon │ 18 │ 8046 │ IEWIN7 │ --- │
│ │ │ │ │ │ │ │ Image: System │
│ │ │ │ │ │ │ │ PipeName: "\46a676ab7f179e511 │
│ │ │ │ │ │ │ │ e30dd2dc41bd388" │
│ │ │ │ │ │ │ │ ProcessGuid: 365ABB72-D9C4-5CC │
│ │ │ │ │ │ │ │ 7-0000-0010EA030000 │
│ │ │ │ │ │ │ │ ProcessId: 4 │
│ │ │ │ │ │ │ │ RuleName: "" │
│ │ │ │ │ │ │ │ UtcTime: "2019-04-29 20:59:14. │
│ │ │ │ │ │ │ │ 430" │
├─────────────────────┼────────────────────────────────┼───────┼────────────────────────────────┼──────────┼───────────┼──────────────────────────┼──────────────────────────────────┤
│ 2019-04-30 20:26:51 │ ‣ CobaltStrike Service │ 1 │ Microsoft-Windows-Sysmon │ 13 │ 9806 │ IEWIN7 │ --- │
│ │ Installations in Registry │ │ │ │ │ │ Details: "%%COMSPEC%% /b /c st │
│ │ │ │ │ │ │ │ art /b /min powershell.exe -no │
│ │ │ │ │ │ │ │ p -w hidden -noni -c "if([Int │
│ │ │ │ │ │ │ │ Ptr]::Size -eq 4){$b='powershe │
│ │ │ │ │ │ │ │ ll.exe'}else{$b=$env:windir+' │
│ │ │ │ │ │ │ │ syswow64\WindowsPowerShell\ │
│ │ │ │ │ │ │ │ v1.0\powershell.exe'};$s=New- │
│ │ │ │ │ │ │ │ Object System.Diagnostics.Proc │
│ │ │ │ │ │ │ │ essStartInfo;$s.FileName=$b;$s │
│ │ │ │ │ │ │ │ .Arguments='-noni -nop -w hidd │
│ │ │ │ │ │ │ │ en -c &([scriptblock]::create( │
│ │ │ │ │ │ │ │ (New-Object IO.StreamReader(Ne │
│ │ │ │ │ │ │ │ w-Object IO.Compression.GzipSt │
│ │ │ │ │ │ │ │ ream((New-Object IO.MemoryStre │
│ │ │ │ │ │ │ │ am(,[Convert]::FromBase64Strin │
│ │ │ │ │ │ │ │ g(''H4sIAIuvyFwCA7VW+2/aSBD+OZ │
│ │ │ │ │ │ │ │ H6P1... │
│ │ │ │ │ │ │ │ (use --full to show all content) │
│ │ │ │ │ │ │ │ EventType: SetValue │
│ │ │ │ │ │ │ │ Image: "C:\Windows\system32 │
│ │ │ │ │ │ │ │ services.exe" │
│ │ │ │ │ │ │ │ ProcessGuid: 365ABB72-2586-5CC │
│ │ │ │ │ │ │ │ 9-0000-0010DC530000 │
│ │ │ │ │ │ │ │ ProcessId: 460 │
│ │ │ │ │ │ │ │ RuleName: "" │
│ │ │ │ │ │ │ │ TargetObject: "HKLM\System\C │
│ │ │ │ │ │ │ │ urrentControlSet\services\he │
│ │ │ │ │ │ │ │ llo\ImagePath" │
│ │ │ │ │ │ │ │ UtcTime: "2019-04-30 20:26:51. │
│ │ │ │ │ │ │ │ 934" │
├─────────────────────┼────────────────────────────────┼───────┼────────────────────────────────┼──────────┼───────────┼──────────────────────────┼──────────────────────────────────┤
│ 2019-05-12 12:52:43 │ ‣ Meterpreter or Cobalt │ 1 │ Service Control Manager │ 7045 │ 10446 │ IEWIN7 │ --- │
│ │ Strike Getsystem Service │ │ │ │ │ │ AccountName: LocalSystem │
│ │ Installation │ │ │ │ │ │ ImagePath: "%COMSPEC% /c ping │
│ │ │ │ │ │ │ │ -n 1 127.0.0.1 >nul && echo 'W │
│ │ │ │ │ │ │ │ inPwnage' > \\.\pipe\WinPw │
│ │ │ │ │ │ │ │ nagePipe" │
│ │ │ │ │ │ │ │ ServiceName: WinPwnage │
│ │ │ │ │ │ │ │ ServiceType: user mode service │
│ │ │ │ │ │ │ │ StartType: demand start │
├─────────────────────┼────────────────────────────────┼───────┼────────────────────────────────┼──────────┼───────────┼──────────────────────────┼──────────────────────────────────┤
│ 2019-06-21 07:35:37 │ ‣ Dumpert Process Dumper │ 1 │ Microsoft-Windows-Sysmon │ 11 │ 238375 │ alice.insecurebank.local │ --- │
│ │ │ │ │ │ │ │ CreationUtcTime: "2019-06-21 0 │
│ │ │ │ │ │ │ │ 6:53:03.227" │
│ │ │ │ │ │ │ │ Image: "C:\Users\administrat │
│ │ │ │ │ │ │ │ or\Desktop\x64\Outflank-Dum │
│ │ │ │ │ │ │ │ pert.exe" │
│ │ │ │ │ │ │ │ ProcessGuid: ECAD0485-88C9-5D0 │
│ │ │ │ │ │ │ │ C-0000-0010348C1D00 │
│ │ │ │ │ │ │ │ ProcessId: 3572 │
│ │ │ │ │ │ │ │ RuleName: "" │
│ │ │ │ │ │ │ │ TargetFilename: "C:\Windows\ │
│ │ │ │ │ │ │ │ Temp\dumpert.dmp" │
│ │ │ │ │ │ │ │ UtcTime: "2019-06-21 07:35:37. │
│ │ │ │ │ │ │ │ 324" │
└─────────────────────┴────────────────────────────────┴───────┴────────────────────────────────┴──────────┴───────────┴──────────────────────────┴──────────────────────────────────┘
COMMAND:
analyse shimcache Create an execution timeline from the shimcache with optional amcache enrichments
USAGE:
chainsaw analyse shimcache [OPTIONS] <SHIMCACHE>
ARGUMENTS:
<SHIMCACHE> The path to the shimcache artefact (SYSTEM registry file)
OPTIONS:
-e, --regex <pattern> A string or regular expression for detecting shimcache entries whose timestamp matches their insertion time
-r, --regexfile <REGEX_FILE> The path to a newline delimited file containing regex patterns for detecting shimcache entries whose timestamp matches their insertion time
-o, --output <OUTPUT> The path to output the result csv file
-a, --amcache <AMCACHE> The path to the amcache artefact (Amcache.hve) for timeline enrichment
-p, --tspair Enable near timestamp pair detection between shimcache and amcache for finding additional insertion timestamps for shimcache entries
-h, --help Print help
--regexfile ist in Analyse/shimcache_patterns.txt enthalten.Analysieren Sie ein Shimcache -Artefakt mit den bereitgestellten Regex -Mustern und verwenden Sie die Amcache -Anreicherung mit aktivierter Zeitstempel -Pair -Erkennung. Ausgabe in eine CSV -Datei.
./chainsaw analyse shimcache ./SYSTEM --regexfile ./analysis/shimcache_patterns.txt --amcache ./Amcache.hve --tspair --output ./output.csv
Analysieren Sie ein Shimcache -Artefakt mit den bereitgestellten Regex -Mustern (ohne Amcache -Anreicherung). Ausgabe an das Terminal.
./chainsaw analyse shimcache ./SYSTEM --regexfile ./analysis/shimcache_patterns.txt
Der in Chainsaw implementierte Srum -Datenbank -Parser unterscheidet sich von anderen Parsers, da sie nicht auf hartcodierten Werten über die Tabellen beruht. Die Informationen werden direkt aus dem Software -Bienenstock extrahiert, was ein obligatorisches Argument darstellt. Ziel ist es, Fehler im Zusammenhang mit unbekannten Tabellen zu vermeiden.
COMMAND:
analyse srum Analyse the SRUM database
USAGE:
chainsaw analyse srum [OPTIONS] --software <SOFTWARE_HIVE_PATH> <SRUM_PATH>
ARGUMENTS:
<SRUM_PATH> The path to the SRUM database
OPTIONS:
-s, --software <SOFTWARE_HIVE_PATH> The path to the SOFTWARE hive
--stats-only Only output details about the SRUM database
-q Suppress informational output
-o, --output <OUTPUT> Save the output to a file
-h, --help Print help
Analysieren Sie die SRUM -Datenbank (der Software -Hive ist obligatorisch)
./chainsaw analyse srum --software ./SOFTWARE ./SRUDB.dat --output ./output.json
$ ./chainsaw analyse srum --software ./SOFTWARE ./SRUDB.dat -o ./output.json
██████╗██╗ ██╗ █████╗ ██╗███╗ ██╗███████╗ █████╗ ██╗ ██╗
██╔════╝██║ ██║██╔══██╗██║████╗ ██║██╔════╝██╔══██╗██║ ██║
██║ ███████║███████║██║██╔██╗ ██║███████╗███████║██║ █╗ ██║
██║ ██╔══██║██╔══██║██║██║╚██╗██║╚════██║██╔══██║██║███╗██║
╚██████╗██║ ██║██║ ██║██║██║ ╚████║███████║██║ ██║╚███╔███╔╝
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝ ╚══╝╚══╝
By WithSecure Countercept (@FranticTyping, @AlexKornitzer)
[+] ESE database file loaded from "/home/user/Documents/SRUDB.dat"
[+] Parsing the ESE database...
[+] SOFTWARE hive loaded from "/home/user/Documents/SOFTWARE"
[+] Parsing the SOFTWARE registry hive...
[+] Analysing the SRUM database...
[+] Details about the tables related to the SRUM extensions:
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| Table GUID | Table Name | DLL Path | Timeframe of the data | Expected Retention Time |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {5C8CF1C7-7257-4F13-B223-970EF5939312} | App Timeline Provider | %SystemRoot%System32eeprov.dll | 2022-03-10 16:34:59 UTC | 7 days |
| | | | 2022-03-10 21:10:00 UTC | |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {B6D82AF1-F780-4E17-8077-6CB9AD8A6FC4} | Tagged Energy Provider | %SystemRoot%System32eeprov.dll | No records | 3 days |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {D10CA2FE-6FCF-4F6D-848E-B2E99266FA86} | WPN SRUM Provider | %SystemRoot%System32wpnsruprov.dll | 2022-03-10 20:09:00 UTC | 60 days |
| | | | 2022-03-10 21:09:00 UTC | |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {D10CA2FE-6FCF-4F6D-848E-B2E99266FA89} | Application Resource Usage Provider | %SystemRoot%System32appsruprov.dll | 2022-03-10 16:34:59 UTC | 60 days |
| | | | 2022-03-10 21:10:00 UTC | |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {FEE4E14F-02A9-4550-B5CE-5FA2DA202E37} | Energy Usage Provider | %SystemRoot%System32energyprov.dll | No records | 60 days |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {FEE4E14F-02A9-4550-B5CE-5FA2DA202E37}LT | Energy Usage Provider (Long Term) | %SystemRoot%System32energyprov.dll | No records | 1820 days |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {973F5D5C-1D90-4944-BE8E-24B94231A174} | Windows Network Data Usage Monitor | %SystemRoot%System32nduprov.dll | 2022-03-10 16:34:59 UTC | 60 days |
| | | | 2022-03-10 21:10:00 UTC | |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {7ACBBAA3-D029-4BE4-9A7A-0885927F1D8F} | vfuprov | %SystemRoot%System32vfuprov.dll | 2022-03-10 20:09:00 UTC | 60 days |
| | | | 2022-03-10 21:10:00 UTC | |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {DA73FB89-2BEA-4DDC-86B8-6E048C6DA477} | Energy Estimation Provider | %SystemRoot%System32eeprov.dll | No records | 7 days |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
| {DD6636C4-8929-4683-974E-22C046A43763} | Windows Network Connectivity Usage Monitor | %SystemRoot%System32ncuprov.dll | 2022-03-10 16:34:59 UTC | 60 days |
| | | | 2022-03-10 21:10:00 UTC | |
+------------------------------------------+--------------------------------------------+--------------------------------------+-------------------------+-------------------------+
[+] SRUM database parsed successfully
[+] Saving output to "/home/user/Documents/output.json"
[+] Saved output to "/home/user/Documents/output.json"
Informationen zu den neuen forensischen Erkenntnissen im Zusammenhang mit diesem Artefakt finden Sie im Wiki: https://github.com/withsecurelabs/chainsaw/wiki/srum-analysis.
USAGE:
chainsaw dump [OPTIONS] <PATH>
ARGUMENTS:
<PATH> The path to an artefact to dump
OPTIONS:
-j, --json Dump in json format
--jsonl Print the output in jsonl format
--load-unknown Allow chainsaw to try and load files it cannot identify
-o, --output <OUTPUT> A path to output results to
-q Suppress informational output
--skip-errors Continue to hunt when an error is encountered
-h, --help Print help
Den Software -Bienenstock entlassen
./chainsaw dump ./SOFTWARE.hve --json --output ./output.json