
Script Python basato su Selenium per automatizzare la ricerca di app web vulnerabili.
Script Python basato su Selenium per automatizzare la ricerca sul web di applicazioni vulnerabili.
DorkNet può accettare un singolo dork o una lista di dork come argomenti. Dopo aver passato i corretti argomenti da riga di comando, lo script utilizza Selenium e Geckodriver per trovare i risultati desiderati e salvarli in un file di testo per ulteriori elaborazioni con SQLmap o utility simili.
git clone https://github.com/NullArray/DorkNet.git
cd DorkNet
python dorknet.py
The options for the program are as follows.
-h, --help mostra questo messaggio di aiuto ed esci
-d DORK, --dork DORK specifica il dork che desideri utilizzare
-l LIST, --list LIST specifica il percorso della lista di dorks
-v, --verbose attiva/disattiva la verbosità
Alcuni esempi per chiarezza.
DorkNet.py -h
DorkNet.py -d inurl:show.php?id= -v
DorkNet.py -l /path/to/list.txt --verbose
Proxy
Ho incluso la possibilità di inoltrare la connessione del web driver tramite proxy, se desiderato. Basta fornire l'IP e la PORTA del proxy quando appare il dialogo e il motore di ricerca verrà raggiunto tramite le impostazioni proxy fornite.
Avrai bisogno di Mozilla Geckodriver per farlo funzionare. Puoi installarlo manualmente. Tuttavia ho aggiunto uno script shell per automatizzare il processo se preferisci.
Per usarlo, naviga nella directory di DorkNet e rendi eseguibile lo script shell così.
cd DorkNet
chmod +x gecko-setup.sh
# Esegui lo script shell con il comando seguente.
sudo ./gecko-setup.sh
Lo script shell ha un'opzione per installare automaticamente anche le altre dipendenze, tramite il file requirements, invocando i seguenti comandi.
sudo -H pip install -r requirements.txt
Ho aggiunto una logica che permette all'utente di eseguire Geckodriver in Headless Mode, cioè senza l'interfaccia utente tradizionale. Questo è utile se hai una lista di dork particolarmente lunga con cui lavorare. Nell'implementazione attuale, la funzione responsabile di inoltrare la connessione a Google tramite proxy interferisce con le operazioni necessarie per impostare le opzioni di Geckodriver per abilitare la modalità headless. Pertanto, eseguire DorkNet con il flag --nogui e un proxy abilitato non funzionerà come previsto.
Tuttavia, gli utenti che desiderano comunque eseguire il programma in modalità headless possono farlo. Ho caricato tutto il codice rilevante nel repository. Per ora è solo commentato. Rimuovi i commenti e dovrebbe funzionare senza problemi. Controlla la cronologia dei commit qui per vedere le righe interessate.
Ora se davvero vuoi inoltrare la connessione tramite proxy mentre --nogui è impostato, puoi avviare DorkNet con ProxyChains in questo modo;
proxychains python dorknet.py -l /path/to/dorks.list --nogui --verbose
Se non hai ProxyChains, segui semplicemente il link sopra o usa il tuo gestore di pacchetti per installarlo. Grazie.
DorkNet è presente nella distribuzione di PenTesting BlackArch Linux sotto WebApp Tools & Automation. Di conseguenza è preinstallato con la distribuzione. Fare riferimento al file PKGBUILD pertinente nel suo repository per i dettagli.
Utilizzando Selenium e Geckodriver, DorkNet è efficace nell'emulare un browser normale. In questo modo il programma riesce a evitare i captcha la maggior parte delle volte. Tuttavia, in rare occasioni, Google ne presenta comunque uno. La stessa cosa capita a volte quando si cercano manualmente stringhe che sembrano un dork. Se ne incontri uno, puoi semplicemente compilare il captcha in Geckodriver e DorkNet continuerà la sua normale operazione.