
Vous cherchez à découvrir les secrets cachés d’une application web ? En effet, les développeurs oublient souvent des fichiers sensibles en ligne. Cependant, trouver ces failles manuellement prendrait des années. C’est pourquoi vous devez maîtriser le fuzzing avec FFUF. Dans cet article, nous allons explorer cet outil redoutable. Ainsi, vous apprendrez à cartographier une cible web rapidement et efficacement.
Qu’est-ce que le fuzzing avec FFUF ?
Tout d’abord, définissons ce concept de base. Le fuzzing web consiste à tester massivement des URL invisibles. Par exemple, vous envoyez des milliers de requêtes automatisées pour trouver un dossier caché. Pour illustrer, imaginez un trousseau contenant un million de clés. Vous testez chaque clé frénétiquement jusqu’à ouvrir la porte.
De plus, le fuzzing avec FFUF (Fuzz Faster U Fool) excelle particulièrement dans ce domaine. En effet, cet outil développé en langage Go est incroyablement rapide. Par conséquent, il remplace avantageusement des outils plus anciens comme Dirb ou Dirbuster.
Tutoriel pratique : Configurer le fuzzing avec FFUF
Passons maintenant à la pratique. Nous allons voir comment installer et utiliser cet outil d’audit de manière éthique.
Étape 1 : Installation de l’outil
Généralement, l’installation est très simple sur les systèmes Linux. En effet, il suffit d’utiliser le gestionnaire de paquets de Kali Linux. Tapez simplement la commande suivante dans votre terminal :
sudo apt update
sudo apt install ffuf
Ensuite, vérifiez que l’installation s’est bien déroulée en tapant ffuf -V. Voici le résultat attendu :
ffuf version: 2.0.0-dev
Étape 2 : Lancer votre première attaque
Pour réussir le fuzzing avec FFUF, vous avez besoin de deux éléments. Premièrement, il vous faut une URL cible. Deuxièmement, vous devez fournir un fichier contenant une liste de mots (wordlist). Par exemple, vous pouvez utiliser la célèbre liste SecLists. Voici la commande de base :
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://cible.com/FUZZ
Ici, le mot clé FUZZ est absolument crucial. En effet, l’outil va remplacer ce terme exact par chaque ligne de votre dictionnaire.
Voici ce que l’outil va afficher à l’écran :
/'___\ /'___\ /'___\
/\ \__/ /\ \__/ __ __ /\ \__/
\ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\
\ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/
\ \_\ \ \_\ \ \____/ \ \_\
\/_/ \/_/ \/___/ \/_/
v2.0.0-dev
________________________________________________
:: Method : GET
:: URL : http://cible.com/FUZZ
:: Wordlist : FUZZ: /usr/share/wordlists/dirb/common.txt
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 40
:: Matcher : Response status: 200,204,301,302,307,401,403,405
________________________________________________
.htaccess [Status: 403, Size: 277, Words: 20, Lines: 10]
admin [Status: 301, Size: 310, Words: 20, Lines: 10]
index.php [Status: 200, Size: 1543, Words: 120, Lines: 45]
server-status [Status: 403, Size: 281, Words: 20, Lines: 10]
zizizi [Status: 404, Size: 201, Words: 15, Lines: 8]
:: Progress: [4614/4614] :: Job [1/1] :: 1538 req/sec :: Duration: [0:00:03] :: Errors: 0 ::
Étape 3 : Filtrer les résultats obtenus
Cependant, comme vu ci-dessus, vous allez rapidement recevoir beaucoup de réponses inutiles. Par exemple, les faux positifs ou les erreurs de configuration. Par conséquent, vous devez filtrer les codes HTTP renvoyés par le serveur. Ainsi, vous pouvez ignorer les pages non trouvées ou retournant une erreur.
Pour ce faire, utilisez l’option de filtre -fc (filter code) :
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://cible.com/FUZZ -fc 403,404
De plus, vous pouvez choisir d’exiger uniquement les pages valides. Dans ce cas, utilisez l’option -mc 200 (match code) pour n’afficher que les succès. Le terminal deviendra alors beaucoup plus lisible :
index.php [Status: 200, Size: 1543, Words: 120, Lines: 45]
login.php [Status: 200, Size: 840, Words: 65, Lines: 25]
:: Progress: [4614/4614] :: Job [1/1] :: 1538 req/sec :: Duration: [0:00:03] :: Errors: 0 ::
Cas d’usage en pentest : Découverte d’un panel d’administration
Prenons une mise en situation concrète. Vous auditez le site web d’une entreprise cliente. L’objectif principal est de trouver une interface de connexion cachée. Par conséquent, vous lancez une session de fuzzing avec FFUF. L’outil teste des milliers de chemins à la vitesse de l’éclair.
Soudain, FFUF identifie un chemin valide renvoyant un code HTTP 200 (comme notre login.php ci-dessus). En effet, il vient de découvrir le répertoire secret /admin-dashboard-v2. Ainsi, vous avez trouvé la porte d’entrée de l’administrateur. Finalement, vous signalez cette vulnérabilité critique pour sécuriser le système du client.
Conclusion sur le fuzzing avec FFUF
En résumé, cet outil est absolument indispensable pour vos tests d’intrusion web. En effet, sa vitesse d’exécution et sa flexibilité de filtrage sont inégalées. De plus, vous savez maintenant comment l’installer, l’utiliser et filtrer ses résultats.
Alors, êtes-vous prêt à tester ces commandes sur vos propres machines virtuelles ? N’hésitez pas à poser vos questions dans les commentaires ci-dessous. Enfin, découvrez d’autres techniques de cybersécurité passionnantes sur My IT Knowledge.
