Especially in large environments, the Snaffler output gets very large and time-consuming to analyze.
This script parse the Snaffler output file (TSV format required) and:
- Beautify it: Proper tables and different output formats like TXT, CSV, HTML, JSON or PS Gridview.
- The HTML output file:
- Supports basic sorting and filtering (severity & extension)
- Highlights the finding keyword in the file preview text
- Contains direct links to the parent folder of the file and a download link for the file itself.
- Contains basing information about the Snaffler job.
- Sorts based on the severity (black, red, yellow, green) and then by date or unc.
- Can export all the shares to the Explorer++ config files as bookmarks.
- Generate a list of all shares Snaffler was able to access (might be useful for your client).
Preconditions And Usage
Snaffler must be executed with the -y
switch in order to create an output file in the TSV format.
Example: .\Snaffler.exe -o snafflerout.txt -s -y
Simple Parse
Simple parse the file my_snaffler_output.txt and write output with default sorting (severity, date modified) and default output files (TXT, CSV, HTML). .\snafflerparser.ps1 -in my_snaffler_output.txt
Output Options
The different file output options are:
-outformat all
Write txt, csv, html and json-outformat txt
Write txt-outformat csv
Write csv-outformat html
Write html (includes clickable links)-outformat json
Write json
Those files can be splitted regarding the finding severity (black, red, yellow, green) using the -split
switch.
Additonally a PS gridview output can be showed using “-gridview`.
Sorting
The output will always be sorted regarding the severity than it can be sorted by:
-sort modified
File modified date (default)-sort keyword
Snaffler keyword-sort unc
File UNC Path-sort rule
Snaffler rule name
Explorer++ Integration
Explorer++ is an alternative file explorer on windows.
The great thing is that unlike the Windows Explorer it can be executed in another user’s context including the /netonly
switch. This is useful when performing a pentest from a dedicated, non-domain joined pentest notebook or VM.
For more information click here.