Secureaks

FFuF : L'outil indispensable pour les pentests web

Article illustration

Lors d'un audit de sécurité sur une application web, il est essentiel d'identifier les ressources exposées publiquement, comme des fichiers, des dossiers ou encore des endpoints d’API. L'énumération de ces éléments permet de découvrir des failles de sécurité potentielles et d’élargir la surface d’attaque.

Pour cette tâche, il existe plusieurs outils comme DirBuster, GoBuster ou encore FFuF (Fast Fuzzing), un outil open-source développé en Go. Rapide, efficace et flexible, FFuF est devenu un incontournable dans le domaine de la cybersécurité.

Dans cet article, nous allons voir comment FFuF fonctionne, comment l’installer et comment l’utiliser efficacement pour la découverte de ressources cachées.

Vous pouvez trouver le contenu de cet article sous forme de vidéo sur ma chaîne YouTube :

Youtube illustration

Téléchargement et installation

Il existe plusieurs façons d’installer FFuF selon votre système d’exploitation :

  1. Téléchargement des binaires précompilés (Windows, Linux, Mac) :
  1. Installation via Go :
go install github.com/ffuf/ffuf/v2@latest
  1. Compilation manuelle :
git clone https://github.com/ffuf/ffuf.git
cd ffuf
go get
go build
  1. Installation via un gestionnaire de paquets (ex. sur Kali Linux) :
sudo apt install ffuf

Dictionnaires et wordlists

Pour fonctionner, FFuF nécessite des fichiers contenant des listes de mots ou de chemins à tester. Une des sources les plus populaires est le dépôt SecLists, qui regroupe une vaste collection de wordlists adaptées à divers types de tests.

Téléchargement de SecLists :

cd /opt/
git clone https://github.com/danielmiessler/SecLists.git

Une fois les wordlists en place, nous pouvons commencer à utiliser FFuF.

Recherche de fichiers et dossiers cachés

La commande de base pour scanner un site web et découvrir des fichiers ou dossiers cachés est :

ffuf -c -w /opt/SecLists/Discovery/Web-Content/common.txt -u https://example.com/FUZZ

Explication :

  • -c : active la coloration des résultats dans le terminal
  • -w : spécifie le fichier contenant les mots à tester
  • -u : définit l’URL cible avec FUZZ comme paramètre remplacé par les mots du dictionnaire

FFuF enverra une requête pour chaque mot du dictionnaire et affichera les ressources trouvées.

Recherche récursive

Pour automatiser l’énumération en testant aussi les sous-dossiers trouvés, on ajoute -recursion :

ffuf -c -w /opt/SecLists/Discovery/Web-Content/common.txt -recursion -u https://example.com/FUZZ

FFuF analysera ainsi chaque dossier découvert et cherchera d'autres fichiers ou sous-dossiers à l’intérieur.

Filtrage des résultats

Certains serveurs renvoient toujours un code HTTP 200, même lorsque la ressource n’existe pas. Pour éviter les faux positifs, on peut filtrer les réponses par taille (-fs) ou contenu (-fr) :

ffuf -w /opt/SecLists/Discovery/Web-Content/common.txt -u https://example.com/FUZZ -fs 669

Ou avec une expression régulière pour filtrer un message d’erreur spécifique :

ffuf -w /opt/SecLists/Discovery/Web-Content/common.txt -u https://example.com/FUZZ -fr "Page Not Found"

Recherche de paramètres d’API

FFuF peut aussi être utilisé pour découvrir des paramètres d’API inconnus :

ffuf -w /opt/SecLists/Discovery/Web-Content/params.txt -u "https://example.com/api/data?FUZZ=1" -mc all -fr "Required Parameter Missing"

Cette commande remplace FUZZ par chaque mot du dictionnaire pour tester différents paramètres et identifier ceux qui sont acceptés par l’application.

Découverte de VHosts

FFuF permet également d’énumérer les Virtual Hosts sur un serveur :

ffuf -w /opt/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -H "Host: FUZZ.example.com" -u https://example.com -fs 1495

Si un sous-domaine existe mais ne possède pas d’enregistrement DNS, on peut tester sa réponse avec :

curl -H "Host: vhost.example.com" https://example.com

Conclusion

FFuF est un outil puissant, rapide et flexible pour la découverte de ressources web. Son utilisation conjointe avec des wordlists adaptées et ses nombreuses options de filtrage permettent d’obtenir des résultats précis et exploitables.

Que ce soit pour un pentest, du bug bounty ou simplement pour mieux comprendre l’infrastructure d’une cible, FFuF est un atout indispensable.

Si vous souhaitez approfondir vos compétences, n’hésitez pas à tester FFuF sur des plateformes comme TryHackMe ou HackTheBox.

Liens utiles

Par Romain Garcia le 05/03/2025 dans la catégorie Outils