Analyseur de fichier de sortie Snaffler
En particulier dans les grands environnements, la sortie de Snaffler devient très volumineuse et longue à analyser.
Ce script analyse le fichier de sortie de Snaffler (format TSV requis) et :
- Met en forme les résultats dans des tableaux lisibles et les exporte en TXT, CSV, HTML, JSON ou PS Gridview.
- Génère un rapport HTML interactif avec :
- Filtres (sévérité, extension, année de modification) et recherche en texte intégral
- Tri dynamique
- Surlignage des mots-clés dans le texte d'aperçu
- Actions directes (ouvrir le dossier parent, télécharger le fichier, copier l'UNC, copier l'UNC parent)
- Workflow de revue avec état persistant :
- ★ signalé (intéressant)
- ✓ fait (revu)
- Mode unescape facultatif pour améliorer la lisibilité de l'aperçu (expérimental)
- Pagination pour les très grands ensembles de données
- Sélecteur de colonnes (persisté par rapport)
- Export de la vue filtrée en cours en CSV
- Métadonnées du travail Snaffler (début/fin/hôte/utilisateur/horodatages...)
- Trie la sortie par sévérité (Noir/Rouge/Jaune/Vert) puis par date de modification (par défaut) ou un autre champ
- Exporte tous les partages découverts dans un fichier texte
- Peut exporter les partages accessibles sous forme de signets Explorer++
Démonstration
Analyse du fichier de sortie :

Sortie HTML :

Sortie TXT :

Prérequis et utilisation
Snaffler doit être exécuté avec l'option -y afin de créer un fichier de sortie au format TSV.
Exemple :
.\Snaffler.exe -o snafflerout.txt -s -y
Analyse simple
Analyse simplement le fichier my_snaffler_output.txt et écrit la sortie avec le tri par défaut (sévérité, date de modification) et les fichiers de sortie par défaut (TXT, CSV, HTML).
.\snafflerparser.ps1 -in my_snaffler_output.txt
Options de sortie
Les différentes options de fichier de sortie sont :
-outformat all Écrit txt, csv, html et json (par défaut)
-outformat txt Écrit txt
-outformat csv Écrit csv
-outformat html Écrit html
-outformat json Écrit json
Ces fichiers peuvent être divisés selon la sévérité (noir, rouge, jaune, vert) à l'aide de l'option -split.
De plus, une sortie PS gridview peut être affichée en utilisant ``-gridview`.
Rapport HTML
Fonctionnalités
- Pagination pour les rapports volumineux
- Recherche en texte intégral (UNC / règle / mot-clé / contenu) avec surlignage
- Filtres :
- Sévérité (Noir / Rouge / Jaune / Vert)
- Année de modification
- Extension de fichier (avec recherche d'extension)
- Filtres de statut : ★ signalés uniquement / masquer ✓ fait
- Tri en cliquant sur les en-têtes de tableau (le regroupement par sévérité est conservé sauf si vous passez au tri global)
- Surlignage des mots-clés dans le contenu de l'aperçu
- Actions par ligne :
- Copier le chemin UNC complet
- Copier le chemin UNC parent
- Ouvrir le dossier parent (
file://)
- Télécharger le fichier (
file://)
- Sélecteur de colonnes (persisté par rapport)
- Export de la vue filtrée actuelle en CSV
- En-tête de métadonnées du rapport + fenêtre modale « Job Info » (fichier d'entrée, hôte/utilisateur, hash, horodatages, durées)
- Bascule mode sombre / clair
Workflow de revue (★ / ✓)
Deux cases à cocher prennent en charge un processus de revue rapide :
- ★ (signalé) : marquer les fichiers intéressants à revoir
- ✓ (fait) : marquer les fichiers revus
Navigation au clavier :
- Utilisez W/S ou ↑/↓ pour vous déplacer de haut en bas dans la colonne des cases à cocher
- Utilisez A/D ou ←/→ pour vous déplacer entre ★ et ✓
- Appuyez sur Espace pour activer/désactiver la case à cocher ciblée
- Raccourcis clavier :
1 active/désactive ★
2 active/désactive ✓
Aides au filtrage :
- « Afficher uniquement ★ » pour se concentrer sur les éléments signalés
- « Masquer ✓ fait » pour retirer les éléments revus de la vue
Persistance : l'état des cases à cocher est enregistré dans le localStorage de votre navigateur pour ce rapport.
Pour stocker définitivement les marquages actuels, cliquez sur Enregistrer le HTML dans le rapport (télécharge une copie avec votre état intégré).
Déséchappement du texte d'aperçu (expérimental)
Snaffler échappe les sauts de ligne et d'autres caractères dans le contenu de l'aperçu afin de l'afficher dans le terminal.
Le rapport HTML inclut une bascule Unescape qui convertit les séquences échappées courantes (comme \n, \r\n, \t) en un format lisible.
Exemple :

Remarque : Le déséchappement peut également modifier des chaînes qui n'avaient pas été échappées à l'origine par Snaffler. Considérez-le comme une aide à la lisibilité.
Tri
La sortie est toujours groupée par sévérité (Noir → Rouge → Jaune → Vert).
Au sein de chaque groupe, vous pouvez trier par :
-sort modified Date de modification du fichier (par défaut)
-sort keyword Mot-clé Snaffler
-sort unc Chemin UNC du fichier
-sort rule Nom de la règle Snaffler
Intégration avec Explorer++
Explorer++ est un explorateur de fichiers alternatif léger pour Windows qui permet de s'exécuter dans un contexte utilisateur différent, y compris avec l'option /netonly. Cela est particulièrement utile lors d'audits où le poste de travail ou la VM n'est pas joint au domaine.
Ce que fait SnafflerParser
Lorsque vous utilisez l'option -pte, SnafflerParser s'intègre directement à Explorer++ en gérant son fichier config.xml :
- Génère
config.xml s'il n'existe pas (mode portable)
- Garantit que la barre de signets est activée
- Supprime les signets générés précédemment
- Crée un dossier de signets par hôte
- Ajoute tous les partages accessibles comme signets sous l'hôte correspondant
- Permet une navigation rapide vers les partages sans invites d'authentification répétées
Utilisation
-
Téléchargez Explorer++ depuis
https://github.com/derceg/explorerplusplus
-
Placez Explorer++.exe dans le même répertoire que snafflerParser.ps1
-
Analysez la sortie de Snaffler et exportez les partages vers Explorer++ :
.\snafflerParser.ps1 -in snafflerout.txt -pte
-
Lancez Explorer++ dans un contexte utilisateur différent :
runas /user:DOMAIN\user /netonly Explorer++.exe
-
Utilisez la barre de signets pour parcourir rapidement les partages découverts.

Pourquoi c'est utile :
- Pas besoin de s'authentifier séparément pour chaque partage
- Fonctionne bien à partir de systèmes non joints au domaine
Journal des modifications
2026-05-26
Corrections
- La colonne Contenu n'est plus vide lors de l'analyse des sorties des versions plus récentes de Snaffler (>=1.0.244). Les nouvelles versions de Snaffler ajoutent un champ nom de fichier d'origine avant la colonne Contenu (utilisé pour les fichiers
de bibliothèque de contenu SCCM). Le parseur gère désormais de manière transparente les anciens (13 colonnes) et nouveaux (14 colonnes) formats.
- Ne plante plus lors de l'analyse d'un travail Snaffler interrompu (horodatage de fin / durée manquants).
2026-01-04
Améliorations
- Analyse, traitement et génération de rapports plus rapides (environ 50 % plus rapide au total)
- Taille du rapport HTML réduite (environ 60 % plus petite)
- Intégration Explorer++ :
Config.xml sera généré s'il n'existe pas. La barre de signets sera activée si elle est désactivée.
- Refonte du rapport HTML
- Pagination pour les rapports volumineux (amélioration majeure des performances pour les rapports de plus de 100 000 fichiers)
- Filtres supplémentaires : date de modification (filtrage par année)
- Amélioration du filtrage par extension de fichier
- Bascule mode sombre/clair directement dans le rapport
- Retour à la ligne correct pour les longs chemins UNC
- Export des résultats filtrés en CSV
- États signalé (★) et revu (✓) persistés via le stockage local
- Les colonnes peuvent être affichées/masquées (réglages stockés par rapport)
- Recherche en texte intégral avec surlignage des mots-clés
- Disposition des filtres améliorée et plus compacte
- Barre d'actions avec fonctions supplémentaires (copier le chemin UNC complet / copier le chemin du dossier parent)
- Ligne d'en-tête avec métadonnées du rapport et fenêtre d'information
- Bouton pour déséchapper le contenu (expérimental)
Corrections
- Ajout de contrôles pour les chemins UNC illégaux (corrige le problème #5)
- La pagination devrait corriger le problème #4
Suppressions
- Suppression du paramètre
-lightmode.
- Suppression du paramètre
-unescape.
2025-01-25
Améliorations
- Performances légèrement améliorées
- Messages de statut ajustés
2025-01-21
Nouveautés
- Cases à cocher personnalisées pour faciliter le processus de revue (demande de fonctionnalité #3)
- Fonctionnalité de déséchappement expérimentale
- Mode sombre
Améliorations
- Améliorations générales du rapport HTML
2025-01-17
Corrections
- Problème #2 : Corrigé : les espaces cassant les liens d'ouverture ou de téléchargement