Fingerprinting
Le fingerprinting (ou empreinte technologique) consiste à extraire des informations techniques sur les technologies qui alimentent un site web ou une application web. Tout comme une empreinte digitale permet d'identifier une personne, les signatures numériques des serveurs web, systèmes d'exploitation et composants logiciels peuvent révéler des détails cruciaux sur l'infrastructure d'une cible.
🌐 Pourquoi le Fingerprinting est-il important ?
Attaques ciblées : Connaître les technologies en place permet d'exploiter des vulnérabilités connues pour ces systèmes.
Identification des mauvaises configurations : Les logiciels obsolètes ou mal configurés sont souvent détectés par fingerprinting.
Priorisation des cibles : Face à plusieurs hôtes, on privilégiera ceux dont la configuration semble plus vulnérable.
Vue d'ensemble : En croisant les résultats du fingerprinting avec d'autres méthodes de reconnaissance, on construit une cartographie complète de l'infrastructure cible.
🤖 Techniques de Fingerprinting
Banner Grabbing
Récupération des bannières d'identification présentées par les serveurs.
Analyse des headers HTTP
Le header Server
indique souvent le serveur utilisé ; X-Powered-By
dévoile parfois le langage ou framework.
Requêtes spécifiques
Certaines réponses à des requêtes particulières révèlent des technos (ex : erreurs spécifiques à un CMS).
Analyse du contenu de page
Le code source HTML, les scripts JS, ou les entêtes HTTP dévoilent parfois des infos clés.
📃 Outils populaires
Wappalyzer
Extension navigateur / service en ligne pour identifier les technologies web.
BuiltWith
Profiler d’infrastructure web fournissant des rapports détaillés.
WhatWeb
Outil CLI pour fingerprinting large spectre.
Nmap
Scanner réseau capable de fingerprinting via scripts NSE.
Netcraft
Fournit des rapports sur la technologie, l’hébergeur et la sécurité d’un site.
wafw00f
Détecte les Web Application Firewalls (WAF) en place.
🔍 Cas pratique : inlanefreight.com
📊 Banner Grabbing
curl -I inlanefreight.com
Réponse : Apache/2.4.41 (Ubuntu)
Redirection vers HTTPS puis vers www.
curl -I https://www.inlanefreight.com
Réponses utiles :
WordPress est mentionné via
X-Redirect-By: WordPress
Présence du chemin
/index.php/wp-json/
(typique WordPress)
⚡ Détection de WAF avec wafw00f
pip3 install git+https://github.com/EnableSecurity/wafw00f
wafw00f inlanefreight.com
Résultat : Wordfence (Defiant) WAF identifié → un pare-feu applicatif est en place.
🛡️ Scan avec Nikto
nikto -h inlanefreight.com -Tuning b
Informations collectées :
Apache/2.4.41 sur Ubuntu
WordPress installé (fichiers et headers liés)
Divers headers manquants ou déconseillés (X-Content-Type, Strict-Transport-Security)
Fichier license.txt présent
Vulnérabilité potentielle BREACH via header Content-Encoding
📈 Ce qu'on apprend
Le site fonctionne sous Apache 2.4.41 sur Ubuntu
WordPress est clairement présent et visible via des headers et chemins
Le site utilise un WAF (Wordfence), donc attention aux tentatives de scan trop agressives
Des améliorations de sécurité peuvent être envisagées au niveau des headers HTTP
📚 Ressources utiles
Le fingerprinting est l'étape fondatrice d'une attaque bien ciblée ou d'une analyse de sécurité efficace. Plus vous en apprenez sur la technologie derrière une application, plus vos tests deviennent précis, pertinents et percutants.
Determine the Apache version running on app.inlanefreight.local on the target system. (Format: 0.0.0)
Suite à ces informations, nous ajoutons les lignes suivantes au fichier /etc/hosts
:
10.129.78.64 app.inlanefreight.local
10.129.78.64 dev.inlanefreight.local
Une fois ces modifications effectuées, nous effectuons un scan sur le sous-domaine mentionné dans la question :
$ nmap -sC -sV app.inlanefreight.local
Starting Nmap 7.93 ( https://nmap.org ) at 2025-06-28 14:38 CEST
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
Nmap done: 1 IP address (1 host up) scanned in 16.07 seconds
Nous pouvons alors voir que la version de Apache est la version 2.4.41
.
Which CMS is used on app.inlanefreight.local on the target system? Respond with the name only, e.g., WordPress.
Comme nous pouvons le voir dans le scan précédent, le scan nous remonte la présence des répertoires présents dans robots.txt
.
Il nous est possible d'apercevoir le répertoire /joomla/administrator
.
Après avoir fait des recherches, Joomla est un CMS. Il s'agit donc de la réponse à la question, Joomla
.
On which operating system is the dev.inlanefreight.local webserver running in the target system? Respond with the name only, e.g., Debian.
Nous effectuons un scan sur le sous-domaine mentionné dans la question (dev.inlanefreight.local
) :
$ nmap -sC -sV dev.inlanefreight.local
Starting Nmap 7.93 ( https://nmap.org ) at 2025-06-28 15:11 CEST
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
Nmap done: 1 IP address (1 host up) scanned in 16.13 seconds
Nous pouvons alors voir que le système d'exploitation utilisé pour ce sous-domaine est un Ubuntu
.
Mis à jour