S01E11 - Et si votre collègue vendait vos secrets M365 sur le dark web ?
L’amorce : “Admin pour tous, sécurité pour personne”
Mercredi 14h30, bureaux de FlowTech, startup SaaS de 35 personnes, Montpellier
Noirpen, 26 ans, ingénieur DevOps fraîchement embauché chez FlowTech depuis 3 semaines, termine sa formation sur l’environnement Microsoft 365 de l’entreprise. Julien, le responsable IT et fondateur technique, lui explique les “règles du jeu” :
Julien : “Écoute Noirpen, chez nous c’est simple : pas de bureaucratie. Tu as besoin d’un accès admin M365 ? Tu demandes, on te donne. L’agilité avant tout !”
Noirpen : “Même… Global Administrator ? C’est pas un peu risqué ?”
Julien (souriant) : “On n’est que 35, on se connaît tous ! Kevin en dev, Sarah en marketing, Thomas en finance… ils ont tous des droits admin selon leurs besoins. Ça évite les bottlenecks. D’ailleurs, toi aussi tu vas en avoir besoin pour gérer l’infra cloud.”
Noirpen : “Et pour le suivi, l’audit des accès ?”
Julien : “Audit ? On n’est pas chez Microsoft ! On fait confiance à nos équipes. C’est ça l’esprit startup.”
Ce que Julien ne sait pas, c’est qu’il vient de décrire le rêve humide de tout cybercriminel : une organisation où 12 personnes ont des privilèges Global Administrator, sans contrôle, sans surveillance, sans audit.
Acte I : La découverte qui glace le sang
3 semaines plus tard - La routine nocturne de sécurité
Noirpen, ancien pentester reconverti dans le DevOps, a gardé quelques habitudes de ses années de cybersécurité. Chaque soir, il fait une rapide veille sur les forums de sécurité et… parfois un coup d’œil discret sur le dark web.
23h47, appartement de Noirpen
Noirpen ouvre Tor et navigue sur ses forums habituels. Soudain, sur DarkMarket_Pro, un post attire son attention :
🔥 FRESH CORPORATE CREDENTIALS - TECH STARTUP 🔥
Posted by: ShadowBroker_FR
Price: 15,000€ BTC
- Company: FlowTech SaaS (France, 35 employees)
- M365 Global Admin accounts: 12 confirmed
- Database: 347 client accounts with payment data
- Source: Internal (verified insider)
- Proof: [screenshot of M365 admin panel]
Sample data available for serious buyers.
PM for details. Escrow accepted.Noirpen (se figeant) : “Putain… c’est… c’est nous ?”
Il clique sur le screenshot de “proof”. Son sang se glace : c’est bien l’interface M365 de FlowTech, avec la liste des administrateurs qu’il connaît par cœur.
L’investigation commence
Noirpen télécharge discrètement l’échantillon de données proposé. Les résultats le terrorisent :
// Sample extrait des données volées
{
"company": "FlowTech",
"admin_accounts": [
{
"email": "julien.martin@flowtech.com",
"role": "Global Administrator",
"last_login": "2025-01-08T14:23:00Z",
"mfa_enabled": false
},
{
"email": "kevin.dubois@flowtech.com",
"role": "Global Administrator",
"last_login": "2025-01-08T16:45:00Z",
"mfa_enabled": false
},
// ... 10 autres comptes admin
],
"client_data_sample": [
{
"client_email": "marie.dupont@acmecorp.fr",
"payment_method": "****1234 Visa",
"subscription": "Premium - 450€/mois",
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
// ... données de 347 clients
]
}Noirpen réalise l’ampleur de la catastrophe :
- ✅ 12 comptes Global Admin exposés
- ✅ 347 clients avec données de paiement compromises
- ✅ Tokens d’accès à l’API disponibles
- ✅ Source : “Internal (verified insider)”
Le pire : quelqu’un de l’intérieur vend les secrets de FlowTech.
Acte II : L’enquête interne qui révèle l’impossible
Le lendemain matin - Investigation discrète
Noirpen arrive au bureau avec une boule au ventre. Il regarde différemment ses collègues : Kevin le développeur senior, Sarah la responsable marketing, Thomas le contrôleur de gestion… Lequel d’entre eux ?
Julien passe le voir : “Salut Noirpen ! Ça va ? Tu as l’air préoccupé…”
Noirpen : “Julien… on pourrait parler en privé ? J’ai découvert quelque chose… d’important sur notre sécurité.”
10h30 - Bureau de Julien, porte fermée
Noirpen : “Julien, j’ai trouvé nos données en vente sur le dark web. Nos comptes admin, nos clients… tout y est.”
Julien (blêmissant) : “Quoi ?! Tu es sûr ?”
Noirpen lui montre les captures d’écran anonymisées : “La source est indiquée comme ‘Internal verified insider’. Quelqu’un parmi nous vend nos données.”
Julien (effondré) : “Mais… mais on est une famille ! Qui pourrait… ?”
Noirpen : “C’est ça le problème. 12 personnes ont des droits Global Admin. N’importe qui peut exporter toutes nos données.”
🕵️ L’audit d’urgence qui révèle l’horreur
# Script d'audit emergency - Noirpen
Connect-MgGraph -Scopes "Directory.Read.All","AuditLog.Read.All"
# 1. Liste des Global Administrators
Write-Host "=== AUDIT GLOBAL ADMINISTRATORS ===" -ForegroundColor Red
$globalAdmins = Get-MgDirectoryRole -Filter "displayName eq 'Global Administrator'" |
Get-MgDirectoryRoleMember
$globalAdmins | Format-Table DisplayName, UserPrincipalName, UserType
# 2. Activités suspectes récentes
Write-Host "=== ACTIVITÉS SUSPECTES (30 derniers jours) ===" -ForegroundColor Red
$suspiciousActivities = Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -Operations "Add member to group","Remove member from group","Update user","UserLoginFailed" -ResultSize 2000
# 3. Exports de données massifs
Write-Host "=== EXPORTS MASSIFS DÉTECTÉS ===" -ForegroundColor Red
$dataExports = Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-30) -Operations "SearchExportDownloaded","MailItemsAccessed" -ResultSize 1000
$dataExports | Where-Object {$_.ResultCount -gt 100} |
Select-Object CreationDate, UserIds, Operation, ResultCount |
Sort-Object ResultCount -DescendingRésultats terrifiants :
=== AUDIT GLOBAL ADMINISTRATORS ===
DisplayName UserPrincipalName UserType
----------- ----------------- --------
Julien Martin julien.martin@flowtech.com Member
Kevin Dubois kevin.dubois@flowtech.com Member
Sarah Chen sarah.chen@flowtech.com Member
Thomas Petit thomas.petit@flowtech.com Member
Marie Rousseau marie.rousseau@flowtech.com Member
[... 7 autres comptes]
=== EXPORTS MASSIFS DÉTECTÉS ===
CreationDate UserIds Operation ResultCount
------------ ------- --------- -----------
2025-01-05 22:34:12 thomas.petit@flowtech.com SearchExportDownloaded 2,847
2025-01-03 19:23:45 kevin.dubois@flowtech.com MailItemsAccessed 1,456
2025-01-02 23:12:30 sarah.chen@flowtech.com SearchExportDownloaded 892
2025-01-01 02:45:18 thomas.petit@flowtech.com SearchExportDownloaded 3,234Noirpen : “Julien… regarde ces exports. Thomas a téléchargé 6,000+ éléments en 5 jours. C’est énorme.”
Julien : “Thomas ? Impossible ! Il gère notre compta, c’est normal qu’il accède aux données clients…”
Noirpen : “À 2h45 du matin un 1er janvier ? Et regardez les IPs de connexion…”
L’analyse forensique qui accable
# Analyse des connexions Thomas Petit
$thomasActivities = Search-UnifiedAuditLog -UserIds "thomas.petit@flowtech.com" -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -ResultSize 2000
# Analyse des IP sources
$ipAnalysis = $thomasActivities | Select-Object CreationDate, ClientIP, Operation, ResultCount
$ipAnalysis | Group-Object ClientIP | Sort-Object Count -Descending
# Résultat
ClientIP Count Localisation
-------- ----- ------------
192.168.1.45 234 Bureau FlowTech (normal)
176.123.45.67 89 Domicile Thomas (normal)
185.220.102.8 45 Tor Exit Node (SUSPECT !)
94.142.241.35 23 VPN Commercial (SUSPECT !)Noirpen : “Julien… Thomas se connecte via Tor et VPN pour accéder à nos données. Ce n’est PAS normal pour un contrôleur de gestion.”
Acte III : La confrontation et la vérité qui éclate
15h30 - Réunion d’urgence “Team Building”
Julien convoque discrètement une réunion avec les principaux administrateurs : Kevin, Sarah, Thomas, Marie et Noirpen.
Julien : “J’ai découvert que nos données sont en vente sur le dark web. Quelqu’un parmi nous a trahi l’entreprise.”
Le silence est pesant. Thomas devient livide.
Noirpen : “J’ai les logs d’audit. La personne se connectait via Tor à 2h du matin pour exporter massivement nos données.”
Thomas (la voix tremblante) : “Écoute… je peux expliquer…”
Kevin : “Thomas ? Sérieusement ?!”
Thomas (craquant) : “J’ai… j’ai des dettes. Le crédit de la maison, les frais de garde des enfants… Ma femme a perdu son travail. J’étais désespéré.”
Sarah : “Alors tu as vendu nos clients ?!”
Thomas : “C’était juste une fois ! Un contact sur Telegram m’a proposé 15,000€ pour un export de données. Je pensais que… que personne ne s’en rendrait compte avec tous ces accès admin partout…”
La révélation complète
# Timeline de la trahison de Thomas
Date: 2024-12-15
Action: Contact initial sur Telegram par un broker de données
Message: "Salut, tu bosses chez FlowTech ? On paye bien pour des données B2B..."
Date: 2024-12-20
Action: Première transaction test
Données: Liste des 35 employés + organigramme
Prix: 1,500€ BTC
Date: 2024-12-28
Action: Transaction principale
Données: 12 comptes Global Admin + 347 clients complets
Prix: 15,000€ BTC
Justification mentale: "C'est juste de la data, personne ne sera blessé"
Date: 2025-01-01 à 2025-01-05
Action: Exports complémentaires
Données: Tokens API, configurations, backups
Prix: 8,500€ BTC supplémentaires
Méthode: Connexions via Tor pour éviter la détectionThomas : “Je sais que c’est impardonnable. Mais avec les droits admin qu’on a tous, je me suis dit… je me suis dit que c’était juste des données. Pas des vraies personnes.”
Julien (effondré) : “Thomas… tu as détruit la confiance de 347 clients. Et notre réputation.”
Acte IV : L’ampleur de la catastrophe révélée
1 semaine plus tard - Bilan forensique complet
Noirpen, désormais promu RSSI d’urgence, présente son rapport catastrophique :
📊 Évaluation des dégâts
# FLOWTECH - RAPPORT D'INCIDENT MAJEUR
Incident_Type: "Insider Threat - Malicious Insider"
Duration: "45 days (Dec 15, 2024 - Jan 30, 2025)"
Insider: "Thomas Petit - Contrôleur de gestion"
Access_Level: "Global Administrator M365"
Données_Compromises:
Comptes_Admin: 12
Clients_Compromis: 347
Données_Financières: "100% - Cartes de crédit, virements, facturation"
API_Tokens: "23 tokens valides exfiltrés"
Configurations_Infra: "Complètes - AWS, Azure, M365"
Backups_Accès: "Oui - 3 backups complets téléchargés"
Impact_Financier:
Revenus_Perdus: "156,000€ - Clients partis après notification"
Amendes_RGPD: "67,000€ - Sanction CNIL déjà notifiée"
Forensique_Legal: "45,000€ - Investigation + avocat"
Système_Sécurité: "89,000€ - Refonte complète"
Communication_Crise: "23,000€"
TOTAL_IMPACT: "380,000€"
Chiffre_Affaires_Annuel: "890,000€"
Impact_Pourcentage: "42.7% du CA annuel"La découverte du réseau
Noirpen : “Thomas n’était que le début. Nos données ont alimenté un réseau de cybercriminels pendant 6 semaines. 23 de nos clients ont déjà subi des fraudes directes.”
🚨 Les conséquences en cascade
1 mois après la découverte :
- 🏃 89 clients ont quitté FlowTech (25% de la base)
- 📰 Article Numerama : “FlowTech, la startup qui vendait ses propres clients”
- 💼 3 investisseurs se retirent de la levée de fonds série A
- ⚖️ Class action engagée par 156 clients lésés
- 🔒 ANSSI place FlowTech sous surveillance renforcée
Thomas : Licencié, poursuivi pénalement, remboursement de 15,000€ sur 30 ans
Julien : “J’ai créé cette startup pour révolutionner le SaaS B2B. Au final, j’ai révolutionné la méthode pour détruire sa propre entreprise…”
Épilogue : La renaissance par la paranoia
1 an plus tard - FlowTech 2.0
Noirpen, désormais CTO et RSSI, présente FlowTech “renaissant de ses cendres” lors d’une conférence de cybersécurité.
Noirpen : “L’histoire de Thomas nous a appris une leçon fondamentale : dans une startup, on n’a pas les moyens d’avoir des insiders malveillants. Donc on n’a pas le choix : Zero Trust, même avec sa propre équipe.”
🛡️ Le système de sécurité de Noirpen
# FlowTech Security Framework v2.0
# "Trust No One, Verify Everything"
Privilege_Management:
Principe: "Minimum Viable Admin Rights"
Global_Admin:
- count: 2 (CEO + CTO only)
- mfa: "Hardware tokens obligatoires"
- monitoring: "24/7 SIEM alerting"
- sessions: "Max 4h, re-auth required"
Role_Based_Access:
- developer: "Application.ReadWrite.OwnedBy only"
- marketing: "Mail.ReadWrite + Calendar.ReadWrite"
- finance: "Reports.Read + Billing.ReadWrite"
- support: "User.ReadBasic.All"
Data_Loss_Prevention:
Export_Monitoring:
- threshold: "> 50 records = alert"
- forbidden_hours: "22h-6h = blocked"
- ip_restrictions: "Office + Home only"
- tor_detection: "Automatic block + incident"
Behavioral_Analytics:
- baseline: "30 days learning period"
- anomalies: "Real-time scoring"
- risk_threshold: "> 75% = lock account"
Dark_Web_Monitoring:
Service: "Flare.io Enterprise"
Keywords: ["FlowTech", "flowtech.com", domain variations]
Frequency: "Real-time alerts"
Response: "< 30 minutes incident activation"📊 Les résultats 1 an après
# FlowTech Recovery Metrics (1 year post-incident)
Security_Improvements:
Global_Admin_Count: 12 → 2 (-83%)
MFA_Coverage: 34% → 100% (+66%)
Privileged_Access_Monitoring: 0% → 100%
Dark_Web_Mentions: "Monthly alerts for early warning"
Business_Recovery:
Client_Base: 258 → 389 (+51% vs. pre-incident)
Revenue: 890k€ → 1.2M€ (+35%)
Trust_Score: 2.1/5 → 4.3/5 (+105%)
Press_Mentions: "From scandal to security example"
Investment_Results:
Series_A: "Secured 2.5M€ - cybersecurity as competitive advantage"
Valuation: "Security framework valued at 30% of company"Noirpen : “Paradoxalement, la trahison de Thomas nous a rendus plus forts. Nos prospects choisissent FlowTech PARCE QUE nous avons survécu à une attaque interne. Ils savent qu’on prend la sécurité au sérieux.”
La leçon universelle
Noirpen termine sa présentation par cette révélation :
“Nous avons transformé notre plus grande faiblesse - la confiance aveugle - en notre plus grand atout : la sécurité vérifiée. Thomas m’a appris que dans un monde numérique, la paranoia n’est pas une pathologie, c’est une vertu.”
“Et vous savez quoi ? Thomas nous a rendu service. Mieux vaut découvrir qu’on peut être trahis avec 35 employés qu’avec 350. Ça coûte moins cher.”
🔧 Guide de survie : Prévenir les Thomas de votre organisation
⚠️ Red flags comportementaux à surveiller
🚩 #1 - Difficultés financières soudaines (CRITIQUE)
Signaux d’alarme :
- Demandes d’avances sur salaire répétées
- Évocation de problèmes financiers personnels
- Changements dans le train de vie (dépenses/restrictions)
- Stress apparent lié à l’argent
Action RH : Accompagnement social + surveillance discrète IT
🚩 #2 - Activité technique inhabituelle
Patterns suspects :
- Connexions à des heures anormales (2h-6h)
- Usage de VPN/Tor depuis les systèmes d’entreprise
- Exports de données massifs et injustifiés
- Tentatives d’accès à des systèmes hors périmètre
Action IT : Investigation forensique immédiate
🚩 #3 - Changement de comportement social
Indicateurs :
- Isolement soudain de l’équipe
- Évitement des discussions sur la sécurité
- Curiosité anormale sur les systèmes d’autres collègues
- Réticence à partager ses écrans/travail
Action Management : Entretien individuel + supervision renforcée
🛠️ Arsenal technique anti-insider threats
| Outil | Fonction | Coût | Efficacité Thomas-like |
|---|---|---|---|
| Microsoft Purview | DLP + Comportement | $$$ | 85% |
| Splunk UEBA | Analyse comportementale | $$$$ | 92% |
| Varonis DatAdvantage | Monitoring accès fichiers | $$$$ | 88% |
| ObserveIT | Session recording | $$$ | 90% |
| Dark Web Monitoring | Flare.io/DarkOwl | $$ | 95% |
📋 Protocole de gouvernance M365 strict
# Framework de gouvernance FlowTech v2.0
# By Noirpen - RSSI
# 1. Audit mensuel automatisé des privilèges
function Invoke-PrivilegeAudit {
$report = @()
# Global Admins (MAX 2 autorisés)
$globalAdmins = Get-MgDirectoryRoleMember -DirectoryRoleId (Get-MgDirectoryRole -Filter "displayName eq 'Global Administrator'").Id
if ($globalAdmins.Count -gt 2) {
$report += "❌ ALERT: $($globalAdmins.Count) Global Admins detected (MAX: 2)"
}
# Comptes sans MFA (ZERO TOLERANCE)
$noMfaUsers = Get-MgUser -Filter "assignedLicenses/`$count ne 0 and signInActivity/lastSignInDateTime ge $((Get-Date).AddDays(-30).ToString('yyyy-MM-ddTHH:mm:ssZ'))" -ConsistencyLevel eventual -CountVariable CountVar -All | Where-Object {(Get-MgUserAuthenticationMethod -UserId $_.Id).Count -eq 0}
if ($noMfaUsers) {
$report += "❌ CRITICAL: $($noMfaUsers.Count) admin accounts without MFA"
}
return $report
}
# 2. Détection d'exports suspects (Thomas Pattern)
function Search-SuspiciousExports {
param([int]$ThresholdItems = 100)
$suspiciousExports = Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) -Operations "SearchExportDownloaded","MailItemsAccessed" -ResultSize 2000 |
Where-Object {$_.ResultCount -gt $ThresholdItems -or $_.CreationDate.Hour -lt 6 -or $_.CreationDate.Hour -gt 22}
foreach ($export in $suspiciousExports) {
Send-AlertEmail -Subject "INSIDER THREAT ALERT" -Body "User $($export.UserIds) exported $($export.ResultCount) items at $($export.CreationDate)"
}
}
# 3. Monitoring connexions Tor/VPN
function Monitor-SuspiciousConnections {
$torExitNodes = Invoke-RestMethod "https://check.torproject.org/exit-addresses" | Select-String "ExitAddress" | ForEach-Object {($_ -split " ")[1]}
$recentSignIns = Get-MgAuditLogSignIn -Top 1000
$suspiciousSignIns = $recentSignIns | Where-Object {$_.IpAddress -in $torExitNodes -or $_.DeviceDetail.TrustType -eq "Unknown"}
foreach ($signin in $suspiciousSignIns) {
Write-Warning "⚠️ SUSPICIOUS LOGIN: $($signin.UserDisplayName) from $($signin.IpAddress)"
}
}
# Exécution quotidienne
Invoke-PrivilegeAudit
Search-SuspiciousExports -ThresholdItems 50
Monitor-SuspiciousConnections🎯 Quiz : Détecteriez-vous le Thomas de votre équipe ?
Sauriez-vous démasquer un collègue qui vend vos secrets M365 ? - Test de détection insider threat
🔗 Sources et références
Cas réels documentés
- Edward Snowden - NSA 2013 - Contractor with system admin privileges exfiltrated classified data
- Tesla Insider Trading 2024 - Employee sold internal production data for $15,000
- Morgan Stanley Data Breach 2016 - Financial advisor downloaded 730,000+ client records
- Capital One Insider 2019 - Former employee accessed 100M+ customer accounts
Statistiques sectorielles 2024
- Cybersecurity Insiders Insider Threat Report 2024↗
- Microsoft 365 Security Statistics 2024↗
- Dark Web Corporate Credentials Study 2024↗
- Ponemon Institute Cost of Insider Risks Report 2024↗
Outils de protection recommandés
- Privilege Management : Microsoft Entra PIM, CyberArk, BeyondTrust
- UEBA : Splunk UEBA, Microsoft Sentinel, Exabeam
- DLP : Microsoft Purview, Forcepoint, Symantec DLP
- Dark Web Monitoring : Flare.io, DarkOwl, Digital Shadows
Résumé exécutif
Noirpen découvre les credentials de sa startup FlowTech en vente sur le dark web et mène une investigation qui révèle la trahison de Thomas, contrôleur de gestion endetté. Exploitant les 12 comptes Global Admin accordés sans gouvernance dans cette startup “agile”, Thomas a vendu 347 dossiers clients pour 23,500€, causant 380k€ de dégâts (42% du CA). Cette histoire illustre la vulnérabilité critique des startups face aux insider threats : culture familiale qui néglige les contrôles techniques, sur-privilégiation systématique, et confiance aveugle. Statistiques 2024 : 71% des organisations vulnérables aux menaces internes, 89% motivées financièrement, coût moyen 4.88M$ par incident. FlowTech renaît avec framework Zero Trust : 2 Global Admin max, UEBA comportemental, dark web monitoring. Leçon cruciale : dans l’économie numérique, la paranoia technique n’est pas une pathologie mais une nécessité de survie organisationnelle.