Aller au contenu principal

Collecte d'infos d’un pentest

Comprendre comment identifier des informations utiles sans alerter la cible

Notions théoriques

La reconnaissance est la première étape d’un test d’intrusion Web. Elle consiste à collecter un maximum d’informations sur la cible avant toute interaction directe.

Cette phase peut être divisée en 2 types : la reconnaissance passive et la reconnaissance active.

Reconnaissance passive

Elle permet de récolter des informations sans envoyer de requêtes à la cible. Cela évite de se faire détecter.

info

Les sources d’informations sont publiques et accessibles librement.

Techniques et outils utilisés :

  • Whois : permet d’obtenir des informations sur le propriétaire d’un nom de domaine (nom, adresse, email, etc.)
  • DNSdumpster : identifie les sous-domaines et les adresses IP associées à un domaine
  • Google Dorking : utilise des opérateurs de recherche avancés pour trouver des fichiers sensibles ou des pages non indexées
  • Netcraft : donne des informations sur la technologie du serveur Web, le système d’exploitation ou les historiques d’hébergement
  • Shodan : moteur de recherche pour les objets connectés, permet de trouver des services exposés (serveurs Web, caméras IP, etc.)

Informations recherchées :

  • Adresse IP du serveur
  • Fournisseur d’hébergement
  • Sous-domaines
  • Technologies utilisées (CMS, framework)
  • Fichiers ou répertoires exposés
  • Emails ou identifiants dans des fuites de données

Reconnaissance active

Elle implique une interaction directe avec la cible.

info

Cette étape est plus risquée car elle peut être détectée par les systèmes de sécurité.

Techniques et outils utilisés :

  • Ping : vérifie si une machine est en ligne
  • Traceroute : affiche le chemin réseau jusqu’à la cible
  • Nmap : scanne les ports ouverts et identifie les services actifs
  • WhatWeb : détecte les technologies utilisées par une application Web (CMS, langages, serveurs)
  • Wappalyzer : extension de navigateur pour identifier les frameworks et outils côté client

Informations recherchées :

  • Ports ouverts
  • Services en écoute
  • Versions des logiciels
  • Points d’entrée potentiels (formulaires, API)

Importance de la reconnaissance

La qualité des informations collectées conditionne l’efficacité du reste du pentest.

Une bonne reconnaissance permet de :

  • Gagner du temps dans les phases suivantes
  • Détecter des failles passives (ex : fuite d’informations dans des fichiers publics)
  • Préparer des attaques ciblées et efficaces

Exemple pratique

Il est possible de réaliser une reconnaissance passive et active sur un site volontairement vulnérable mis en ligne pour l'entraînement : http://testphp.vulnweb.com

Étapes :

  1. Identifier les informations publiques du domaine :

    • Utiliser whois testphp.vulnweb.com
    • Utiliser nslookup testphp.vulnweb.com pour obtenir son adresse IP
    • Rechercher des sous-domaines avec https://dnsdumpster.com
  2. Utiliser Google Dorking :

    • Rechercher : site:testphp.vulnweb.com filetype:php
    • Rechercher : inurl:admin site:testphp.vulnweb.com
  3. Lancer un scan avec WhatWeb :

    whatweb http://testphp.vulnweb.com
  4. Scanner les ports ouverts avec Nmap :

    nmap -sS -Pn testphp.vulnweb.com
  5. Utiliser Wappalyzer (extension navigateur) pour détecter les technologies utilisées.

Test de mémorisation/compréhension


Quel outil permet d’obtenir des informations sur le propriétaire d’un nom de domaine ?


Quel outil est utilisé pour scanner les ports ouverts d’un serveur ?


Quelle méthode de reconnaissance n’interagit pas directement avec la cible ?


Quel outil permet d’identifier les technologies utilisées par un site Web ?


Quel moteur de recherche permet de trouver des services exposés sur Internet ?


Quel outil utilise-t-on pour obtenir l’adresse IP d’un domaine ?


Quel outil est une extension de navigateur pour détecter les frameworks Web ?


Quelle commande permet de voir le chemin réseau vers une cible ?


Quel outil permet de lister les sous-domaines d’un domaine ?


Quel type de reconnaissance est plus facilement détectable par la cible ?



TP pour réfléchir et résoudre des problèmes

L’objectif de ce TP est de mettre en pratique les techniques de reconnaissance passive et active sur un site Web vulnérable différent de celui de l’exemple.

La cible de ce TP est : https://www.hackthissite.org

info

Ce site pédagogique propose des défis légaux pour s’entraîner à la sécurité Web.
Le but ici est uniquement de collecter des informations (pas d’exploiter de vulnérabilités).

Étape 1 — Identifier les informations publiques du domaine

Utiliser des outils en ligne ou en ligne de commande pour récolter les informations suivantes :

  • Propriétaire du domaine
  • Adresse IP
  • Fournisseur d’hébergement
  • Serveur DNS
  • Sous-domaines éventuels
Une solution

Étape 2 — Rechercher des informations via Google Dorking

Utiliser des requêtes avancées sur Google pour identifier :

  • Des pages d’administration
  • Des fichiers ou répertoires intéressants
  • Des erreurs ou messages de debug
Une solution

Étape 3 — Identifier les technologies utilisées par le site

Utiliser des outils pour reconnaître les frameworks, CMS, bibliothèques ou serveurs utilisés.

Une solution

Étape 4 — Scanner les ports ouverts et services actifs

Réaliser un scan Nmap sur le domaine pour détecter les ports ouverts et les services en écoute.

Une solution

Étape 5 — Créer une fiche de reconnaissance

Créer un fichier reconnaissance.md contenant toutes les informations collectées, organisées par catégorie :

  • Informations DNS
  • Sous-domaines
  • Technologies détectées
  • Ports ouverts
  • Services actifs
  • Requêtes Google Dorking pertinentes
Une solution

Étape 6 — Proposer des pistes d’exploitation futures

Sur la base des informations collectées, proposer des hypothèses sur les vecteurs d’attaque possibles (sans les mettre en œuvre).

Une solution