
Dumain Bruteforcer - um bruteforcer de domínios rápido e flexível
Uma ferramenta para realizar bruteforce em dumains!

O Dumb funciona com um dumain mascarado para substituição. O dumain pode ter quantas máscaras quiser, desde que você passe as wordlists correspondentes. Por exemplo:
Usando a máscara DUMB.dumain.com e as seguintes wordlists:
www
ftp
backoffice
O Dumb gerará os seguintes dumains para bruteforce:
www.dumain.com
ftp.dumain.com
backoffice.dumain.com
Para subdumains, você pode passar apenas dumain.com e o dumb entenderá como DUMB.dumain.com.
Usando o mesmo princípio, você pode passar como máscara dumain.DUMB com a seguinte wordlist:
com
net
org
O Dumb gerará os seguintes dumains para bruteforce:
dumain.com
dumain.net
dumain.org
Para fazer bruteforce de tudo, você pode passar a máscara como "DUMB.DUMB.DUMB" passando três wordlists:
wordlist1 wordlist2 wordlist3
www foo com
ftp bar net
O Dumb gerará:
www.foo.com
ftp.foo.com
www.bar.com
ftp.bar.com
www.foo.net
ftp.foo.net
www.bar.net
ftp.bar.net
O Dumb recebe a máscara do dumain como primeiro parâmetro e as wordlists em seguida. O número de wordlists deve coincidir com o número de máscaras no dumain. Por exemplo:
$ dumb "DUMB.dumain.com" wordlists/foo.txt$ dumb "DUMB.dumain.DUMB" wordlists/foo.txt wordlists/bar.txt$ dumb "DUMB-DUMB-DUMB_DUMB.DUMB.DUMB" wordlists/foo_1.txt ... wordlists/foo_6.txtSe você não quiser compilar a partir do código-fonte, pode usar a versão docker:
docker run -it giovanifss/dumb "DUMB.dumain.com" subdomains.txtdocker run -it giovanifss/dumb:beta "DUMB.dumain.com" subdomains.txtTodas as wordlists em wordlists/ estão dentro do container docker na raiz do sistema de arquivos /, isso significa que você pode chamar o dumb passando o nome das wordlists:
docker run -it giovanifss/dumb "DUMB.dumain.com" (subdomains.txt|subdominios.txt|domain-endings.txt)Para trabalhar com wordlists locais que não estão presentes dentro do container, você pode usar volumes docker:
docker run -v local/wordlist.txt:/opt/wordlist.txt -it giovanifss/dumb "DUMB.dumain.com" /opt/wordlist.txt
Se você quiser compilar a partir do código-fonte, precisará do stack:
$ stack build.$ stack exec dumb "DUMB.dumain.com" wordlists/subdomains.txtObserve que algumas versões mais antigas do stack têm problemas para compilar o projeto (por exemplo, o pacote stack do Debian). Certifique-se de obter a versão mais recente do stack.
As funcionalidades planejadas são:
O desempenho da ferramenta dependerá muito da sua conexão de rede. Geralmente, deve levar menos de 10 segundos para concluir um bruteforce de subdumains com a wordlist wordlists/subdomains.txt.
Se você tem uma boa conexão e acha que a ferramenta está lenta, tente alterar o 1000 na chamada da função splitDomains, por exemplo, mapM_ (MP.mapM_ (resolve rs)) (splitDomains 1000 allDomains), para um valor maior.
Alternativamente, você pode alterar mapM_ (MP.mapM_ (resolve rs)) (splitDomains 1000 allDomains) para MP.mapM_ (resolve rs) allDomains para executar todas as requisições em paralelo.