-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathosint_interactive.html
More file actions
576 lines (544 loc) · 33.8 KB
/
Copy pathosint_interactive.html
File metadata and controls
576 lines (544 loc) · 33.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OSINT — Open Source Intelligence</title>
<style>
:root{--bg:#f8fafc;--card:#fff;--border:#e2e8f0;--text:#1e293b;--muted:#64748b;--acc:#44403c;--acc2:#292524;--blue600:#2563eb;--green:#16a34a;--red:#dc2626;--orange:#ea580c;--purple:#7c3aed;--grad1:#0c0a09;--grad2:#1c1917}
@media(prefers-color-scheme:dark){:root{--bg:#0d0d0d;--card:#1a1a1a;--border:#2a2a2a;--text:#e2e8f0;--muted:#94a3b8}}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
header{background:linear-gradient(135deg,var(--grad1),var(--grad2));padding:2rem 1rem;text-align:center;border-bottom:2px solid var(--acc)}
header h1{font-size:2rem;font-weight:800;color:#fff}
header p{color:#a8a29e;margin-top:.4rem;font-size:.95rem}
nav{position:sticky;top:0;z-index:100;background:var(--card);border-bottom:1px solid var(--border);padding:.5rem 1rem;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.tab-btn{padding:.4rem 1rem;border:none;border-radius:999px;cursor:pointer;font-size:.85rem;font-weight:600;background:var(--border);color:var(--muted);transition:all .2s}
.tab-btn.active{background:var(--blue600);color:#fff}
.tab-btn:hover:not(.active){background:var(--acc);color:#fff}
section{display:none;max-width:1100px;margin:0 auto;padding:1.5rem 1rem}
section.active{display:block}
h2{font-size:1.4rem;font-weight:700;margin-bottom:1rem;color:var(--acc)}
h3{font-size:1.1rem;font-weight:600;margin:1.2rem 0 .6rem}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1.2rem}
.card h4{font-size:1rem;font-weight:700;margin-bottom:.5rem;color:var(--acc)}
.codeblk{background:#1e1e2e;color:#cdd6f4;border-radius:.5rem;padding:1rem;font-family:'Cascadia Code','Fira Code',monospace;font-size:.82rem;overflow-x:auto;margin:.5rem 0;line-height:1.7;white-space:pre-wrap}
.c-kw{color:#89b4fa}.c-str{color:#a6e3a1}.c-comment{color:#6c7086;font-style:italic}.c-val{color:#f9e2af}.c-fn{color:#cba6f7}
table{width:100%;border-collapse:collapse;font-size:.85rem;margin:.5rem 0}
th{background:var(--acc);color:#fff;padding:.5rem .75rem;text-align:left}
td{padding:.4rem .65rem;border-bottom:1px solid var(--border)}
tr:hover td{background:var(--border)}
.info-box{background:var(--card);border-left:4px solid var(--acc);border-radius:.5rem;padding:.8rem 1rem;margin:.5rem 0}
.info-box.green{border-color:var(--green)}.info-box.red{border-color:var(--red)}.info-box.blue{border-color:var(--blue600)}.info-box.orange{border-color:var(--orange)}
.quiz-q{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1.2rem;margin:.8rem 0}
.quiz-q p{font-weight:600;margin-bottom:.7rem}
.quiz-opt{padding:.5rem .8rem;border:1px solid var(--border);border-radius:.4rem;margin:.3rem 0;cursor:pointer;transition:all .2s}
.quiz-opt:hover{border-color:var(--acc);background:rgba(68,64,60,.05)}
.quiz-opt.correct{background:#dcfce7;border-color:var(--green);color:#166534}
.quiz-opt.wrong{background:#fee2e2;border-color:var(--red);color:#991b1b}
@media(prefers-color-scheme:dark){.quiz-opt.correct{background:#14532d;color:#86efac}.quiz-opt.wrong{background:#450a0a;color:#fca5a5}}
#quiz-score{display:none;text-align:center;padding:1.5rem;background:var(--card);border-radius:.75rem;margin-top:1rem;font-size:1.1rem;font-weight:700}
</style>
</head>
<body>
<header>
<h1>OSINT</h1>
<p>Open Source Intelligence — reconnaissance et investigation à partir de sources publiques</p>
</header>
<nav>
<button class="tab-btn active" onclick="showTab('overview')">Vue d'ensemble</button>
<button class="tab-btn" onclick="showTab('methodology')">Méthodologie</button>
<button class="tab-btn" onclick="showTab('domain')">Domaines & infra</button>
<button class="tab-btn" onclick="showTab('people')">Personnes & identités</button>
<button class="tab-btn" onclick="showTab('content')">Contenu & média</button>
<button class="tab-btn" onclick="showTab('opsec')">OPSEC & éthique</button>
<button class="tab-btn" onclick="showTab('quiz')">Quiz</button>
</nav>
<section id="overview" class="active">
<h2>Vue d'ensemble</h2>
<div class="grid g2">
<div class="card">
<h4>Qu'est-ce que l'OSINT ?</h4>
<p style="font-size:.88rem;margin-bottom:.5rem"><strong>Open Source Intelligence</strong> — collecte et analyse d'informations <strong>publiquement accessibles</strong>, croisées pour produire du renseignement actionnable.</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>Open</strong> ≠ gratuit nécessairement. C'est <em>accessible légalement</em>.</li>
<li>Sources : web, réseaux sociaux, presse, archives, données publiques, registres légaux, satellites, dark web (avec précautions)</li>
<li>Discipline ancienne (renseignement militaire), explosion avec le web</li>
<li>Pratiquée par : journalistes, IR/SOC, red teams, threat intel, enquêteurs, RH, marketing, recherche académique</li>
</ul>
</div>
<div class="card">
<h4>Cas d'usage</h4>
<table>
<tr><th>Domaine</th><th>Objectif</th></tr>
<tr><td>Cybersécurité offensive</td><td>Reconnaissance avant pentest / red team</td></tr>
<tr><td>Cybersécurité défensive</td><td>Threat intelligence, surveillance brand, fuites</td></tr>
<tr><td>DFIR / Forensic</td><td>Profilage attaquant, attribution</td></tr>
<tr><td>Journalisme d'investigation</td><td>Bellingcat, ProPublica, Le Monde</td></tr>
<tr><td>HUMINT / SIGINT support</td><td>Renseignement étatique</td></tr>
<tr><td>Due diligence</td><td>Vérifier un partenaire, recrutement</td></tr>
<tr><td>Recherche missing persons</td><td>Trace digital ⇒ localisation</td></tr>
<tr><td>Anti-fraude</td><td>Vérifier identités, escroqueries</td></tr>
<tr><td>Veille concurrentielle</td><td>Légal — informations publiques</td></tr>
</table>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Acteurs & communauté</h4>
<table>
<tr><th>Acteur</th><th>Notes</th></tr>
<tr><td><strong>Bellingcat</strong></td><td>Journalisme d'investigation OSINT (MH17, Skripal, Boutcha)</td></tr>
<tr><td>OSINT Framework</td><td><a href="https://osintframework.com" style="color:var(--acc)">osintframework.com</a> — annuaire de référence</td></tr>
<tr><td>SANS / SEC487 / SEC587</td><td>Formations OSINT</td></tr>
<tr><td>Trace Labs</td><td>CTF OSINT pour aider à trouver des personnes disparues</td></tr>
<tr><td>NixIntel, OSINTCurio.us</td><td>Blogs & tutos</td></tr>
<tr><td>r/OSINT, /r/TraceLabs</td><td>Communautés Reddit</td></tr>
<tr><td>IntelTechniques (Bazzell)</td><td>Méthodes, livre Open Source Intelligence Techniques</td></tr>
</table>
</div>
</section>
<section id="methodology">
<h2>Méthodologie</h2>
<div class="grid g2">
<div class="card">
<h4>Cycle du renseignement</h4>
<ol style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>Direction</strong> — définir le besoin précis (quoi chercher, pourquoi)</li>
<li><strong>Collecte</strong> — sources multiples, redondance</li>
<li><strong>Traitement</strong> — normalisation, déduplication, mise en forme</li>
<li><strong>Analyse</strong> — corrélation, hypothèses, structured analytic techniques</li>
<li><strong>Diffusion</strong> — rapport, dashboards, transmission aux décideurs</li>
<li><strong>Feedback</strong> — itération, nouvelles questions</li>
</ol>
<div class="info-box blue" style="margin-top:.4rem;font-size:.82rem">
Aussi appelé <strong>F3EAD</strong> (Find / Fix / Finish / Exploit / Analyze / Disseminate) côté militaire.
</div>
</div>
<div class="card">
<h4>5 W's (questions cadre)</h4>
<table>
<tr><th>Question</th><th>Vise</th></tr>
<tr><td><strong>Who</strong></td><td>Identités, alias, comptes, devices</td></tr>
<tr><td><strong>What</strong></td><td>Quels actifs, infos, comportements ?</td></tr>
<tr><td><strong>When</strong></td><td>Chronologie, timeline, fuseaux</td></tr>
<tr><td><strong>Where</strong></td><td>Géolocalisation, infra, juridictions</td></tr>
<tr><td><strong>Why</strong></td><td>Motivation, intention</td></tr>
<tr><td>How</td><td>Modus operandi, TTPs</td></tr>
</table>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Sources & classification</h4>
<table>
<tr><th>Catégorie</th><th>Exemples</th></tr>
<tr><td><strong>OSINT</strong> (Open Source)</td><td>Web public, réseaux sociaux, registres, presse</td></tr>
<tr><td><strong>HUMINT</strong> (Human)</td><td>Sources humaines, interviews</td></tr>
<tr><td><strong>SIGINT</strong> (Signals)</td><td>Interception communications</td></tr>
<tr><td><strong>GEOINT</strong> (Geospatial)</td><td>Imagerie satellite, cartes</td></tr>
<tr><td><strong>SOCMINT</strong> (Social Media)</td><td>Sous-discipline OSINT — réseaux sociaux</td></tr>
<tr><td><strong>FININT</strong></td><td>Information financière</td></tr>
<tr><td><strong>TECHINT</strong></td><td>Information technique (échantillons malware, logs)</td></tr>
<tr><td><strong>IMINT</strong></td><td>Imagery — photos, vidéos</td></tr>
<tr><td><strong>MASINT</strong></td><td>Mesures et signatures (radars, capteurs)</td></tr>
</table>
<div class="info-box orange" style="margin-top:.4rem;font-size:.82rem">
L'<strong>OSINT croisé avec d'autres INT</strong> donne du renseignement actionnable. Une info isolée se vérifie par recoupement.
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Évaluer la fiabilité — modèle Admiralty</h4>
<table>
<tr><th>Source</th><th>Information</th></tr>
<tr><td>A — Complètement fiable</td><td>1 — Confirmée</td></tr>
<tr><td>B — Habituellement fiable</td><td>2 — Probablement vraie</td></tr>
<tr><td>C — Assez fiable</td><td>3 — Possiblement vraie</td></tr>
<tr><td>D — Pas habituellement fiable</td><td>4 — Douteuse</td></tr>
<tr><td>E — Peu fiable</td><td>5 — Improbable</td></tr>
<tr><td>F — Fiabilité ne peut être jugée</td><td>6 — Ne peut être jugée</td></tr>
</table>
<div class="info-box blue" style="margin-top:.4rem;font-size:.82rem">
Chaque info reçoit une note <strong>Source-Information</strong> (ex: B2). Pousse à toujours noter et croiser.
</div>
</div>
</section>
<section id="domain">
<h2>Domaines, IP & infrastructure</h2>
<div class="grid g2">
<div class="card">
<h4>WHOIS & historique de domaine</h4>
<div class="codeblk"><span class="c-comment"># Lookup WHOIS classique</span>
whois example.com
<span class="c-comment"># Données : registrant, contacts (souvent obfusqués par GDPR ou
# Privacy Protection), dates création/expiration, nameservers</span>
<span class="c-comment"># Bases historiques — précieuses car GDPR masque l'actuel</span>
WhoisXMLAPI, DomainTools, SecurityTrails, RiskIQ PassiveTotal
<span class="c-comment"># Reverse WHOIS — domaines liés à un email/orga</span>
ViewDNS, DomainBigData
<span class="c-comment"># Snapshots historiques de sites</span>
web.archive.org (Wayback Machine)
archive.today (archive.ph)
cachedview.com</div>
</div>
<div class="card">
<h4>DNS & sous-domaines</h4>
<div class="codeblk"><span class="c-comment"># Résolution basique</span>
dig +short example.com
dig +short MX example.com
dig +short TXT example.com <span class="c-comment"># SPF, DMARC, BIMI</span>
<span class="c-comment"># Énumération de sous-domaines</span>
subfinder -d example.com
amass enum -passive -d example.com
assetfinder example.com
crt.sh <span class="c-comment"># via CT logs</span>
<span class="c-comment"># Brute force ciblé</span>
ffuf -w wordlist.txt -u https://FUZZ.example.com
<span class="c-comment"># Passive DNS (historique des résolutions)</span>
SecurityTrails, PassiveTotal, CIRCL pDNS, VirusTotal
<span class="c-comment"># DNS dumps publics</span>
DNSDB, dnshistory.org</div>
</div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>Certificate Transparency (CT)</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Tous les certificats émis par des CAs publiques sont logués. Permet de découvrir <strong>tous les sous-domaines</strong> qui ont reçu un certificat (même internes).</p>
<div class="codeblk"><span class="c-comment"># Recherche crt.sh</span>
curl -s <span class="c-str">"https://crt.sh/?q=%25.example.com&output=json"</span> | jq -r <span class="c-str">'.[].name_value'</span> | sort -u
<span class="c-comment"># Outils en ligne</span>
crt.sh
censys.io
google.com/transparencyreport/https/ct/</div>
</div>
<div class="card">
<h4>Shodan, Censys, FOFA, ZoomEye</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Moteurs de recherche d'<strong>actifs exposés</strong> sur Internet. Scannent en continu IPv4/IPv6 et indexent les bannières, certificats, headers HTTP.</p>
<div class="codeblk"><span class="c-comment"># Shodan — exemples queries</span>
ssh <span class="c-comment"># SSH publics</span>
port:<span class="c-val">5432</span> postgres <span class="c-comment"># PostgreSQL exposés</span>
hostname:example.com
org:<span class="c-str">"Example Corp"</span>
ssl.cert.subject.cn:example.com
http.title:<span class="c-str">"Admin Login"</span>
product:<span class="c-str">"jenkins"</span>
country:FR vuln:CVE-<span class="c-val">2024-1234</span>
<span class="c-comment"># Censys (queries identiques)</span>
services.tls.certificates.leaf_data.subject.common_name:<span class="c-str">"*.example.com"</span>
<span class="c-comment"># Outil CLI Shodan</span>
shodan host <span class="c-val">203.0.113.1</span>
shodan search <span class="c-str">"apache port:80"</span> --limit <span class="c-val">10</span>
shodan domain example.com</div>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>IP, ASN, géolocalisation</h4>
<div class="codeblk"><span class="c-comment"># Géolocalisation IP (approximative)</span>
ipinfo.io, ipgeolocation.io, maxmind.com (GeoIP)
ipapi.co
<span class="c-comment"># Découvrir l'ASN (Autonomous System) propriétaire</span>
whois -h whois.cymru.com <span class="c-str">" -v 203.0.113.1"</span>
bgp.he.net
<span class="c-comment"># Ranges IP d'une orga</span>
bgp.he.net/AS15169 <span class="c-comment"># tous les préfixes Google</span>
<span class="c-comment"># Routes BGP</span>
ripe.net, route-views.routeviews.org
<span class="c-comment"># Cloud provider derrière une IP ?</span>
ipinfo.io/<span class="c-val">203.0.113.1</span>
<span class="c-comment"># → AWS, Azure, GCP, Cloudflare ?</span></div>
</div>
</section>
<section id="people">
<h2>Personnes & identités</h2>
<div class="grid g2">
<div class="card">
<h4>Email</h4>
<div class="codeblk"><span class="c-comment"># Vérifier si un email est compromis</span>
haveibeenpwned.com
intelx.io
dehashed.com (payant)
<span class="c-comment"># Voir si un email est utilisé sur des plateformes</span>
holehe (CLI Python)
- python -m holehe alice@ex.com
EmailRep.io
GHunt (pour Gmail — métadonnées Google)
<span class="c-comment"># Validation / existence</span>
mailtester.com
hunter.io (recherche format emails d'une entreprise)
phonebook.cz
<span class="c-comment"># Recherche de breaches</span>
LeakCheck, IntelligenceX, Dehashed</div>
</div>
<div class="card">
<h4>Username</h4>
<div class="codeblk"><span class="c-comment"># Recherche d'un username sur 100+ plateformes</span>
sherlock username
whatsmyname (whatsmyname.app)
namechk.com
maigret (alternative moderne, plus à jour)
<span class="c-comment"># Exemple sherlock</span>
sherlock alice_dev
<span class="c-comment"># scan ~400 sites pour cet username</span></div>
<h4 style="margin-top:1rem">Numéros de téléphone</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.7">
<li><strong>phoneinfoga</strong> — outil CLI</li>
<li><strong>truecaller, sync.me</strong> (limites légales selon pays)</li>
<li><strong>Numverify, Twilio Lookup</strong> — opérateur, type</li>
<li>Recherche format E.164 dans Google, sites de pages jaunes</li>
</ul>
</div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>Réseaux sociaux — SOCMINT</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>LinkedIn</strong> — profession, collègues, employés d'une entreprise. <code>site:linkedin.com/in</code> Google dork</li>
<li><strong>X/Twitter</strong> — followers, posts, géoloc EXIF (rare), avancée Twitter search</li>
<li><strong>Facebook</strong> — graph search restreint depuis 2019, mais profils publics OK</li>
<li><strong>Instagram</strong> — followers/following, géoloc</li>
<li><strong>TikTok</strong> — bio links, video metadata</li>
<li><strong>GitHub</strong> — commits, emails leaked, projets</li>
<li><strong>Reddit</strong> — historique de comments via <a href="https://camas.unddit.com" style="color:var(--acc)">camas.unddit.com</a></li>
<li><strong>Telegram</strong> — channels publics, recherche</li>
</ul>
<div class="info-box orange" style="margin-top:.4rem;font-size:.82rem">
Les APIs publiques se referment (Twitter, Reddit ↑ prix). Le scraping reste possible mais juridiquement gris (CFAA US, ToS).
</div>
</div>
<div class="card">
<h4>Google dorks</h4>
<div class="codeblk"><span class="c-comment"># Opérateurs avancés</span>
site:example.com <span class="c-comment"># cible un domaine</span>
inurl:admin <span class="c-comment"># URLs contenant admin</span>
intitle:<span class="c-str">"Index of"</span> <span class="c-comment"># listings ouverts</span>
filetype:pdf <span class="c-comment"># type de fichier</span>
intext:<span class="c-str">"password"</span>
cache:example.com <span class="c-comment"># cache Google</span>
related:example.com <span class="c-comment"># sites similaires</span>
-site:example.com <span class="c-comment"># exclure</span>
<span class="c-comment"># Dorks fréquents (référence Exploit-DB)</span>
site:example.com filetype:xls intext:email
inurl:<span class="c-str">"viewerframe?mode="</span> <span class="c-comment"># caméras ouvertes</span>
intitle:<span class="c-str">"Index of"</span> <span class="c-str">"backup"</span>
<span class="c-str">"-----BEGIN PRIVATE KEY-----"</span> <span class="c-comment"># clés privées</span>
filetype:env intext:API_KEY
<span class="c-comment"># Google Hacking Database</span>
exploit-db.com/google-hacking-database</div>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Outils intégrés & aggregators</h4>
<table>
<tr><th>Outil</th><th>Notes</th></tr>
<tr><td><strong>Maltego</strong></td><td>Graphe d'investigation visuel. Transforms publics & payants. Standard pro</td></tr>
<tr><td><strong>SpiderFoot</strong></td><td>Automation OSINT — 200+ modules, génère rapport HTML</td></tr>
<tr><td><strong>Recon-ng</strong></td><td>Framework modulaire CLI (à la Metasploit pour OSINT)</td></tr>
<tr><td><strong>theHarvester</strong></td><td>Emails, sous-domaines, hosts depuis Google/Bing/LinkedIn</td></tr>
<tr><td><strong>IntelligenceX</strong></td><td>Moteur de recherche fuites/dark web (freemium)</td></tr>
<tr><td><strong>Hunchly</strong></td><td>Capture d'écran auto + organisation enquête (Bellingcat utilise)</td></tr>
<tr><td>Lampyre</strong></td><td>Investigation collaborative</td></tr>
<tr><td>Have I Been Squatted, dnstwist</td><td>Typosquatting & domaines proches</td></tr>
</table>
</div>
</section>
<section id="content">
<h2>Contenu, images & géolocalisation</h2>
<div class="grid g2">
<div class="card">
<h4>Métadonnées (EXIF)</h4>
<div class="codeblk"><span class="c-comment"># Lire EXIF d'une image</span>
exiftool photo.jpg
exiv2 photo.jpg
<span class="c-comment"># Données souvent présentes :</span>
<span class="c-comment"># - GPS (lat, long, altitude)</span>
<span class="c-comment"># - Appareil (marque, modèle, serial)</span>
<span class="c-comment"># - Date / heure (timezone)</span>
<span class="c-comment"># - Software (Lightroom, Photoshop) → édition</span>
<span class="c-comment"># - ICC profile, orientation</span>
<span class="c-comment"># Stripper EXIF (pour la production)</span>
exiftool -all= photo.jpg</div>
<div class="info-box red" style="margin-top:.4rem;font-size:.82rem">
Les grandes plateformes (Instagram, X) <strong>strippent l'EXIF</strong> avant publication. Mais les sites perso, partages directs, OneDrive le préservent souvent.
</div>
</div>
<div class="card">
<h4>Reverse image search</h4>
<table>
<tr><th>Outil</th><th>Particularité</th></tr>
<tr><td>Google Lens / Google Images</td><td>Référence</td></tr>
<tr><td>Yandex Images</td><td>Excellent sur visages et chinois/russe</td></tr>
<tr><td>TinEye</td><td>Spécialisé "où cette image apparaît-elle"</td></tr>
<tr><td>Bing Visual Search</td><td>—</td></tr>
<tr><td>Baidu Image</td><td>Asie</td></tr>
<tr><td>PimEyes</td><td>Face recognition (controversé, partial paywall)</td></tr>
<tr><td>FaceCheck.id</td><td>Idem</td></tr>
</table>
<div class="info-box blue" style="margin-top:.4rem;font-size:.82rem">
Bonne pratique : tester sur <strong>plusieurs moteurs</strong> — les résultats varient énormément.
</div>
</div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>Géolocalisation d'une image</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Méthode Bellingcat : croiser indices visuels pour localiser sans EXIF.</p>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li><strong>Architecture</strong> : style des bâtiments, panneaux</li>
<li><strong>Végétation</strong> : type d'arbres → climat / saison</li>
<li><strong>Plaques d'immatriculation</strong> → pays / région</li>
<li><strong>Langues</strong> visibles sur enseignes</li>
<li><strong>Ombres & soleil</strong> → calcul d'heure / latitude (suncalc.org)</li>
<li><strong>Marques</strong> spécifiques à un pays</li>
</ul>
<div class="codeblk" style="margin-top:.4rem"><span class="c-comment"># Outils</span>
Google Maps + Street View
Mapillary, KartaView (rues alternatives)
Wikimapia (annotations communautaires)
OpenStreetMap + Overpass turbo (requêtes)
suncalc.org, sunearthtools.com
SentinelHub Playground (satellite)</div>
</div>
<div class="card">
<h4>Vidéos & streams</h4>
<table>
<tr><th>Outil</th><th>Usage</th></tr>
<tr><td>InVID / WeVerify</td><td>Plugin Chrome/Firefox. Vérifie l'authenticité, extrait keyframes</td></tr>
<tr><td>YouTube DataViewer (Amnesty)</td><td>Métadonnées YouTube, thumbnails</td></tr>
<tr><td>youtube-dl / yt-dlp</td><td>Téléchargement (légalité variable)</td></tr>
<tr><td>FrameByFrame</td><td>Analyse image par image</td></tr>
<tr><td>VLC frame step</td><td>E (next frame), Maj+E (prev)</td></tr>
<tr><td>SnapStream, Earshot</td><td>Monitoring broadcasts</td></tr>
</table>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Imagerie satellite gratuite</h4>
<table>
<tr><th>Source</th><th>Notes</th></tr>
<tr><td>Sentinel Hub Playground</td><td>Sentinel-2 (10 m, 5 jours), gratuit</td></tr>
<tr><td>NASA Worldview</td><td>Capture quotidienne MODIS, VIIRS, Landsat</td></tr>
<tr><td>Planet (limité gratuit)</td><td>~3 m, quotidien — payant pour pro</td></tr>
<tr><td>Maxar / Airbus / BlackSky</td><td>Très haute résolution (30 cm) — payant</td></tr>
<tr><td>Google Earth Pro</td><td>Historique gratuit (slider temps)</td></tr>
<tr><td>USGS EarthExplorer</td><td>Landsat, MODIS gratuit</td></tr>
<tr><td>Copernicus Open Hub</td><td>Sentinel data EU</td></tr>
</table>
<div class="info-box green" style="margin-top:.4rem;font-size:.82rem">
Bellingcat & ProPublica utilisent massivement ces outils pour vérifier les déclarations de gouvernements/militaires (mouvements de troupes, infrastructure).
</div>
</div>
</section>
<section id="opsec">
<h2>OPSEC & éthique</h2>
<div class="grid g2">
<div class="card">
<h4>OPSEC de l'enquêteur — règles</h4>
<div class="info-box red">
En faisant de l'OSINT, <strong>vous laissez des traces</strong>. Si la cible vous voit, elle peut s'adapter, vous attaquer, ou disparaître.
</div>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9;margin-top:.4rem">
<li><strong>Sock puppets</strong> : comptes dédiés à l'investigation, jamais liés à votre identité réelle</li>
<li><strong>Email dédié</strong> + numéro de téléphone (carte SIM jetable ou MySudo, Numéro virtuel)</li>
<li><strong>VPN / Tor</strong> selon le contexte (Tor pour dark web, VPN pour la plupart)</li>
<li><strong>VM dédiée</strong> avec Tails / Whonix ou simplement VM Linux propre, snapshot</li>
<li><strong>Navigateur durci</strong> : Firefox avec uBlock, NoScript, container, Multi-Account Containers</li>
<li><strong>Pas de login</strong> avec vos comptes réels sur les plateformes cibles</li>
<li><strong>Bookmarks ≠ historique</strong> du navigateur perso</li>
<li><strong>Documentation</strong> : Hunchly capture sans interaction</li>
<li><strong>Désactiver les preview</strong> (Slack, Discord, Telegram) — ils visitent les URLs pour vous → fuite</li>
</ul>
</div>
<div class="card">
<h4>Identités d'investigation (sock puppets)</h4>
<p style="font-size:.88rem;margin-bottom:.5rem">Compte plausible mais distinct de vous-même. À construire dans le temps.</p>
<table>
<tr><th>Élément</th><th>Stratégie</th></tr>
<tr><td>Photo de profil</td><td>This Person Does Not Exist (StyleGAN, attention aux artefacts), pas une vraie photo</td></tr>
<tr><td>Nom</td><td>Plausible géographiquement, pas un mix bizarre</td></tr>
<tr><td>Bio</td><td>Vague mais cohérent. Ne pas surcharger</td></tr>
<tr><td>Activité</td><td>Posts/likes pendant des semaines avant d'investiguer</td></tr>
<tr><td>Email + numéro</td><td>Distincts. Email ProtonMail / Tutanota dédié</td></tr>
<tr><td>VPN constant</td><td>Pour les connexions du sock puppet</td></tr>
</table>
<div class="info-box orange" style="margin-top:.4rem;font-size:.82rem">
Risque : Facebook / Instagram repèrent les faux comptes via comportements (création récente, peu d'amis, IP suspecte). Compte régulièrement bloqué.
</div>
</div>
</div>
<div class="grid g2" style="margin-top:1rem">
<div class="card">
<h4>Éthique & légal</h4>
<div class="info-box red">
<strong>L'accès "libre" ne signifie pas l'autorisation d'usage.</strong> Plusieurs pièges juridiques :
</div>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9;margin-top:.4rem">
<li><strong>RGPD</strong> : collecter des données personnelles a une base légale ? Finalité ? Conservation limitée ?</li>
<li><strong>Stalkerware</strong> : harcèlement = délit. Limite avec l'investigation légitime</li>
<li><strong>Violation ToS</strong> : scraping ≠ légal selon plateformes. Aux US, CFAA. EU plus permissif</li>
<li><strong>Doxxing</strong> : publier les infos privées d'une personne = pénal (FR : code pénal art. 226-22)</li>
<li><strong>Accès non autorisé</strong> : si on entre dans un compte/admin → STAD (323-1)</li>
<li><strong>Diffamation</strong> : conclusions diffusées doivent être étayées</li>
<li><strong>Cadre pro</strong> : mandat clair, scope écrit, signature</li>
</ul>
</div>
<div class="card">
<h4>Bonnes pratiques de rapport</h4>
<ul style="font-size:.85rem;padding-left:1.2rem;line-height:1.9">
<li>Reproductibilité : chaque info doit être <strong>sourcée</strong> avec URL + date d'accès</li>
<li>Archiver les preuves (Wayback, Hunchly, screenshots avec hash)</li>
<li>Distinguer <strong>fait</strong> / <strong>indice</strong> / <strong>hypothèse</strong></li>
<li>Évaluer la fiabilité (Admiralty)</li>
<li>Triangulation : 2-3 sources indépendantes minimum</li>
<li>Indiquer les <strong>limites</strong> de l'investigation</li>
<li>Ne pas conclure au-delà des preuves</li>
<li>Considérer les biais cognitifs (confirmation, ancrage)</li>
</ul>
<div class="info-box green" style="margin-top:.4rem;font-size:.82rem">
SATs (Structured Analytic Techniques) : ACH (Analysis of Competing Hypotheses), Devil's Advocacy, Red Team Analysis.
</div>
</div>
</div>
<div class="card" style="margin-top:1rem">
<h4>Apprendre — ressources</h4>
<table>
<tr><th>Ressource</th><th>Notes</th></tr>
<tr><td>OSINT Framework</td><td>Mind map de tous les outils par catégorie</td></tr>
<tr><td>Bellingcat Online Investigations Toolkit</td><td>Tableur partagé, mis à jour</td></tr>
<tr><td>Trace Labs Search Party CTF</td><td>CTF mensuels pour aider à trouver des personnes disparues</td></tr>
<tr><td>SANS SEC487 / SEC587</td><td>Formations payantes haut de gamme</td></tr>
<tr><td>OSINT Curious, Nixintel, Plessas, MyOSINT.training</td><td>Blogs, podcasts</td></tr>
<tr><td>OSINT Combine, OSINT Industries</td><td>Comm, outils, ressources</td></tr>
<tr><td>Quiztime (Twitter, dimanche)</td><td>Challenges de géoloc hebdo</td></tr>
<tr><td>GEOINTeresting</td><td>Newsletter géoint</td></tr>
<tr><td>Open Source Intelligence Techniques (Bazzell)</td><td>Livre référence ~ 600 pages, mises à jour annuelles</td></tr>
</table>
</div>
</section>
<section id="quiz">
<h2>Quiz — OSINT</h2>
<div id="quiz-container"></div>
<div id="quiz-score"></div>
</section>
<script>
function showTab(id){document.querySelectorAll('section').forEach(s=>s.classList.remove('active'));document.querySelectorAll('.tab-btn').forEach(b=>b.classList.remove('active'));document.getElementById(id).classList.add('active');event.target.classList.add('active')}
const quizData=[
{q:"Que signifie OSINT ?",opts:["Operational Security Intel","Open Source Intelligence","Online Source Investigation","Off-Site IT Network"],a:1},
{q:"Quelle source d'information révèle souvent les sous-domaines internes mêmes non publiés ?",opts:["WHOIS","Certificate Transparency logs","DNS public","DMARC"],a:1},
{q:"Quel outil indexe les actifs exposés sur Internet (bannières services, certificats) ?",opts:["nmap","Shodan, Censys, FOFA, ZoomEye","Wireshark","tcpdump"],a:1},
{q:"À quoi sert sherlock / whatsmyname ?",opts:["Énumérer les sous-domaines","Chercher un username sur des dizaines de plateformes","Reverse image","Géoloc IP"],a:1},
{q:"Que contient typiquement l'EXIF d'une photo ?",opts:["Rien","GPS, appareil, date, logiciel d'édition","Le mot de passe","Le hash"],a:1},
{q:"Quel moteur de reverse image est excellent sur les visages ?",opts:["Google","Yandex Images","DuckDuckGo","TinEye"],a:1},
{q:"À quoi sert Wayback Machine ?",opts:["Revenir dans le temps","Voir l'historique d'un site web archivé","Backup","Chiffrement"],a:1},
{q:"Que signifie 'sock puppet' en OSINT ?",opts:["Outil de scan","Identité fictive dédiée à l'investigation","Type de chiffrement","Mode anonyme"],a:1},
{q:"Quel outil capture automatiquement les pages visitées pour l'investigation (utilisé par Bellingcat) ?",opts:["Excel","Hunchly","Notepad","Notion"],a:1},
{q:"Le modèle Admiralty évalue quoi ?",opts:["Le port","La fiabilité de la source ET de l'information (A1 à F6)","La vitesse","La latence"],a:1},
{q:"Le scraping ou la collecte automatisée peut violer...",opts:["Rien","Les ToS, CFAA (US), RGPD, droit d'auteur selon le cas","Uniquement le DNS","DMARC"],a:1},
{q:"Quel outil est référence pour OSINT graph d'investigation ?",opts:["Excel","Maltego","Wireshark","Photoshop"],a:1},
{q:"Quelle est la première règle d'OPSEC d'un investigateur ?",opts:["Aller vite","Ne pas laisser l'identité réelle être liée à l'enquête","Tout publier","Utiliser son vrai nom"],a:1}
];
let answers=new Array(quizData.length).fill(null);
function buildQuiz(){const c=document.getElementById('quiz-container');c.innerHTML=quizData.map((q,i)=>`<div class="quiz-q"><p>${i+1}. ${q.q}</p>${q.opts.map((o,j)=>`<div class="quiz-opt" onclick="answer(this,${i},${j})">${o}</div>`).join('')}</div>`).join('')}
function answer(el,qi,oi){const parent=el.parentElement;if(parent.querySelector('.correct,.wrong'))return;answers[qi]=oi;const correct=quizData[qi].a;parent.querySelectorAll('.quiz-opt').forEach((o,j)=>{if(j===correct)o.classList.add('correct');else if(j===oi&&oi!==correct)o.classList.add('wrong')});if(answers.every(a=>a!==null)){const score=answers.filter((a,i)=>a===quizData[i].a).length;const sc=document.getElementById('quiz-score');sc.style.display='block';sc.innerHTML=`Score : ${score}/${quizData.length} ${score>=10?'Excellent !':score>=7?'Bien !':'À revoir'}`}}
buildQuiz();
</script>
</body>
</html>