
Schnelles IIS-Kurzdateinamen-Enumerationstool, das versteckte Dateien und Verzeichnisse über die Tilde-Schwachstelle identifiziert, mit automatischer vollständiger Dateinamenauflösung und Checksummen-basiertem Abgleich.
Ein IIS-Tool zur Aufzählung kurzer Dateinamen.
Shortscan wurde entwickelt, um schnell zu ermitteln, welche Dateien mit kurzen Dateinamen auf einem IIS-Webserver vorhanden sind. Sobald ein kurzer Dateiname identifiziert wurde, versucht das Tool automatisch, den vollständigen Dateinamen zu ermitteln.
Zusätzlich zu den standardmäßigen Erkennungsmethoden verwendet Shortscan einen einzigartigen Prüfsummenabgleichsansatz, um den langen Dateinamen zu finden, wenn der kurze Dateiname auf dem proprietären Windows-Algorithmus zur Vermeidung von Kurznamenkollisionen basiert (mehr zu dieser Forschung zu einem späteren Zeitpunkt).
Mit einer aktuellen Version von go:
go install github.com/bitquark/shortscan/cmd/shortscan@latest
Um lokal zu bauen (und optional zu installieren):
go get && go build
go install
Shortscan ist einfach zu bedienen und erfordert nur minimale Konfiguration. Die grundlegende Verwendung sieht wie folgt aus:
$ shortscan http://example.org/
Sie können auch eine Datei mit einer Liste von URLs angeben, die gescannt werden sollen:
$ shortscan @urls.txt
Dieses Beispiel setzt mehrere benutzerdefinierte Header, indem --header/-H mehrfach verwendet wird:
shortscan -H 'Host: gibson' -H 'Authorization: Basic ZGFkZTpsMzN0'
Um zu überprüfen, ob eine Site verwundbar ist, ohne eine Dateiaufzählung durchzuführen, verwenden Sie:
shortscan --isvuln
Die folgenden Optionen ermöglichen weitere Anpassungen:
🌀 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
Das Shortscan-Projekt enthält ein Dienstprogramm namens shortutil, das zur Durchführung verschiedener Operationen mit kurzen Dateinamen und zur Erstellung benutzerdefinierter Regenbogentabellen für die Verwendung mit dem Tool verwendet werden kann.
Sie können auf diese Weise eine Regenbogentabelle aus einer vorhandenen Wortliste erstellen:
shortutil wordlist input.txt > output.rainbow
Um eine einmalige Prüfsumme für eine Datei zu generieren:
shortutil checksum index.html
Führen Sie shortutil <command> --help aus, um eine endgültige Liste der Optionen für jeden Befehl zu erhalten.
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
Eine benutzerdefinierte Wortliste wurde für Shortscan erstellt. Vollständige Details finden Sie unter pkg/shortscan/resources/README.md
Ursprüngliche Forschung zu kurzen IIS-Dateinamen research von Soroush Dalili.
Weitere Forschung und dieses Projekt von bitquark.