Brute force de répertoires ou d’emplacement de fichiers
Dans la section précédente, nous devions avoir de précieux renseignements sur la cible comme le CMS utilisé, nous devions installer ce CMS sur notre machine afin de connaître les fichiers et répertoires…
Dans de nombreux cas, vous n’aurez pas toutes ces informations en possession. Nous devrons donc utiliser un outil de brute force afin d’essayer de glaner des informations importantes (ou non).
Nous allons fabriquer un outil simple qui va utiliser un dictionnaire et essayer de découvrir des répertoires et fichiers qui sont lisibles sur le site web cible.
Comme précédemment, nous utiliserons un pool de threads pour essayer de découvrir (agressivement) le contenu.
Nous pourrons récupérer un dictionnaire sur la distribution Kali ou chez SVNDigger par exemple. Nous utiliserons all.txt de SVNDigger.
Ouvrons notre éditeur favori (nano, vim, etc.) et écrivons le code suivant :
import urllib2, threading, Queue, urllib
threads = 50
target_url = http://www.eni.fr"
wordlist_file = /tmp/all.txt
resume = None
user_agent = "Mozilla/5.0 (X11 ; Linux x86_64 ; rv:19.0) Gecko/20100101
Firefox/19.0"
def build_worldlist(worldlist_file) :
fd = open(wordlist_file,"rb")
raw_words = fd.readlines()
fd.close()
found_resume = False ...