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

Technique
Description

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

Outil
Description

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

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)

vHosts needed for these questions:

  • app.inlanefreight.local

  • dev.inlanefreight.local

Our IP is :

  • 10.129.78.64

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