
La tronçonneuse offre une puissante capacité de «première réponse» à identifier rapidement les menaces dans les artefacts médico-légaux de Windows tels que les journaux d'événements et le fichier MFT. Chainsaw propose une méthode générique et rapide de recherche dans les journaux d'événements pour les mots clés et en identifiant les menaces en utilisant la prise en charge intégrée pour les règles de détection Sigma et via des règles de détection de tronçonneuse personnalisées.
Des informations étendues peuvent être trouvées dans le wiki pour cet outil: https://github.com/withsecurebs/chainsaw/wiki
Chez Withsecure Countercept, nous ingérons un large éventail de sources de télémétrie à partir de points d'extrémité via notre agent EDR pour fournir notre service de détection et de réponse géré. Cependant, il y a des circonstances où nous devons analyser rapidement des artefacts médico-légaux qui n'ont pas été capturés par notre EDR, un exemple courant étant les enquêtes sur la réponse aux incidents sur un domaine où notre EDR n'a pas été installé au moment du compromis. La tronçonneuse a été créée pour fournir à nos chasseurs de menaces et des consultants en réponse aux incidents un outil pour effectuer un triage rapide d'objets médico-légaux dans ces circonstances.
Les journaux d'événements Windows fournissent une riche source d'informations médico-légales pour la chasse aux menaces et les enquêtes sur la réponse aux incidents. Malheureusement, le traitement et la recherche dans les journaux d'événements peuvent être un processus lent et long, et dans la plupart des cas, nécessite les frais généraux de l'infrastructure environnante - comme une pile de wapitis ou une instance splunk - pour chasser efficacement les données du journal et appliquer la logique de détection. Cette surcharge signifie souvent que les équipes bleues ne sont pas en mesure de trier rapidement les journaux d'événements Windows pour fournir la direction et les conclusions nécessaires pour progresser leurs enquêtes. La tronçonneuse résout le problème car il permet la recherche rapide et la chasse via les journaux d'événements Windows.
Au moment de la rédaction du moment de la rédaction, il existe très peu d'outils open-source et autonomes qui fournissent une méthode simple et rapide de journaux d'événements Windows, identifiant des éléments intéressants dans les journaux et appliquant un format de règle de logique de détection (comme Sigma) pour détecter les signes d'activité malveillante. Dans nos tests, les outils qui existaient ont eu du mal à appliquer efficacement la logique de détection à de grands volumes de journaux d'événements, ce qui les rend inadaptés aux scénarios où un triage rapide est requis.
En utilisant les paramètres --sigma et --mapping vous pouvez spécifier un répertoire contenant un sous-ensemble de règles de détection Sigma (ou tout simplement le repo Sigma Git entier) et la tronçonneuse chargera automatiquement, convertira et exécutera ces règles par rapport aux journaux d'événements fournis. Le fichier de mappage indique à Chainsaw quel champs dans les journaux d'événements à utiliser pour la correspondance des règles. Par défaut, la tronçonneuse prend en charge une large gamme de types de journaux d'événements, y compris, mais sans s'y limiter:
| Type d'événement | ID d'événement |
|---|---|
| Création de processus (sysmon) | 1 |
| Connexions réseau (sysmon) | 3 |
| Charges d'image (sysmon) | 7 |
| Création de fichiers (sysmon) | 11 |
| Événements de registre (sysmon) | 13 |
| Blocs de script PowerShell | 4104 |
| Création de processus | 4688 |
| Création de tâches planifiée | 4698 |
| Création de services | 7045 |
Voir le fichier de mappage pour la liste complète des champs utilisés pour la détection des règles et n'hésitez pas à l'étendre à vos besoins.
En plus de prendre en charge les règles Sigma, Chainsaw prend également en charge un format de règle personnalisé. Dans le référentiel, vous trouverez un répertoire rules qui contient diverses règles de tronçonneuse qui permet aux utilisateurs de:
Avec la libération de Chainsaw V2, nous avons décidé de ne plus inclure les règles Sigma et les référentiels EVTX-Attack-Samples comme sous-modules de tronçonneuse. Nous vous recommandons de cloner ces référentiels séparément pour vous assurer d'avoir les dernières versions.
Si vous avez toujours besoin d'un package tout-en-un contenant le binaire de tronçonneuse, des règles Sigma et des journaux d'événements, vous pouvez le télécharger à partir de la section des versions de ce repo github. Dans cette section des versions, vous trouverez également des versions binaires pré-complétes de la tronçonneuse pour diverses plates-formes et architectures.
Si vous souhaitez compiler la tronçonneuse vous-même, vous pouvez cloner le dépôt de tronçonneuse:
git clone https://github.com/WithSecureLabs/chainsaw.git
Et compilez le code vous-même en fonctionnant: cargo build --release . Une fois la construction terminée, vous trouverez une copie du binaire compilé dans le dossier Target / Release.
Assurez-vous de construire avec le drapeau --release car cela garantira un temps d'exécution beaucoup plus rapide.
Si vous voulez voir rapidement à quoi ressemble la tronçonneuse lorsqu'il fonctionne, vous pouvez cloner les règles Sigma et les référentiels EVTX-Attack-Samples:
git clone https://github.com/SigmaHQ/sigma
git clone https://github.com/sbousseaden/EVTX-ATTACK-SAMPLES.git
puis exécutez la tronçonneuse avec les paramètres ci-dessous:
./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'
La tronçonneuse, en tant que package, est disponible via Nixpkgs. Si vous utilisez Nixos, ajoutez simplement chainsaw au fichier de configuration de votre système.
Cependant, si vous n'utilisez pas Nixos, vous pouvez toujours installer la tronçonneuse via Nix. Le moyen recommandé est via nix-shell , qui modifiera temporairement votre variable d'environnement $ Path. Pour ce faire, veuillez exécuter ce qui suit:
nix-shell -p chainsaw
Vous pouvez également utiliser le fait que ce repo est un flocon, et vous pouvez exécuter ce qui suit:
nix profile install github:WithSecureLabs/chainsaw
Cependant, si vous souhaitez construire vous-même la tronçonneuse, en utilisant Nix, vous pouvez à nouveau utiliser flake.nix , qui est fourni avec ce référentiel. Pour construire le binaire, veuillez exécuter ce qui suit, dans le dir de racine du repo cloné
nix build .#
Cela créera ./result Directory, avec Bainsaw Binary situé sous ./result/bin/chainsaw .
Lorsque vous téléchargez et en cours d'exécution de tronçonneuse, vous pouvez constater que votre moteur EDR / antivirus local détecte la tronçonneuse comme malveillante. Vous pouvez en voir des exemples dans les problèmes de GitHub suivants: Exemple1, exemple2.
Ces avertissements sont généralement dus aux exemples de journaux d'événements et / ou aux règles Sigma qui contiennent des références aux cordes malveillantes (par exemple "Mimikatz"). Nous avons également vu des cas où le binaire de tronçonneuse a été détecté par un petit sous-ensemble de moteurs antivirus probablement en raison d'une forme de détection de l'heuristique.
En juillet 2022, nous avons publié la version 2 de la tronçonneuse qui est une refonte majeure du fonctionnement de la tronçonneuse. La tronçonneuse V2 contient plusieurs améliorations significatives, y compris la liste des points forts suivants:
Si vous souhaitez toujours utiliser la version 1 de la tronçonneuse, vous pouvez trouver des binaires compilés dans la section des versions, ou vous pouvez accéder au code source dans la branche v1.xx. Veuillez noter que la tronçonneuse V1 n'est plus entretenue et que tous les utilisateurs devraient chercher à passer à la tronçonneuse V2.
Un grand merci à @alexkornitzer qui a réussi à convertir la base de code "Project de Noël" de Chainsaw V1 en un produit poli en V2.
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
Recherchez tous les fichiers .evtx pour la chaîne insensible à la cas "Mimikatz"
./chainsaw search mimikatz -i evtx_attack_samples/
* Recherchez tous les fichiers .evtx pour les événements de bloc de script PowerShell (ID d'événement 4014)
./chainsaw search -t 'Event.System.EventID: =4104' evtx_attack_samples/
Recherchez un journal EVTX spécifique pour les événements de connexion, avec un modèle regex correspondant, sortie au format JSON
./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
Traverser tous les fichiers EVTX à l'aide de règles Sigma pour la logique de détection
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml
Traversez tous les fichiers EVTX à l'aide de règles Sigma et de règles de tronçonneuse pour la logique de détection et la sortie au format CSV au dossier Résultats
./chainsaw hunt evtx_attack_samples/ -s sigma/ --mapping mappings/sigma-event-logs-all.yml -r rules/ --csv --output results
Parcourez tous les fichiers EVTX à l'aide de règles Sigma pour la logique de détection, ne recherchez que des horodatages spécifiques et sur les résultats au format JSON
./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 est inclus dans l'analyse / shimcache_patterns.txt.Analysez un artefact shimcache avec les modèles regex fournis et utilisez un enrichissement AMCache avec l'horodatage près de la détection des paires activées. Sortie en fichier CSV.
./chainsaw analyse shimcache ./SYSTEM --regexfile ./analysis/shimcache_patterns.txt --amcache ./Amcache.hve --tspair --output ./output.csv
Analyser un artefact Shimcache avec les modèles regex fournis (sans enrichissement Amcache). Sortie du terminal.
./chainsaw analyse shimcache ./SYSTEM --regexfile ./analysis/shimcache_patterns.txt
L'analyseur de la base de données SRUM implémentés dans la tronçonneuse diffère des autres analyseurs car il ne s'appuie pas sur des valeurs codées en dur concernant les tables. Les informations sont extraites directement de la ruche du logiciel, ce qui est un argument obligatoire. L'objectif est d'éviter les erreurs liées aux tables inconnues.
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
Analyser la base de données SRUM (la ruche du logiciel est obligatoire)
./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"
Des informations sur les nouvelles informations médico-légales liées à cet artefact peuvent être trouvées dans le wiki: https://github.com/withsecurebs/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
Vider la ruche du logiciel
./chainsaw dump ./SOFTWARE.hve --json --output ./output.json