OSINT — Notions
OSINT — Open Source Intelligence. Le renseignement à partir de sources publiques. Toute la recherche que vous pouvez faire sans envoyer un seul paquet à la cible. Personne ne saura que vous cherchez. C'est là que la moitié d'une mission se joue — avant même de brancher Nmap.
Les sources sont publiques ; les regarder n'est pas un délit. Mais deux limites existent : (1) certaines juridictions considèrent la collecte massive de données personnelles comme un traitement soumis au RGPD / Loi 25 même si les données sont publiques ; (2) beaucoup d'outils OSINT envoient des requêtes actives sans que vous vous en rendiez compte. Vérifiez ce que fait chaque outil avant de le lancer.
Ce que vous saurez faire après cette leçon
- Distinguer reconnaissance passive de reconnaissance active — la ligne rouge.
- Nommer les six familles de sources OSINT et savoir ce que chacune donne.
- Construire une fiche cible propre, versionnée, exploitable en phase active.
- Repérer les outils dits OSINT qui, en réalité, touchent la cible (et donc changent la nature juridique de votre action).
- Sortir d'une session OSINT avec trois choses : un plan d'attaque, une liste de personnes clés, un premier lot de failles à confirmer.
1. La ligne rouge : passif vs actif
C'est la seule distinction qui compte, et 90 % des débutants la ratent.
| Phase | Ce que vous faites | Ce que la cible voit |
|---|---|---|
| Passive | Interroger des tiers (Google, crt.sh, shodan.io, LinkedIn). | Rien. Aucun paquet chez elle. |
| Active | Envoyer un paquet direct (nmap, curl, ping, un scan). | Une entrée dans ses logs. |
Deux exemples pour graver ça :
- Vous consultez
crt.shpour lister les sous-domaines declient.com→ passif.crt.shregarde dans les journaux publics de certificats, la cible ne sait pas que vous existez. - Vous faites
dig ANY client.com @ns1.client.com→ actif (rare cas). Le serveur DNS du client reçoit votre requête. Ça peut se voir dans ses logs.
La règle simple : si mon paquet arrive chez la cible, je suis en actif. Sinon, passif.
L'OSINT vit dans le passif. Elle en est même la définition.
2. Pourquoi ça compte plus qu'on ne le croit
Un pentest black-box mal préparé, c'est un mois d'échec. Un pentest précédé de deux jours d'OSINT sérieux, c'est parfois la mission finie en une semaine.
Ce que l'OSINT vous donne :
- Le périmètre réel, pas le périmètre annoncé. Un client vous parle de
client.com. Vous découvrez qu'il opère aussiclient.io,mieux-que-client.ca,client-store.myshopify.com, et unvpn.client.corpmal caché. - Les technologies utilisées. Nginx 1.14, Django 3.1, Cloudflare devant certains sous-domaines et pas devant d'autres. Chaque techno a ses failles connues.
- L'organigramme humain. Qui décide, qui administre, qui pourrait cliquer sur un mail piégé.
- Les fuites passées. HaveIBeenPwned, dumps sur pastebin, base Collection #1 — mots de passe déjà connus d'employés.
- Les erreurs de configuration exposées. Un
.gitpublic, un bucket S3 ouvert, un endpoint/actuator/envd'un Spring Boot mal sécurisé.
Tout cela sans faire un scan. Discret. Défendable. Souvent décisif.
3. Les six familles de sources
3.1. DNS — l'infrastructure racontée par son adressage
Le DNS est la carte de l'infrastructure publique. Chaque enregistrement raconte quelque chose.
| Type | Ce que ça révèle |
|---|---|
| A / AAAA | L'IP publique. Souvent un CDN (Cloudflare, Akamai) qui masque le vrai serveur, parfois pas. |
| MX | Le prestataire de messagerie (Google Workspace, Microsoft 365, MailerLite…). |
| TXT (SPF) | Les serveurs autorisés à envoyer des mails au nom du domaine — souvent une liste très parlante de services SaaS. |
| TXT (DMARC) | La politique anti-spoofing. Absente ou p=none = ouverte au phishing. |
| TXT (autres) | Les vérifications de propriété pour Google, Microsoft, Slack, Facebook — indique qui utilise quoi. |
| NS | Le prestataire DNS. Un mauvais choix (registrar sans MFA) est déjà une faiblesse. |
| CNAME | Souvent, la vraie destination (heroku, netlify, github pages). |
3.2. WHOIS / RDAP — l'identité administrative
Qui a acheté le domaine, quand, chez quel registrar, avec quel email. Aujourd'hui souvent masqué par un service de privacy proxy, mais parfois pas. Un email de contact admin@client.com visible dans le WHOIS = un pattern d'email pour toute la boîte.
3.3. Certificate Transparency (crt.sh, Censys)
Toutes les autorités de certification publient les certificats qu'elles émettent, dans des journaux publics et vérifiables. Résultat : chaque certificat obtenu pour un sous-domaine est connaissable, même si ce sous-domaine n'est jamais listé nulle part.
C'est la source numéro un pour trouver les sous-domaines. Un curl 'https://crt.sh/?q=%25.client.com&output=json' et vous avez tout ce qui a été certifié depuis 2013.
3.4. Moteurs de recherche et Dorks
Google, Bing, DuckDuckGo indexent tout ce qui n'est pas protégé. Les Dorks sont des recherches ciblées :
site:client.com filetype:sql
site:client.com filetype:env
site:client.com filetype:log
site:client.com intitle:"index of"
site:client.com inurl:admin
site:client.com "internal use only"
site:*.client.com -site:www.client.com
site:pastebin.com "client.com"
site:github.com "client.com" password
Chaque ligne peut trouver un trésor. Le Google Hacking Database (GHDB) recense des milliers de patterns. Regardez-le.
3.5. Services spécialisés
- Shodan : moteur de recherche des services exposés sur Internet. Requête
hostname:client.com= liste des IPs et services publics. Attention : Shodan interroge les cibles pour construire son index, mais vous en consultant Shodan restez en passif. - Censys : équivalent, souvent plus complet sur les certificats.
- GreyNoise : renseigne sur les IPs qui scannent Internet en permanence — utile pour distinguer un attaquant ciblé d'un bruit de fond.
- HaveIBeenPwned : les emails de vos cibles apparaissent-ils dans des fuites publiques ?
- LinkedIn : l'organigramme, la stack technique dans les offres d'emploi, les employés à cibler en phishing.
- GitHub : le code du client, ou celui de ses employés. On y trouve des clés API, des configs, des mots de passe hardcodés — plus souvent qu'on ne l'imagine.
3.6. Archives et sources historiques
- Wayback Machine : la version du site il y a 3 ans. Peut contenir des endpoints supprimés depuis mais encore actifs sur le serveur.
- GitHub Search : les commits publics d'anciens employés. Un
git rmne supprime pas de l'historique. - Archives régionales (BAnQ, Registre des entreprises du Québec) : structure juridique, dirigeants, actionnaires — utile pour le contexte.
4. Les outils OSINT qui ne le sont pas vraiment
Piège classique. Certains outils vendus comme OSINT déclenchent des requêtes actives. Vous croyez faire du passif, vous êtes en actif. Vérifiez chaque outil.
| Outil | Action réelle |
|---|---|
amass enum -passive | Passif. amass enum (sans -passive) fait des scans DNS actifs. |
theHarvester | Passif (interroge des API tierces). |
subfinder | Passif (par défaut). |
assetfinder | Passif. |
nuclei | Actif. Envoie des sondes à la cible. |
httpx | Actif. Vérifie qui répond en HTTP. |
dnsx avec -resolvers | Actif — utilise un résolveur public, mais chaque résolution A peut atterrir chez le NS du client si vous forcez +trace. |
masscan, nmap | Actif, sans ambiguïté. |
wappalyzer (CLI) | Actif. Charge la page. |
wappalyzer (extension navigateur) | Actif. C'est vous qui chargez la page dans votre navigateur, la cible voit la requête. |
En résumé : quand vous envoyez quelque chose, vous êtes en actif. Ça peut être légitime, mais le savoir vous évite de tricher sur le RoE.
5. La fiche cible — le livrable de la phase OSINT
À la fin de la semaine 3, vous devez avoir un fichier, versionné (Git), qui répond aux questions ci-dessous. Sans ce fichier, la phase active partira dans tous les sens.
# Fiche cible — client.com (au 2026-04-10)
## 1. Périmètre confirmé
- Domaines racines : client.com, client.io
- Sous-domaines (sources : crt.sh + subfinder passif) :
- www.client.com Cloudflare
- api.client.com Cloudflare
- api-dev.client.com AWS ELB (ca-central-1) — hors périmètre ? à confirmer
- vpn.client.com Fortinet (page login publique)
- jira.client.com Atlassian Cloud
- status.client.com StatusPage.io
- old-shop.client.com WooCommerce, dernier certificat 2022 — abandonné ?
- Sous-domaines suspects (à vérifier RoE) :
- internal.client.com n'existe pas mais un certificat a été émis en 2024
## 2. Adressage
- Bloc AS observé : 203.0.113.0/28 (5 IPs)
- Fournisseurs : Cloudflare (front), AWS (backend), OVH (email marketing)
## 3. Technologies
- Front : Next.js 13.x (X-Powered-By)
- API : Django 3.2 (indice : en-tête X-Framework)
- Fichiers oubliés :
- /robots.txt révèle /admin et /old-panel
- /.git/config exposé sur old-shop.client.com — À CONFIRMER SEMAINE 4
## 4. Messagerie
- MX : mx1.google.com, mx2.google.com → Google Workspace
- SPF : v=spf1 include:_spf.google.com include:mailchimp.com -all
- DMARC : v=DMARC1; p=none; rua=mailto:dmarc@client.com → faible
- DKIM : présent (selector : google)
## 5. Personnes clés (LinkedIn public)
- DSI : Marie Tremblay (marie.tremblay@client.com)
- Admin système : Étienne Roy (etienne.roy@client.com)
- 24 employés total identifiés — voir personnes.csv
## 6. Fuites publiques
- HIBP : 12 comptes @client.com apparaissent dans Collection #1 (2019)
- Pastebin : rien à date
- GitHub : 2 dépôts personnels de M. Roy contiennent des scripts nommés
"client-backup.sh" — à examiner semaine 4.
## 7. Hypothèses d'attaque
- Sous-domaine api-dev.client.com semble hors du CDN. Cible prioritaire.
- .git exposé sur old-shop : jackpot potentiel.
- DMARC en p=none : phishing spoofé possible (module 6).
- 12 fuites HIBP : password spraying probable.
Ce fichier est votre carte de mission. Chaque module suivant s'appuiera dessus.
6. Les erreurs qui gâchent une phase OSINT
- Chercher tout, ne rien organiser. Sans la fiche, vos deux jours de collecte deviennent un dossier de captures d'écran illisibles.
- Confondre passif et actif. Vous croyez être discret, la cible voit tout dans ses logs.
- Se limiter au domaine principal. La vraie faille est presque toujours sur
admin-old.client.com, pas surwww.client.com. - Oublier LinkedIn. Le fichier
personnes.csvalimentera le phishing du module 6. Sans lui, phishing hasardeux. - Se disperser sur Twitter/Reddit. Beaucoup de bruit pour peu de signal. Passez-y 30 minutes, pas plus.
7. Ce qu'il faut retenir
- Passive = tiers, actif = cible. Ligne rouge à ne jamais confondre.
- Six familles de sources : DNS, WHOIS, Certificate Transparency, moteurs, services spécialisés, archives.
- Beaucoup d'outils OSINT sont en réalité actifs — vérifiez avant de lancer.
- Le livrable de la semaine 3 est une fiche cible, pas un tas de captures.
- L'OSINT est le meilleur retour sur investissement de tout le pentest.
Prochaine leçon : on prend une cible réelle (un bug bounty public, hackerone.com/programs) et on déroule tout ce qui précède en 90 minutes.