cyber / cybersecurite-fondamentale
Méthodologie de pentest : reconnaissance
Explication
Ce que vous allez apprendre
- Comprendre les six phases standard d'un test d'intrusion (PTES / OWASP Testing Guide)
- Distinguer reconnaissance passive et active, et savoir laquelle exige une autorisation écrite préalable
- Utiliser des sources OSINT (WHOIS, Certificate Transparency, theHarvester) pour cartographier une cible
- Découvrir des sous-domaines avec subfinder/amass et vérifier lesquels répondent réellement
- Documenter systématiquement chaque information collectée en vue du rapport final
Dans quel contexte ?
Une entreprise mandate un pentester pour auditer son exposition externe avant un audit de conformité. Avant d'envoyer le moindre paquet vers l'infrastructure cible, le pentester commence par consulter les certificats TLS déjà émis publiquement et les résultats de moteurs de recherche : il découvre ainsi un sous-domaine staging-admin.entreprise.com oublié, jamais mentionné dans la documentation officielle, et pourtant potentiellement accessible depuis Internet.
On change de posture : penser comme l'attaquant, légalement
Jusqu'ici, le cours enseignait comment se défendre. À partir de cette leçon, on adopte le point de vue offensif — le pentest (test d'intrusion) — pour comprendre les défenses de l'intérieur.
Piège fréquent
Ce changement de posture s'accompagne d'une règle absolue et non négociable : aucune action ne peut être menée sans une autorisation écrite préalable définissant précisément le périmètre. Sans cela, exactement les mêmes actions deviennent un délit pénal.
Pourquoi la reconnaissance vient toujours en premier
Avant d'attaquer quoi que ce soit, un professionnel — comme un cambrioleur méthodique dans les films, mais légalement — commence par observer sans toucher. La reconnaissance construit une cartographie de la cible : quels sous-domaines existent, quelles technologies sont utilisées, quels employés sont exposés publiquement.
La distinction cruciale : passive vs active
| Type de reconnaissance | Touche la cible ? | Autorisation requise ? |
|---|---|---|
| Passive (WHOIS, Certificate Transparency, OSINT) | Non, sources déjà publiques | Recommandée mais moins critique |
| Active (résolution DNS ciblée, requêtes HTTP) | Oui, directement | Obligatoire, par écrit |
La reconnaissance passive est indétectable car elle ne touche jamais l'infrastructure de la cible. La reconnaissance active, elle, laisse des traces et peut déjà être perçue comme une attaque.
Pourquoi documenter dès cette étape
Un bon pentester note tout dès le début : la source de chaque information, l'heure de chaque action, les hypothèses à vérifier plus tard. Ce n'est pas de la paperasse accessoire — c'est ce qui permettra de produire un rapport final crédible et de prouver, en cas de question, que le périmètre autorisé a été respecté à la lettre.
Lien avec la suite
Cette carte du terrain construite en reconnaissance sert de base directe à la phase suivante : le scanning, qui va chercher activement des vulnérabilités précises sur les éléments identifiés ici.
Commandes & code
Méthodologie de pentest : reconnaissance
Avertissement essentiel : tout ce qui suit ne doit être exécuté que dans un environnement de lab autorisé (VM dédiée, plateforme d'entraînement type TryHackMe/HackTheBox, ou périmètre couvert par un mandat écrit). Scanner ou tester un système sans autorisation explicite est illégal dans la quasi-totalité des juridictions.
# Phases standard d'un test d'intrusion (méthodologie PTES / OWASP Testing Guide)
1. Pre-engagement : périmètre, autorisation écrite (règles d'engagement), fenêtre horaire
2. Reconnaissance : collecte d'information (passive puis active)
3. Scanning : identification des services et versions exposés
4. Exploitation : validation contrôlée des vulnérabilités identifiées
5. Post-exploitation : évaluation de l'impact réel (sans dommage), pivot éventuel
6. Reporting : documentation claire, priorisée par risque, avec remédiations# Reconnaissance passive : ne touche jamais directement la cible, invisible pour elle
OSINT (Open Source Intelligence) : sources publiques (réseaux sociaux, sites web, dépôts de code publics)
WHOIS : informations d'enregistrement de domaine
Certificate Transparency logs : découverte de sous-domaines via les certificats TLS émis publiquement# OSINT sur un domaine de lab (ex: domaine de test que vous possédez)
whois technologik-lab.local
# Découverte de sous-domaines via les logs de certificats publics (Certificate Transparency)
curl -s "https://crt.sh/?q=%.technologik-lab.local&output=json" | jq -r '.[].name_value' | sort -u
# theHarvester : agrège des informations publiques (emails, sous-domaines, IPs) depuis moteurs de recherche
theHarvester -d technologik-lab.local -b google,bing,crtsh -l 200# Recherche de sous-domaines par force brute contrôlée sur un domaine de LAB
subfinder -d technologik-lab.local -silent | tee subdomains.txt
amass enum -passive -d technologik-lab.local -o amass-results.txt
# Vérifier quels sous-domaines découverts répondent réellement (httpx = probing HTTP, pas le client Python)
cat subdomains.txt | httpx -silent -status-code -title# Google dorking : recherche avancée pour repérer des fuites d'information publiquement indexées
# À utiliser uniquement pour auditer SES PROPRES domaines
site:technologik-lab.local filetype:pdf
site:technologik-lab.local inurl:admin
site:technologik-lab.local ext:env OR ext:log
site:pastebin.com "technologik-lab.local" # recherche de fuites potentielles sur des sites tiers# Reconnaissance active : interagit directement avec la cible, potentiellement détectable/loggée
# NE JAMAIS lancer sans autorisation écrite explicite - c'est ici que la légalité devient stricte
Ping sweep : identifier les hôtes actifs sur une plage réseau
Port scanning : identifier les ports/services ouverts (voir leçon nmap dédiée)
Banner grabbing : identifier les versions exactes de logiciels exposés# Ping sweep sur un LAB réseau (ex: réseau de VM d'entraînement 192.168.56.0/24)
nmap -sn 192.168.56.0/24 -oG - | grep "Up" | cut -d ' ' -f 2
# Banner grabbing manuel avec netcat pour identifier une version de service
nc -nv 192.168.56.10 22
# Réponse type : "SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6" -> permet de croiser avec des CVE connues# Documentation systématique dès la phase de reconnaissance (base du futur rapport)
- Périmètre exact autorisé (IPs, domaines, exclusions explicites)
- Chaque information collectée, sa source, et l'heure de collecte
- Toute action active horodatée (traçabilité en cas de question du client/blue team)
- Hypothèses de vulnérabilités à vérifier en phase de scanningRésumé
- Toute reconnaissance active nécessite une autorisation écrite préalable (règles d'engagement).
- La reconnaissance passive (OSINT, WHOIS, Certificate Transparency) ne touche jamais la cible directement.
- theHarvester, subfinder, amass automatisent la collecte d'informations publiques sur un périmètre autorisé.
- Documenter chaque étape dès la reconnaissance prépare un rapport final exploitable.
Exercices pratiques
Mission : le sous-domaine de staging que personne n'a documenté
Objectif : Mener une reconnaissance passive méthodique sur un domaine de lab et justifier chaque étape avant toute action active.
Contexte
Technologik te mandate par écrit pour auditer son exposition externe sur le domaine technologik-lab.local, avant un audit de conformité. Le mandat précise explicitement que la phase de reconnaissance doit être menée d'abord entièrement en passif, avant toute autorisation d'actions actives sur l'infrastructure.