WAFW00F Matster 2 Réseaux Image et Paroles Spécialité : Réseaux Wafw00f: Web Application Firewall Detection Tool Réalisé par : Hassna LOUADAH Enseignant : Mr. Osman SALEM Décembre 2011 Hassna LOUADAH Page 1 WAFW00F Wafw00f: Web Application Firewall Detection Tool WafW00f, un script écrit en python, est un excellent outil capable de détecter les pare-feux des applications web (WAF). Cet outil est particulièrement utile lorsque le testeur de pénétration veut inspecter le serveur d'applications cible. WAFW00F: Permet de voir si il ya un Firewall (pare-feu) d’une application Web (WAF) dans le chemin (entre notre machine et notre cible). Un WAF est un type spécifique de pare-feu qui est adapté pour fonctionner avec les applications web. Il intercepte le trafic HTTP ou HTTPS et impose un ensemble de règles qui sont spécifique à la fonctionnalité des applications web. Ces règles incluent des fonctionnalités telles que la prévention des attaques par injection SQL ou par cross-site scripting. Dans notre cas, nous avons besoin de savoir si il ya un WAF qui va interférer avec notre test de pénétration. Ce script Python, disponible sur http://code.google.com/p/waffit/, accepte une ou plusieurs URL comme arguments et exécute une série de testes afin de déterminer si un WAF est en marche entre notre hôte et la cible ou non. Pour l’exécuter sur un système Backtrack 4: Il faut y aller Backtrack | Web Application Analysis | Web | Wafw00f Où utiliser la console pour exécuter les commandes suivante: # cd /pentest/web/waffit/ # ./wafw00f.py Avec la commande #python wafw00f.py -h On aura la fenêtre suivante : Hassna LOUADAH Page 2 WAFW00F Cette fenêtre montre les différentes options offertes. Pour lancer la détection, la commande suivante peut être utilisée : #python wafw00f.py le site en question (eg: http://www.xxxx.fr) La fenêtre suivante s’affichera Ce résultat prouve le serveur d'applications cible est en marche derrière pare-feu (dotDefender, par exemple). En utilisant cette information on pourra par la suite investiguer les moyens possibles pour contourner le WAF. Il pourrait s'agir des techniques comme le paramètre HTTP Hassna LOUADAH Page 3 WAFW00F la pollution, null-byte de remplacement, la normalisation, l'encodage chaîne URL malveillant en hexadécimal ou Unicode. L’exemple suivant est ressemble au premier mais cette fois ci avec l’option –v qui permet de voir les détails du test : Et la fenêtre suivante montre un autre exemple avec comme argument le site google: Hassna LOUADAH Page 4 WAFW00F WAFW00F est capable de détecter près de 20 WAF différents (Profense, ModSecurity, NetContinuum, HyperGuard, Barracuda, Airlock, BinarySec, F5 Trafficshield, F5 ASM, Teros, DenyALL, BIG-IP, Citrix NetScaler, webApp.secure, WebKnight, URLScan, SecureIIS, dotDefender ). Hassna LOUADAH Page 5