
Moderne Alternative zu dirbuster/dirb
Dirstalk ist eine multithreaded Anwendung, die entwickelt wurde, um Pfade auf Webservern zu brute-forcen.
Das Tool bietet ähnliche Funktionalitäten wie die von dirbuster und dirb angebotenen.
Die Anwendung dokumentiert sich selbst; ein Aufruf von dirstalk -h gibt alle verfügbaren Befehle mit einer
kurzen Beschreibung aus. Die Hilfe für jeden Befehl erhalten Sie mit distalk <befehl> -h.
Z.B. dirstalk result.diff -h
Um einen Scan durchzuführen, müssen Sie mindestens ein Wörterbuch und eine URL angeben:
dirstalk scan http://someaddress.url/ --dictionary mydictionary.txt
Wie bereits erwähnt, können Sie alle für den Scan-Befehl verfügbaren Flags sehen, indem Sie den Befehl mit dem Flag -h aufrufen:
dirstalk scan -h
dirstalk scan http://someaddress.url/ \
--dictionary mydictionary.txt \
--http-methods GET,POST \
--http-timeout 10000 \
--scan-depth 10 \
--threads 10 \
--socks5 127.0.0.1:9150 \
--cookie name=value \
--use-cookie-jar \
--user-agent my_user_agent \
--header "Authorization: Bearer 123"
--cookie stringArray Cookie, das jeder Anfrage hinzugefügt wird; z.B. name=value (kann mehrfach angegeben werden)
-d, --dictionary string Wörterbuch für den Scan (Pfad zu einer lokalen Datei oder entfernten URL)
--header stringArray Header, der jeder Anfrage hinzugefügt wird; z.B. name=value (kann mehrfach angegeben werden)
-h, --help Hilfe für scan
--http-cache-requests Anfragen zwischenspeichern, um die gleiche Anfrage innerhalb desselben Scans mehrfach zu vermeiden (z.B. wenn der Server mehrmals die gleiche Weiterleitung sendet, folgt dirstalk ihr nur einmal) (Standard: true)
--http-methods strings Kommagetrennte Liste der zu verwendenden HTTP-Methoden; z.B.: GET,POST,PUT (Standard: [GET])
--http-statuses-to-ignore ints Kommagetrennte Liste der HTTP-Statuscodes, die bei der Anzeige und Verarbeitung der Ergebnisse ignoriert werden sollen; z.B.: 404,301 (Standard: [404])
--http-timeout int Zeitüberschreitung in Millisekunden (Standard: 5000)
--out string Pfad, unter dem die Ergebnisausgabe gespeichert werden soll
--scan-depth int Scan-Tiefe (Standard: 3)
--socks5 string Zu verwendender SOCKS5-Host
-t, --threads int Anzahl der Threads für gleichzeitige Anfragen (Standard: 3)
--use-cookie-jar Aktiviert die Verwendung eines Cookie-Jars: Es behält alle vom Server gesendeten Cookies und sendet sie bei folgenden Anfragen mit
--user-agent string User-Agent für HTTP-Anfragen
docker run -d -p 127.0.0.1:9150:9150 stefanoj3/tordock:latest und dann beim Starten eines Scans das folgende Flag angeben: --socks5 127.0.0.1:9150)Dirstalk kann auch eigene Wörterbücher erstellen, nützlich zum Beispiel, wenn Sie überprüfen möchten, ob eine bestimmte Dateigruppe auf einem bestimmten Webserver verfügbar ist.
dirstalk dictionary.generate /path/to/local/files --out mydictionary.txt
Das Ergebnis wird auf der Standardausgabe ausgegeben, wenn kein out-Flag angegeben ist.
Sie können ein Release von hier herunterladen oder ein Docker-Image verwenden. (z.B. docker run stefanoj3/dirstalk dirstalk <cmd>)
Wenn Sie eine Arch-basierte Linux-Distribution verwenden, können Sie es über AUR beziehen: https://aur.archlinux.org/packages/dirstalk/
Beispiel:
yay -S aur/dirstalk
Für die lokale Entwicklung benötigen Sie lediglich make und golang sowie eine korrekt konfigurierte GOPATH.
Dann können Sie das Projekt einfach klonen, in das Verzeichnis wechseln und:
make dep # Abhängigkeiten holen
make tests # Tests ausführen
make check # Auf Code-Stil-Probleme prüfen
make fix # Code-Stil automatisch mit goimports korrigieren
make build # Ausführbare Datei für Ihr Host-Betriebssystem erstellen (nicht unter Windows getestet)
make help
gibt eine Beschreibung aller im Makefile verfügbaren Befehle aus.
Möchten Sie eine Funktionalität hinzufügen? einen Fehler beheben? Forken Sie das Repository und erstellen Sie einen Pull Request.