Trovare file e cartelle nascoste in un sito web

Tempo di lettura: 6 minuti
Data pubblicazione: September 18, 2018

Durante la fase iniziale di enumerazione di un applicazione web, uno dei primi passi dovrebbe essere quello di mappare in maniera efficace la superficie della stessa, includendo, oltre che tutti i puntamenti, anche possibili cartelle o file nascosti. In questo articolo andremo a visionare i principali software che permettono di effettuare un bruteforce per verificare la presenza di file altrimenti non visibili con un crawl classico.

Photon

Photon, liberamente disponibile su Github, sembrerebbe un classico crawler a prima vista, ma tra i tanti che ho provato è quello che mi ha convinto maggiormente. Esso permette di identificare:

  • URL all’interno della pagina analizzata;
  • Informazioni sensibili all’interno della stessa, come email, chiavi, etc;
  • File, identificando l’estensione e salvando offline il path preciso;
  • File Javascript, URL con parametri e molti altri.

Se viene lanciato un semplice comando come

python photon.py -u https://sito.it -l 2 --wayback

lo script crea una cartella con tutte le informazioni del file, analizzando fino al 2° livello di profondità (con il parametro -l) ed andando ad analizzare il sito anche su archive.org (con il parametro wayback).

Photon in esecuzione
Photon in esecuzione

Dirhunt

Sempra disponibile su Github, è un altro tool che non effettua bruteforce ma funziona come un crawl, andando ad identificare le pagine con “_Index of” _abilitato, trova nuove directory utilizzando il file _robots.txt _e _VirusTotal _ed inserisce in maniera automatica i sottodomini all’interno dell’analisi.

Dirhunt in esecuzione
Dirhunt in esecuzione

Per un utilizzo ottimale (ha molte opzioni), consiglio di leggere la documentazione.

DirBuster

Dirbuster è un semplice script che utilizza wfuzz per effettuare il bruteforce di uno specifico path. Per utilizzarlo occore scaricare la wordlist di Daniel Miessler (SecList), la quale contiene migliaia di fuzzer e liste specifiche di discovery e fuzzing contro applicazioni web.  Il comando per l’esecuzione è

./dirbuster.sh -H "301,302,401,404" -c example,backup,test,database,db -o ~/work/example/logs/dirbust1.txt www.example.com

dove:

  • -H identifica gli HTTP code della risposta del server e ignora quelli definiti
  • -c sono parole aggiuntive da inserire all’interno del bruteforce
  • -o il path di output
Dirbuster in esecuzione
Dirbuster in esecuzione

Per eseguirlo bisogna modificare il file dirbuster.sh andando ad inserire il path di SecList (ho dovuto anche modificare il percorso di Web-content perchè è stato modificato e rimuovere l’opzione -I in wfuzz)

DirSearch

Uno dei tool che più preferisco, effettua la ricerca sempre tramite bruteforce, con una lista presente al suo interno ed andando a cercare precisi file grazie al parametro -e, il quale permette di specificare le estensioni che si vuole cercare. L’esecuzione del comando

./dirsearch -u https://hacktips.it -e php,txt -f

cercherà quindi file con estensione php e txt, andando a forzare l’aggiunte dell’estensione per ogni stringa di ricerca.

DIrsearch in esecuzione
DIrsearch in esecuzione

Per chi preferisse, il buon evilsocket ha creato una sua versione in go.

OpenDoor

OpenDoor OWASP è una console multifunzionale per lo scanner di siti web. Il tool effettua un classico bruteforce, dando la possibilità di utilizzare proxy, tor e specificare come di consueto una partiolare estensione su cui focalizzarsi.

OpenDoor in esecuzione
OpenDoor in esecuzione

Conclusioni

La lista creata in quest’articolo non vuole in nessun modo risultare esaustiva, ci sono decine e decine di altri tool disponibili con le stesse finalità. Quello che ho voluto condividere sono i principali e preferiti dal sottoscritto, ma se ne avete altri da consigliare sono più che disponibile nel valutarli ed inserirli nell’articolo.