
Быстрый инструмент для перечисления коротких имен файлов IIS, который выявляет скрытые файлы и каталоги через уязвимость тильды, с автоматическим разрешением полных имен файлов и сопоставлением на основе контрольных сумм.
Инструмент для перечисления коротких имен файлов IIS.
Shortscan предназначен для быстрого определения, какие файлы с короткими именами существуют на веб-сервере IIS. После обнаружения короткого имени файла инструмент попытается автоматически определить полное имя файла.
В дополнение к стандартным методам обнаружения Shortscan также использует уникальный подход сверки контрольных сумм для попытки найти длинное имя файла, где короткое имя основано на проприетарном алгоритме Windows для избежания коллизий коротких имен (подробнее об этом исследовании позже).
Используя последнюю версию go:
go install github.com/bitquark/shortscan/cmd/shortscan@latest
Для сборки (и опционально установки) локально:
go get && go build
go install
Shortscan прост в использовании и требует минимальной настройки. Базовое использование выглядит так:
$ shortscan http://example.org/
Также можно указать файл, содержащий список URL для сканирования:
$ shortscan @urls.txt
Этот пример устанавливает несколько пользовательских заголовков с помощью многократного использования --header/-H:
shortscan -H 'Host: gibson' -H 'Authorization: Basic ZGFkZTpsMzN0'
Чтобы проверить, уязвим ли сайт, без перечисления файлов, используйте:
shortscan --isvuln
Следующие параметры позволяют дополнительно настроить работу:
🌀 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
Проект Shortscan включает утилиту shortutil, которую можно использовать для выполнения различных операций с короткими именами файлов и для создания пользовательских rainbow-таблиц для использования с инструментом.
Вы можете создать rainbow-таблицу из существующего списка слов следующим образом:
shortutil wordlist input.txt > output.rainbow
Для генерации одноразовой контрольной суммы для файла:
shortutil checksum index.html
Выполните shortutil <command> --help для получения полного списка параметров для каждой команды.
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
Для shortscan был создан пользовательский список слов. Полные подробности см. в pkg/shortscan/resources/README.md
Оригинальное исследование коротких имен файлов IIS выполнено Soroush Dalili.
Дополнительные исследования и этот проект — bitquark.