Analizador del Archivo de Salida de Snaffler
Especialmente en entornos grandes, la salida de Snaffler se vuelve muy extensa y consume mucho tiempo de análisis.
Este script analiza el archivo de salida de Snaffler (se requiere formato TSV) y:
- Embellece los resultados en tablas legibles y los exporta a TXT, CSV, HTML, JSON o PS Gridview.
- Genera un informe HTML interactivo con:
- Filtros (severidad, extensión, año de modificación) y búsqueda de texto completo
- Ordenación dinámica
- Resaltado de palabras clave dentro del texto de vista previa
- Acciones directas (abrir carpeta contenedora, descargar archivo, copiar UNC, copiar UNC de la carpeta contenedora)
- Flujo de revisión con estado persistente:
- ★ marcado (interesante)
- ✓ hecho (revisado)
- Modo unescape opcional para mejorar la legibilidad de la vista previa (experimental)
- Paginación para conjuntos de datos muy grandes
- Selector de columnas (persistido por informe)
- Exportación de la vista filtrada actual a CSV
- Metadatos del trabajo de Snaffler (inicio/fin /host/usuario/marcas de tiempo...)
- Ordena la salida por severidad (Black/Red/Yellow/Green) y después por fecha de modificación (por defecto) u otro campo
- Exporta todos los recursos compartidos (shares) descubiertos a un archivo de texto
- Puede exportar los recursos compartidos accesibles como marcadores de Explorer++
Demostración
Analizando el archivo de salida:

Salida HTML:

Salida TXT:

Requisitos previos y uso
Snaffler debe ejecutarse con el parámetro -y para crear un archivo de salida en formato TSV.
Ejemplo:
.\Snaffler.exe -o snafflerout.txt -s -y
Parseo simple
Analiza el archivo my_snaffler_output.txt y escribe la salida con la ordenación predeterminada (severidad, fecha de modificación) y los archivos de salida predeterminados (TXT, CSV, HTML).
.\snafflerparser.ps1 -in my_snaffler_output.txt
Opciones de salida
Las diferentes opciones de salida de archivo son:
-outformat all Escribe txt, csv, html y json (por defecto)
-outformat txt Escribe txt
-outformat csv Escribe csv
-outformat html Escribe html
-outformat json Escribe json
Esos archivos se pueden dividir según la severidad encontrada (black, red, yellow, green) mediante el parámetro -split.
Adicionalmente, se puede mostrar una salida de PS gridview usando -gridview.
Características
- Paginación para informes grandes
- Búsqueda de texto completo (UNC / regla / palabra clave / contenido) con resaltado
- Filtros:
- Severidad (Black / Red / Yellow / Green)
- Año de modificación
- Extensión de archivo (con búsqueda de extensión)
- Filtros de estado: solo ★ marcados / ocultar ✓ hechos
- Ordenación haciendo clic en los encabezados de la tabla (la agrupación por severidad se conserva a menos que cambies a la ordenación global)
- Resaltado de palabras clave en el contenido de la vista previa
- Acciones por fila:
- Copiar ruta UNC completa
- Copiar ruta UNC de la carpeta contenedora
- Abrir carpeta contenedora (
file://)
- Descargar archivo (
file://)
- Selector de columnas (persistido por informe)
- Exportación de la vista filtrada actual a CSV
- Encabezado de metadatos del informe + ventana modal de "Información del trabajo" (archivo de entrada, host/usuario, hash, marcas de tiempo, duraciones)
- Alternancia de modo oscuro / claro
Flujo de revisión (★ / ✓)
Dos casillas de verificación permiten un proceso de revisión rápido:
- ★ (marcado): marca archivos interesantes para revisarlos más tarde
- ✓ (hecho): marca archivos revisados
Navegación por teclado:
- Usa W/S o ↑/↓ para moverte hacia arriba/abajo dentro de la columna de casillas
- Usa A/D o ←/→ para moverte entre ★ y ✓
- Pulsa Espacio para alternar la casilla enfocada
- Teclas de acceso rápido:
Ayudas de filtrado:
- "Mostrar solo ★" para centrarse en los elementos marcados
- "Ocultar ✓ hechos" para eliminar los elementos revisados de la vista
Persistencia: el estado de las casillas se guarda en el localStorage de tu navegador para este informe.
Para almacenar permanentemente las marcas actuales, haz clic en Guardar HTML en el informe (descarga una copia con tu estado incrustado).
Desescapado del texto de vista previa (experimental)
Snaffler escapa los saltos de línea y otros caracteres en el contenido de vista previa para mostrarlo en la terminal.
El informe HTML incluye una alternancia Unescape que convierte las secuencias escapadas comunes (como \n, \r\n, \t) en formato legible.
Ejemplo:

Nota: El desescapado también puede cambiar cadenas que Snaffler no había escapado originalmente. Trátalo como una ayuda de legibilidad.
Ordenación
La salida siempre se agrupa por severidad (Black → Red → Yellow → Green).
Dentro de cada grupo puedes ordenar por:
-sort modified Fecha de modificación del archivo (por defecto)
-sort keyword Palabra clave de Snaffler
-sort unc Ruta UNC del archivo
-sort rule Nombre de la regla de Snaffler
Integración con Explorer++
Explorer++ es un explorador de archivos alternativo y ligero para Windows que admite ejecutarse en un contexto de usuario diferente, incluido el parámetro /netonly. Esto es especialmente útil durante evaluaciones donde la estación de trabajo o VM no está unida al dominio.
Qué hace SnafflerParser
Cuando se usa el parámetro -pte, SnafflerParser se integra directamente con Explorer++ gestionando su archivo config.xml:
- Genera
config.xml si no existe (modo portátil)
- Garantiza que la Barra de marcadores esté habilitada
- Elimina los marcadores generados previamente
- Crea una carpeta de marcadores por host
- Añade todos los recursos compartidos accesibles como marcadores bajo el host correspondiente
- Permite una navegación rápida a los recursos compartidos sin solicitudes de autenticación repetidas
Uso
-
Descarga Explorer++ desde
https://github.com/derceg/explorerplusplus
-
Coloca Explorer++.exe en el mismo directorio que snafflerParser.ps1
-
Analiza la salida de Snaffler y exporta los recursos compartidos a Explorer++:
.\snafflerParser.ps1 -in snafflerout.txt -pte
-
Ejecuta Explorer++ en un contexto de usuario diferente:
runas /user:DOMAIN\user /netonly Explorer++.exe
-
Usa la Barra de marcadores para navegar rápidamente por los recursos compartidos descubiertos.

Por qué es útil:
- No es necesario autenticarse por separado para cada recurso compartido
- Funciona bien desde sistemas no unidos al dominio
Historial de cambios
2026-05-26
Corregido
- La columna de contenido ya no aparece vacía al analizar la salida de versiones más recientes de Snaffler (>=1.0.244). Las versiones recientes de Snaffler añaden un campo de nombre de archivo original antes de la columna de contenido (utilizado para archivos de la biblioteca de contenido de SCCM).
El analizador ahora gestiona de forma transparente tanto el formato antiguo (13 columnas) como el nuevo (14 columnas).
- Ya no falla al analizar la salida de un trabajo de Snaffler interrumpido (falta la marca de tiempo final / duración).
2026-01-04
Mejorado
- Análisis, procesamiento y generación de informes más rápidos (aproximadamente un 50% más rápido en general)
- Tamaño del informe HTML reducido (aproximadamente un 60% más pequeño)
- Integración con Explorer++:
Config.xml se generará si no existe. La barra de marcadores se habilitará si está deshabilitada.
- Renovación del informe HTML
- Paginación para informes grandes (mejora importante de rendimiento para informes con más de 100k archivos)
- Filtros adicionales: fecha de modificación (filtrado por año)
- Mejor filtrado por extensión de archivo
- Alternancia de modo oscuro/claro directamente en el informe
- Ajuste de línea adecuado para rutas UNC largas
- Exportación de resultados filtrados a CSV
- Estados persistidos de marcado (★) y revisado (✓) mediante almacenamiento local
- Las columnas se pueden mostrar/ocultar (ajustes guardados por informe)
- Búsqueda de texto completo con resaltado de palabras clave
- Diseño de filtros mejorado y más compacto
- Barra de acciones con funciones adicionales (copiar ruta UNC completa / copiar ruta de la carpeta contenedora)
- Fila de encabezado con metadatos del informe y una ventana modal de información
- Botón para desescapar contenido (experimental)
Corregido
- Añadidas comprobaciones para rutas UNC no válidas (corrige el problema #5)
- La paginación debería corregir el problema #4
Eliminado
- Eliminado el parámetro
-lightmode.
- Eliminado el parámetro
-unescape.
2025-01-25
Mejorado
- Rendimiento ligeramente mejorado
- Ajustados los mensajes de estado
2025-01-21
Nuevo
- Casillas de verificación personalizadas para apoyar el proceso de revisión (solicitud de función #3)
- Función de desescapado experimental
- Modo oscuro
Mejorado
- Mejoras generales en el informe HTML
2025-01-17
Corregido
- Problema #2: Corregido: espacios que rompían los enlaces de apertura o descarga