{"id":23853951,"url":"https://github.com/zh54321/snafflerparser","last_synced_at":"2025-04-09T21:13:07.243Z","repository":{"id":252996448,"uuid":"767608308","full_name":"zh54321/SnafflerParser","owner":"zh54321","description":"Parses Snaffler output file and generate beautified outputs.","archived":false,"fork":false,"pushed_at":"2025-01-25T13:07:27.000Z","size":3130,"stargazers_count":90,"open_issues_count":1,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-09T21:13:03.798Z","etag":null,"topics":["pentest","pentest-scripts","pentest-tool","pentesting","pentesting-windows","snaffler"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zh54321.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-05T15:47:45.000Z","updated_at":"2025-04-09T10:25:57.000Z","dependencies_parsed_at":"2024-08-13T22:18:19.678Z","dependency_job_id":"a181e2e7-8dc6-4ac2-b8ad-6e0506982cc0","html_url":"https://github.com/zh54321/SnafflerParser","commit_stats":null,"previous_names":["zh54321/snafflerparser"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zh54321%2FSnafflerParser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zh54321%2FSnafflerParser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zh54321%2FSnafflerParser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zh54321%2FSnafflerParser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zh54321","download_url":"https://codeload.github.com/zh54321/SnafflerParser/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248111973,"owners_count":21049578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pentest","pentest-scripts","pentest-tool","pentesting","pentesting-windows","snaffler"],"created_at":"2025-01-02T23:37:37.862Z","updated_at":"2025-04-09T21:13:07.221Z","avatar_url":"https://github.com/zh54321.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Snaffler Output File Parser\nEspecially in large environments, the Snaffler output gets very large and time-consuming to analyze.\n\nThis script parse the Snaffler output file (TSV format required) and:\n- Beautify it: Proper tables and different output formats like TXT, CSV, HTML, JSON or PS Gridview.\n- The HTML output file:\n    - Supports basic sorting and filtering (severity \u0026 extension)\n    - Highlights the finding keyword in the file preview text\n    - Contains direct links to the parent folder of the file and a download link for the file itself.\n    - Contains basing information about the Snaffler job.\n    - Support with the review workflow by let you mark reviewed or interesting items.\n    - Can unescape the preview text to make it more readable.\n- Sorts based on the severity (black, red, yellow, green) and then by date or unc.\n- Can export all the shares to the Explorer++ config files as bookmarks.\n- Generate a list of all shares Snaffler was able to access (might be useful for your client).\n\n# Show Case\nParsing output file:\n\n![Console Output](/images/parser_console.png \"Console Output\")\n\nHTML output:\n![HTML Output](/images/HTML_output.png \"HTML Output\")\n\nTXT output:\n![TXT Output](/images/TXT_output.png \"TXT Output\")\n\n# Preconditions and Usage\nSnaffler must be executed with the `-y` switch in order to create an output file in the TSV format.\n\nExample:\n`.\\Snaffler.exe -o snafflerout.txt -s -y`\n\n## Simple Parse\nSimple parse the file my_snaffler_output.txt and write output with default sorting (severity, date modified) and default output files (TXT, CSV, HTML).\n`.\\snafflerparser.ps1 -in my_snaffler_output.txt`\n\n## Output Options\nThe different file output options are:\n- `-outformat all` Write txt, csv, html and json (default)\n- `-outformat txt` Write txt\n- `-outformat csv` Write csv\n- `-outformat html` Write html\n- `-outformat json` Write json\n\nThose files can be splitted regarding the finding severity (black, red, yellow, green) using the `-split` switch.\n\nAdditonally a PS gridview output can be showed using ``-gridview`.\n\n## HTML Report\n\n### Dark Mode and Light Mode\nDark mode is no default.\n\nUse `-lightmode` to switch back to the light mode HTML report.\n\n### Custom Checkboxes for the Review Process\nThere are now 2 custom checkboxes:\n- check : Mark interesting files to check later.\n- done  : Mark files you have checked\n\nBy clicking on a checkbox, you can use the W, S, A, D keys or the arrow keys to navigate through the checkboxes within the columns, and press the spacebar to toggle them. This allows you to efficiently navigate and mark items in the list without using the mouse.\n\nUse the filter buttons above to hide files you have checked, or to only display interesting files.\n\n![custom checkboxes](/images/custom_checkboxes.gif \"Custom checkboxes\")\n\nImportant: to save the current markings you have to click on the 'Save HTML' which will download a copy of the file including your checkbox selection.\n\n### Unescaping (experimental)\nSnaffler escapes line breaks etc. in the preview content to display it in the command line.\nSnafflerParser can unescape the preview text to make the code better readable in HTML or PS GridView.\n\nSimply use the switch `-unescape`\n\nExample:\n\n![Unescape example](/images/unescape.png \"Unescape example\")\n\nNote: Makes the rows larger.\n\n## Sorting\nThe output will always be sorted regarding the severity than it can be sorted by:\n- `-sort modified` File modified date (default)\n- `-sort keyword` Snaffler keyword\n- `-sort unc` File UNC Path\n- `-sort rule` Snaffler rule name\n\n## Explorer++ Integration\n\nExplorer++ is an alternative file explorer on windows.\n\n\nThe 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.\n\nDonwload Explorer++ https://github.com/derceg/explorerplusplus to the same folder and configure the portable mode:\n\n![Configure Explorer++ in portable mode](/images/explorerpp_settings.png \"Configure portable mode\")\n\nThis will create an config.xml in the same folder.\n\nParse the Snaffler file using the `-pte` switch to export all accessible shares as bookmarks to the Explorer++ config XML: `.\\snafflerParser.ps1 -in Snaffler_output.txt -pte`\n\nExplorer++ can then be executed as the user which have access to the shares: `runas /user:domain\\user /netonly Explorerpp.exe`\nThis allows easy access to the shares without authenticate for every share via the bookmark bar:\n\n![Explorer++ Bookmarks](/images/explorerpp_bookmarks.png \"Explorer++ Bookmarks\")\n\n\n## Changelog\n\n### 2025-01-25\n\n#### Improved\n- Slightly improved performance\n- Adjusted status messages\n\n### 2025-01-21\n\n#### New\n- Custom checkboxes to support with the review process (feature request #3)\n- Experimental unescape feature\n- Dark mode\n\n#### Improved\n- General improvements HTML report\n\n\n### 2025-01-17\n\n#### Fixed\n- Issue #2: Fixed: Spaces breaking in the open or download links","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzh54321%2Fsnafflerparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzh54321%2Fsnafflerparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzh54321%2Fsnafflerparser/lists"}