
Alternativa moderna ao dirbuster/dirb
Dirstalk é uma aplicação multi-thread projetada para brute force de caminhos em servidores web.
A ferramenta contém funcionalidades semelhantes às oferecidas por dirbuster e dirb.
A aplicação é auto-documentada; executar dirstalk -h retornará todos os comandos disponíveis com uma
breve descrição. Você pode obter a ajuda de cada comando usando dirstalk <comando> -h.
Ex: dirstalk result.diff -h
Para realizar uma varredura, você precisa fornecer pelo menos um dicionário e uma URL:
dirstalk scan http://someaddress.url/ --dictionary mydictionary.txt
Como mencionado anteriormente, para ver todas as flags disponíveis para o comando scan, você pode
simplesmente chamar o comando com a flag -h:
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 to add to each request; eg name=value (can be specified multiple times)
-d, --dictionary string dictionary to use for the scan (path to local file or remote url)
--header stringArray header to add to each request; eg name=value (can be specified multiple times)
-h, --help help for scan
--http-cache-requests cache requests to avoid performing the same request multiple times within the same scan (EG if the server reply with the same redirect location multiple times, dirstalk will follow it only once) (default true)
--http-methods strings comma separated list of http methods to use; eg: GET,POST,PUT (default [GET])
--http-statuses-to-ignore ints comma separated list of http statuses to ignore when showing and processing results; eg: 404,301 (default [404])
--http-timeout int timeout in milliseconds (default 5000)
--out string path where to store result output
--scan-depth int scan depth (default 3)
--socks5 string socks5 host to use
-t, --threads int amount of threads for concurrent requests (default 3)
--use-cookie-jar enables the use of a cookie jar: it will retain any cookie sent from the server and send them for the following requests
--user-agent string user agent to use for http requests
docker run -d -p 127.0.0.1:9150:9150 stefanoj3/tordock:latest e então, ao iniciar uma
varredura, especifique a seguinte flag: --socks5 127.0.0.1:9150)O Dirstalk também pode produzir seus próprios dicionários, útil por exemplo se você quiser verificar se um conjunto específico de arquivos está disponível em um determinado servidor web.
dirstalk dictionary.generate /path/to/local/files --out mydictionary.txt
O resultado será impresso no stdout se nenhuma flag out for especificada.
Você pode baixar uma versão a partir de aqui
ou pode usar uma imagem docker. (ex: docker run stefanoj3/dirstalk dirstalk <cmd>)
Se você estiver usando uma distribuição Linux baseada em Arch, pode obtê-lo via AUR: https://aur.archlinux.org/packages/dirstalk/
Exemplo:
yay -S aur/dirstalk
Tudo que você precisa para desenvolvimento local é ter make e golang disponíveis e o GOPATH configurado corretamente.
Então você pode clonar o projeto, entrar na pasta e:
make dep # to fetch dependencies
make tests # to run the test suite
make check # to check for any code style issue
make fix # to automatically fix the code style using goimports
make build # to build an executable for your host OS (not tested under windows)
make help
imprimirá uma descrição de cada comando disponível no Makefile.
Quer adicionar uma funcionalidade? corrigir um bug? faça um fork e crie um PR.