
Script Python baseado em Selenium para automatizar a busca por aplicações web vulneráveis.
Script em Python com Selenium para automatizar a busca na web por aplicações vulneráveis.
O DorkNet pode receber um único dork ou uma lista de dorks como argumentos. Após os argumentos de linha de comando adequados serem passados, o script usará Selenium e Geckodriver para encontrar os resultados desejados e salvá-los em um arquivo de texto para processamento posterior com SQLmap ou utilitários similares.
git clone https://github.com/NullArray/DorkNet.git
cd DorkNet
python dorknet.py
As opções do programa são as seguintes.
-h, --help exibe esta mensagem de ajuda e sai
-d DORK, --dork DORK especifica o dork que deseja usar
-l LIST, --list LIST especifica o caminho para a lista de dorks
-v, --verbose ativa o modo verboso
Alguns exemplos para clareza.
DorkNet.py -h
DorkNet.py -d inurl:show.php?id= -v
DorkNet.py -l /caminho/para/lista.txt --verbose
Proxy
Incluí a capacidade de usar proxy na conexão do web driver, se desejado. Basta fornecer o IP e a PORTA do proxy quando a caixa de diálogo aparecer e o mecanismo de busca será acessado através das configurações de proxy fornecidas.
Você precisará do Geckodriver da Mozilla para que isso funcione. Você pode instalá-lo manualmente. No entanto, adicionei um script shell para automatizar o processo, caso prefira.
Para usá-lo, navegue até o diretório DorkNet e torne o script shell executável da seguinte forma.
cd DorkNet
chmod +x gecko-setup.sh
# Execute o script shell com o comando abaixo.
sudo ./gecko-setup.sh
O script shell também tem uma opção para instalar automaticamente o restante das dependências, através do arquivo requirements.txt, invocando os seguintes comandos.
sudo -H pip install -r requirements.txt
Adicionei alguma lógica que permite ao usuário executar o Geckodriver em Modo Headless, ou seja, sem a interface gráfica tradicional. Isso é útil se você tiver uma lista particularmente longa de dorks para trabalhar. Na implementação atual, a função responsável por fazer proxy da nossa conexão com o Google interfere nas operações necessárias para definir as opções do Geckodriver a fim de ativar o modo headless. Portanto, executar o DorkNet com a flag --nogui e um proxy ativado não funcionará como esperado.
No entanto, usuários que desejarem executar o programa em modo headless mesmo assim, podem. Enviei todo o código relevante para o repositório. Por enquanto, ele está apenas comentado. Remova os comentários e deve funcionar sem problemas. Confira o histórico de commits aqui para ver as linhas afetadas.
Agora, se você realmente quiser usar proxy na sua conexão enquanto a flag --nogui estiver definida, você pode iniciar o DorkNet com ProxyChains da seguinte forma;
proxychains python dorknet.py -l /caminho/para/dorks.list --nogui --verbose
Se você não tiver o ProxyChains, basta seguir o link acima ou usar seu gerenciador de pacotes para instalá-lo. Obrigado.
O DorkNet está presente na distribuição de Pentest BlackArch Linux na seção Ferramentas da Web e Automação. Como tal, vem pré-instalado com a distribuição. Consulte o arquivo PKGBUILD relevante em seu repositório respectivo para obter detalhes.
Ao usar Selenium e Geckodriver, o DorkNet é eficaz em emular um navegador comum. Dessa forma, o programa consegue evitar captchas na maioria das vezes. No entanto, em ocasiões limitadas, o Google exibe um de qualquer maneira. O mesmo acontece às vezes ao pesquisar manualmente por strings que parecem ser um dork. Caso encontre um, você pode simplesmente preencher o captcha no Geckodriver e o DorkNet continuará sua operação normal.