
Ferramenta rápida de enumeração de nomes curtos de arquivos IIS que identifica arquivos e diretórios ocultos por meio da vulnerabilidade tilde, com resolução automática de nomes completos e correspondência baseada em checksum.
Uma ferramenta de enumeração de nomes curtos de arquivos do IIS.
Shortscan foi projetado para determinar rapidamente quais arquivos com nomes curtos existem em um servidor web IIS. Uma vez identificado um nome curto, a ferramenta tentará identificar automaticamente o nome completo do arquivo.
Além dos métodos de descoberta padrão, o Shortscan também utiliza uma abordagem única de correspondência de checksum para tentar encontrar o nome longo onde o nome curto se baseia no algoritmo proprietário de checksum de prevenção de colisão de nomes curtos do Windows (mais sobre esta pesquisa em uma data futura).
Usando uma versão recente do go:
go install github.com/bitquark/shortscan/cmd/shortscan@latest
Para compilar (e opcionalmente instalar) localmente:
go get && go build
go install
Shortscan é fácil de usar com configuração mínima. O uso básico é assim:
$ shortscan http://example.org/
Você também pode especificar um arquivo contendo uma lista de URLs a serem escaneadas:
$ shortscan @urls.txt
Este exemplo define múltiplos cabeçalhos personalizados usando --header/-H várias vezes:
shortscan -H 'Host: gibson' -H 'Authorization: Basic ZGFkZTpsMzN0'
Para verificar se um site é vulnerável sem realizar enumeração de arquivos, use:
shortscan --isvuln
As seguintes opções permitem ajustes adicionais:
🌀 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
O projeto shortscan inclui um utilitário chamado shortutil que pode ser usado para realizar várias operações com nomes curtos de arquivos e para criar tabelas arco-íris personalizadas para uso com a ferramenta.
Você pode criar uma tabela arco-íris a partir de uma wordlist existente assim:
shortutil wordlist input.txt > output.rainbow
Para gerar um checksum único para um arquivo:
shortutil checksum index.html
Execute shortutil <command> --help para uma lista definitiva de opções 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
Uma wordlist personalizada foi criada para o shortscan. Para detalhes completos, veja pkg/shortscan/resources/README.md
Pesquisa original sobre nomes curtos do IIS research por Soroush Dalili.
Pesquisa adicional e este projeto por bitquark.