apt-get update && apt-get install nmap

Détection de pare-feu d’application Web

Un pare-feu d’application Web , abrégé en WAF, détecte et bloque le trafic malveillant qui transmet au serveur Web sa protection. Les WAF sont le plus souvent utilisés pour aider à protéger les sites Web contre les attaques par injection SQL, inclusion de fichier et script intersite (XSS).

Un serveur bien protégé par un WAF pourrait signifier que toutes les vulnérabilités potentielles basées sur le Web sont contrecarrées. À l’inverse, un serveur non protégé par un type quelconque de WAF pourrait être désastreux pour les administrateurs système qui tentent de se défendre contre les pirates. Notre capacité à détecter les pare-feu d’applications Web sur des serveurs Web cibles est cruciale en tant que pentesters.

Le script http-waf-detect est conçu pour nous aider à apprendre la présence d’un pare-feu d’application Web. Il examinera le serveur Web cible avec plusieurs demandes. Tout d’abord, il envoie une requête Web normale et enregistre la réponse du serveur. Ensuite, il enverra une autre demande avec une charge (URL mal formée) et comparera les réponses. Cette méthode de détection des WAF est loin d’être parfaite et peut varier en fonction du type de serveur Web et du produit WAF.

Pour activer le script http-waf-detect , utilisez la commande ci-dessous nmap.

nmap -p 80,443 –script http-waf-detect –script-args= »http-waf-detect.aggro,http-waf-detect.detectBodyChanges » mourad-charni.site

Ici, j’utilise l’ argument http-waf-detect.aggro , qui indique à Nmap d’essayer tous ses vecteurs d’attaque intégrés pour déclencher les serveurs WAF. L’argument http-waf-detect.detectBodyChanges , également activé, est également activé. Il recherche les modifications dans le corps des demandes HTTP et augmente encore la probabilité de détection.

Starting Nmap 7.70 ( https://nmap.org )
Nmap scan report for mourad-charni.site
Host is up (0.65s latency).

PORT STATE SERVICE
80/tcp open http
| http-waf-detect: IDS/IPS/WAF detected:
|_mourad-charni.site:80/?p4yl04d=hostname%00
443/tcp open https
| http-waf-detect: IDS/IPS/WAF detected:
|_mourad-charni.site:443/?p4yl04d=hostname%00

Comme nous pouvons le voir dans le résultat ci-dessus, Nmap a détecté une sorte de pare-feu d’application Web présent sur le serveur Web cible. De nombreux produits WAF commerciaux sont disponibles pour les administrateurs. Pour savoir quel WAF est en production, nous devrons utiliser un script Nmap différent.

Détection d’empreinte digitale du pare-feu de l’application Web

Il peut être important de connaître le type de WAF utilisé, car chaque WAF dispose de ses propres méthodes de détection et de limitation de débit prédéfinies. Identifier le type de WAF peut aider les pentesters à éviter la détection (ou à rester sous le radar ) si nous pouvons apprendre de manière préventive les limites et les déclencheurs de détection du WAF.

Le script Nmap http-waf-fingerprint est conçu pour nous aider à connaître le pare-feu d’application Web exact utilisé sur un serveur Web cible. Il tentera également d’identifier son type et son numéro de version exact.

Dans sa forme la plus simple, nous n’avons pas besoin d’inclure de –script-args pour que ce script Nmap fonctionne.


nmap -p80,443 –script http-waf-fingerprint mourad-charni.site

Starting Nmap 7.70 ( https://nmap.org )
Nmap scan report for mourad-charni.site
Host is up (0.71s latency).

PORT STATE SERVICE
80/tcp open http
| http-waf-fingerprint:
| Detected WAF
|_ Cloudflare
443/tcp open https

Comme vous pouvez le voir ci-dessus, ce site Web particulier utilise le service populaire Cloudflare comme interface frontale pour protéger son site Web contre les attaquants.

Nous pouvons encore améliorer la capacité de Nmap à détecter les types et les versions de WAF en utilisant l’ argument http-waf-fingerprint.intensive . Cela prolongera le temps d’analyse et augmentera également la quantité de bruit (trafic Web) généré par le script.


nmap -p80,443 –script http-waf-fingerprint –script-args http-waf-fingerprint.intensive=1 mourad-charni.site

Starting Nmap 7.70 ( https://nmap.org )
Nmap scan report for mourad-charni.site
Host is up (0.84s latency).

PORT STATE SERVICE
80/tcp open http
| http-waf-fingerprint:
| Detected WAF
|_ BinarySec version 3.4.0
443/tcp open https

Nous venons d’apprendre que le logiciel BinarySec WAF (version 3.4) est utilisé. Une attaque pourrait étudier le manuel WAF afin de mieux connaître les déclencheurs permettant d’éviter la détection lors des tests d’intrusion.