
Herramienta rápida de enumeración de nombres cortos de IIS que identifica archivos y directorios ocultos mediante la vulnerabilidad de tilde, con resolución automática de nombres completos y coincidencia basada en sumas de comprobación.
Una herramienta de enumeración de nombres cortos de archivos en IIS.
Shortscan está diseñado para determinar rápidamente qué archivos con nombres cortos existen en un servidor web IIS. Una vez identificado un nombre corto, la herramienta intentará identificar automáticamente el nombre completo del archivo.
Además de los métodos de descubrimiento estándar, Shortscan también utiliza un enfoque único de coincidencia de sumas de verificación para intentar encontrar el nombre largo donde el nombre corto se basa en el algoritmo patentado de Windows para evitar colisiones de nombres cortos (más información sobre esta investigación en una fecha posterior).
Usando una versión reciente de go:
go install github.com/bitquark/shortscan/cmd/shortscan@latest
Para compilar (e instalar opcionalmente) localmente:
go get && go build
go install
Shortscan es fácil de usar con una configuración mínima. El uso básico es:
$ shortscan http://example.org/
También puede especificar un archivo que contenga una lista de URLs para escanear:
$ shortscan @urls.txt
Este ejemplo establece múltiples encabezados personalizados usando --header/-H varias veces:
shortscan -H 'Host: gibson' -H 'Authorization: Basic ZGFkZTpsMzN0'
Para comprobar si un sitio es vulnerable sin realizar la enumeración de archivos, use:
shortscan --isvuln
Las siguientes opciones permiten ajustes adicionales:
🌀 Shortscan v0.9.2 · an IIS short filename enumeration tool by bitquark
Usage: main [--wordlist FILE] [--header HEADER] [--concurrency CONCURRENCY] [--timeout SECONDS] [--output format] [--verbosity VERBOSITY] [--fullurl] [--norecurse] [--stabilise] [--patience LEVEL] [--characters CHARACTERS] [--autocomplete mode] [--isvuln] URL [URL ...]
Positional arguments:
URL url to scan (multiple URLs can be provided; a file containing URLs can be specified with an «at» prefix, for example: @urls.txt)
Options:
--wordlist FILE, -w FILE
combined wordlist + rainbow table generated with shortutil
--header HEADER, -H HEADER
header to send with each request (use multiple times for multiple headers)
--concurrency CONCURRENCY, -c CONCURRENCY
number of requests to make at once [default: 20]
--timeout SECONDS, -t SECONDS
per-request timeout in seconds [default: 10]
--output format, -o format
output format (human = human readable; json = JSON) [default: human]
--verbosity VERBOSITY, -v VERBOSITY
how much noise to make (0 = quiet; 1 = debug; 2 = trace) [default: 0]
--fullurl, -F display the full URL for confirmed files rather than just the filename [default: false]
--norecurse, -n don't detect and recurse into subdirectories (disabled when autocomplete is disabled) [default: false]
--stabilise, -s attempt to get coherent autocomplete results from an unstable server (generates more requests) [default: false]
--patience LEVEL, -p LEVEL
patience level when determining vulnerability (0 = patient; 1 = very patient) [default: 0]
--characters CHARACTERS, -C CHARACTERS
filename characters to enumerate [default: JFKGOTMYVHSPCANDXLRWEBQUIZ8549176320-_()&'!#$%@^{}~]
--autocomplete mode, -a mode
autocomplete detection mode (auto = autoselect; method = HTTP method magic; status = HTTP status; distance = Levenshtein distance; none = disable) [default: auto]
--isvuln, -V bail after determining whether the service is vulnerable [default: false]
--help, -h display this help and exit
--version display version and exit
El proyecto shortscan incluye una utilidad llamada shortutil que se puede utilizar para realizar varias operaciones con nombres cortos de archivos y para crear tablas arcoíris personalizadas para usar con la herramienta.
Puede crear una tabla arcoíris a partir de una lista de palabras existente así:
shortutil wordlist input.txt > output.rainbow
Para generar una suma de verificación única para un archivo:
shortutil checksum index.html
Ejecute shortutil <command> --help para obtener una lista definitiva de opciones para cada comando.
Shortutil v0.3 · a short filename utility by bitquark
Usage: main <command> [<args>]
Options:
--help, -h display this help and exit
Commands:
wordlist add hashes to a wordlist for use with, for example, shortscan
checksum generate a one-off checksum for the given filename
Se creó una lista de palabras personalizada para shortscan. Para obtener más detalles, consulte pkg/shortscan/resources/README.md
Investigación original sobre nombres cortos de archivos en IIS research por Soroush Dalili.
Investigación adicional y este proyecto por bitquark.