Ce que vous saurez faire
- Reconnaître les signaux de phishing
- Tester une URL suspecte sans cliquer
- Analyser .eml en profondeur
- Playbook compte compromis
Étape 1 — Anatomie d’un phishing moderne
1. Reconnaissance (OSINT LinkedIn, leaks)
2. Préparation (typosquat domaine, clone page)
3. Livraison (email, SMS, Teams, WhatsApp)
4. Exécution (vol identifiants, malware)
5. Exfiltration (accès mail, virements)
6. Persistance (règles transfert, MFA backdoor)
Étape 2 — Signaux techniques
Email:
From: "Wave Support" <support@wave-sn.icu> domaine .icu suspect
Reply-To: différent du From
Return-Path: anonyme (noreply@protonmail...)
Homographe: exampIe.sn (I majuscule)
Pièce jointe: factur.zip, RIB.html, invoice.xlsm
SMS:
Lien raccourci (bit.ly, tinyurl)
Expéditeur alphanumérique non vérifié
Message générique sans votre nom
Étape 3 — Tester URL sans cliquer
# Expansion URL courte
curl -sI "https://bit.ly/XXXX" | grep -iE '^location:'
# VirusTotal réputation
curl -s "https://www.virustotal.com/api/v3/urls/$(echo -n 'suspect.com' | base64 | tr -d '=')" \
-H "x-apikey: $VT_KEY" | jq .data.attributes.last_analysis_stats
# Âge domaine
whois suspect-site.com | grep -iE '(creation|registrar)'
Étape 4 — Analyse .eml
import email, re
with open("suspect.eml","rb") as f:
msg = email.message_from_bytes(f.read())
print("From:", msg["From"])
print("Return-Path:", msg["Return-Path"])
print("Reply-To:", msg["Reply-To"])
print("Auth:", msg["Authentication-Results"])
# Extraire URLs
body = "".join(p.get_payload(decode=True).decode(errors='ignore')
for p in msg.walk()
if p.get_content_type() in ("text/html","text/plain"))
urls = re.findall(r'https?://[^\s<>"\)]+', body)
for u in urls: print("-", u)
Étape 5 — URLScan pour analyse sans risque
import requests, os
for u in urls:
r = requests.post("https://urlscan.io/api/v1/scan/",
headers={"API-Key": os.environ["URLSCAN_KEY"],
"Content-Type":"application/json"},
json={"url": u, "visibility":"unlisted"})
print(u, "→", r.json().get("result"))
Étape 6 — M365 compromis playbook
Connect-ExchangeOnline
# Voir règles malveillantes
Get-InboxRule -Mailbox user@itsc.sn | Format-List Name,ForwardTo,RedirectTo,DeleteMessage
# Supprimer règle suspecte
Remove-InboxRule -Mailbox user@itsc.sn -Identity "Regle suspecte"
# Voir transferts externes
Get-Mailbox user@itsc.sn | Select ForwardingSMTPAddress, ForwardingAddress
# Révoquer TOUS les tokens
Revoke-AzureADUserAllRefreshToken -ObjectId "user@itsc.sn"
Étape 7 — Google Workspace compromis
Admin Console → Security → Alert Center
Login géo improbable
Account suspended system
Data exfiltration (Drive massif)
Admin → Users → user → Security:
- Force password change
- Revoke all OAuth tokens
- Sign out all sessions
- Désactiver + audit 90j history
Étape 8 — Enquête scope
Questions clés:
1. Date/heure compromission (login suspect)
2. Durée avant détection
3. Emails envoyés frauduleusement
4. Règles transfert/copie
5. Accès tiers (Drive, GitHub, banque en ligne)
6. Mots de passe réutilisés ailleurs
Communication:
- Tous destinataires emails frauduleux
- Partenaires/clients qui auraient "nouveau RIB"
- RGPD/LPDP si données perso touchées
Étape 9 — Défense deepfake audio
Code secret par demande financière (phrase challenge)
Double validation virements > 5M FCFA
JAMAIS se fier à la voix seule
Logs appels + vérification canal alternatif
Former équipe compta EN PRIORITÉ
Étape 10 — Détection temps réel
Microsoft Defender Phishing:
- Safe Links (URL rewriting)
- Safe Attachments (sandboxing)
- Anti-phishing AI
Google Workspace Advanced Protection Program
Cloudflare Email Security (gratuit jusqu'à 50 users)
Proofpoint/Mimecast/Abnormal Security (enterprise)
Étape 11 — CDP Sénégal + RGPD
Loi 2008-12:
- CDP notifiée dans 72h
- Si données perso: notifier personnes
- Garder preuves (logs, emails, forensic)
RGPD (clients UE):
- CNIL dans 72h
- Sanctions jusqu'à 4% du CA
Playbook avocat spécialisé prêt à l'avance
Étape 12 — Formation anti-phishing
Mois 1: sensibilisation générale 15 min
Mois 2: simulation Gophish réaliste
Mois 3: formation ciblée cliqueurs
Mois 4-12: simulation mensuelle
Mesurer:
- Taux clic (< 5%)
- Taux signalement (> 50%)
- Temps moyen signalement (< 10 min)
Checklist
✓ SPF/DKIM/DMARC strict
✓ Email security gateway
✓ FIDO2 pour admins
✓ Règles transfert surveillées
✓ Runbook compromission écrit
✓ Simulations mensuelles
✓ Code secret virements
✓ Notification CDP sous 72h si incident
Hébergement recommandé pour les lecteurs
Si vous n’avez pas encore d’hébergeur, Hostinger est celui que nous utilisons et que nous recommandons après plusieurs années d’usage.
Lien d affiliation. Si vous achetez via ce lien, le blog reçoit une petite commission sans surcoût pour vous.
Étape A — Anatomie d’un phishing 2026 (kit-as-a-service)
Le phishing en 2026 n’est plus l’email Nigerian Prince mal écrit. Les attaquants opèrent désormais via des Phishing-as-a-Service comme Tycoon 2FA, Mamba 2FA ou EvilProxy : pour 200 à 500 USD/mois, l’attaquant obtient un kit clé en main qui contourne le 2FA Microsoft 365 et Google Workspace via reverse proxy en temps réel. Le mail légitime arrive sur votre Outlook, vous cliquez, vous voyez la vraie page Microsoft, vous validez votre 2FA — l’attaquant capture votre cookie de session en parallèle et garde l’accès même si vous changez le mot de passe ensuite.
Pour le marché ouest-africain, les vagues observées en 2025–2026 ciblent surtout : DGI Sénégal (faux remboursements), Wave et Orange Money (faux blocage de compte), banques (UBA, Ecobank, BICIS), Microsoft 365 d’ONG opérant sur Dakar et Abidjan. Le pattern : email parfaitement traduit en français, logo officiel, URL en sous-domaine compromis (souvent un site WordPress ouest-africain piraté), formulaire qui exfiltre vers un serveur Cloudflare Workers ou DigitalOcean.
Étape B — Cinq signaux techniques à vérifier en 30 secondes
Avant de cliquer sur quoi que ce soit, ouvrez les en-têtes complets de l’email (Outlook : … → View → View message source ; Gmail : trois points → Show original). Vérifiez cinq lignes :
1. Authentication-Results: spf=pass dkim=pass dmarc=pass (header.from=domaine-officiel.com)
2. Return-Path: doit matcher le domaine annoncé dans le From
3. Received: from doit avoir une cohérence géographique
4. Reply-To: si différent du From, signal d'alerte fort
5. List-Unsubscribe: présent et pointant vers le vrai domaine
Sortie attendue : si SPF, DKIM et DMARC sont tous PASS et que le header.from matche le domaine officiel attendu, le mail vient bien du domaine annoncé. Si DMARC=fail ou que le Reply-To pointe vers un Gmail/ProtonMail random, c’est un phishing avec 95 % de probabilité.
Étape C — Tester une URL sans cliquer (sandbox publique)
Pour analyser une URL suspecte sans risquer votre poste, utilisez quatre outils gratuits :
- urlscan.io — soumet l’URL, capture screenshot, analyse JS, géolocalisation IP. Réponse en 10 à 20 secondes.
- VirusTotal — agrège 70+ moteurs antivirus et reputation engines. Privilégier l’onglet Relations qui montre les domaines liés.
- any.run — sandbox interactive Windows pour observer le comportement d’un installer ou d’un .exe.
- browser sandbox local — un VM Windows snapshot ou un container
browser-in-dockerpour ouvrir l’URL sans contaminer votre poste.
Sortie attendue : urlscan.io vous montre les requêtes sortantes et le rendu visuel — si la page singe Microsoft 365 mais que les ressources sont chargées depuis random-cdn.workers.dev, le verdict est sans appel.
Étape D — Analyser un fichier .eml en local sans l’ouvrir
Si vous recevez un .eml suspect en pièce jointe, ne le double-cliquez jamais. Ouvrez-le avec un éditeur texte ou avec emldump de Didier Stevens :
pip install oletools
emldump.py suspect.eml
emldump.py -s 1 suspect.eml | grep -iE "from|to|subject|return-path|reply-to"
Cette commande extrait les headers sans déclencher le rendu HTML qui pourrait charger un tracker invisible (pixel 1×1) et confirmer à l’attaquant que votre adresse est valide. Sortie attendue : la liste des en-têtes en clair, les pièces jointes listées en base64, prêtes à être extraites pour analyse VirusTotal.
Étape E — Playbook réponse Microsoft 365 compromis
Si un compte M365 est compromis (login soudain depuis le Vietnam, règles Outlook qui forwardent vers une adresse externe), agissez dans cet ordre strict :
1. Reset password via portal.azure.com (admin)
2. Revoke all sessions: Get-AzureADUser -Filter "UPN eq 'user@org.com'" | Revoke-AzureADUserAllRefreshToken
3. Audit règles Outlook: Get-InboxRule -Mailbox user@org.com | Where {$_.Enabled -eq $true}
4. Supprimer règles malveillantes: Remove-InboxRule -Identity "Forward to attacker"
5. Vérifier app consents: Get-AzureADUserOAuth2PermissionGrant -ObjectId <userId>
6. Rotation MFA: réinscrire un nouvel authenticator app
Sortie attendue : les sessions actives sont coupées en moins de 60 secondes, l’attaquant perd l’accès même s’il avait volé un cookie de session via reverse proxy. La rotation MFA évite qu’il enregistre son propre device.
Étape F — Playbook réponse Google Workspace compromis
Sur Google Workspace, l’équivalent passe par admin.google.com et gcloud. Procédure :
1. Suspend le compte: Users → user → Suspend
2. Reset password obligatoire au prochain login
3. Sign out from all devices: User account → Security → Sign out
4. Audit Filters Gmail: Settings → Filters and Blocked Addresses (UI) — chercher forward malveillant
5. Audit App passwords: Security → App passwords — révoquer tous les non reconnus
6. Audit OAuth tokens: myaccount.google.com/permissions — supprimer apps suspectes
Pour les organisations sénégalaises et ivoiriennes qui dépendent de Google Workspace, formalisez ce playbook dans une fiche de 1 page A4 affichée près du poste de l’admin IT. En situation de stress, personne ne lit un wiki de 30 pages.
Étape G — Défense deepfake audio sur appels WhatsApp et téléphone
Les attaques par deepfake audio ciblent les CFO et trésoriers : un attaquant clone la voix du directeur via 3 secondes d’extrait LinkedIn, appelle le service comptable pour ordonner un virement urgent. Trois mesures simples :
- Mot de passe verbal partagé entre direction et comptabilité, jamais écrit, changé tous les trimestres.
- Procédure de rappel obligatoire : tout virement > 1 million FCFA déclenche un rappel sur le numéro officiel enregistré, jamais sur celui de l’appel entrant.
- Délai d’attente forcé : aucun virement urgent dans la même heure que la demande, même si le « directeur » insiste.
Sortie attendue : un appel deepfake bien fait peut tromper l’oreille humaine à 90 %. Mais l’attaquant ne connaît jamais le mot de passe verbal interne. Cette friction de 3 minutes a sauvé des dizaines de millions de FCFA en 2025.
Étape H — Formation continue et test de phishing interne
Aucun outil ne remplace la formation. Mettez en place trois rituels :
- Campagne phishing simulée trimestrielle via GoPhish (open source) ou KnowBe4 (commercial). Mesurez le clic-rate, l’objectif est <5 % à 12 mois.
- Brief mensuel de 15 min : un cas réel de phishing capté ce mois-ci, capture d’écran, indices, ce qu’il fallait voir.
- Bouton « Signaler phishing » dans Outlook et Gmail, qui forwarde vers une boîte SOC interne, et chaque signalement reçoit un retour personnalisé sous 24h.
Dans la continuité, voir nos tutoriels CrowdSec pour applications self-hosted et Plausible Analytics sur Hetzner avec Coolify pour outiller votre stack défensive complète.