Cybersécurité

Anti-phishing : outils et techniques avancées

14 دقائق للقراءة

Ce que vous saurez faire

  1. SPF/DKIM/DMARC pour protéger votre domaine
  2. Analyser en-tête email suspect
  3. FIDO2 anti-AiTM
  4. Entraînement Gophish

Vue d’ensemble 1 — Vecteurs 2026

Email              70% des attaques
SMS (smishing)     +++, liens Wave/OM
Vishing            IA clone voix dirigeant
QR code            "quishing" transport/resto
LinkedIn DM         faux recruteurs
WhatsApp           groupes frauduleux
AiTM               proxy vole cookie post-MFA

Vue d’ensemble 2 — SPF

# Record TXT à example.sn
v=spf1 include:_spf.google.com include:mailgun.org -all

Vue d’ensemble 3 — DKIM

# Record TXT à selector._domainkey.example.sn
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN...

Vue d’ensemble 4 — DMARC strict

# Record TXT à _dmarc.example.sn
v=DMARC1; p=reject; rua=mailto:dmarc@example.sn; 
ruf=mailto:dmarc@example.sn; pct=100
dig +short TXT example.sn
dig +short TXT _dmarc.example.sn
# Vérifier: dmarcian.com ou mxtoolbox.com

Vue d’ensemble 5 — Analyser un email suspect

import email

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"])

# Anomalies:
# - Return-Path ≠ From → suspect
# - Multi IPs "Received: from" inhabituelles
# - spf=fail ou dkim=fail

Vue d’ensemble 6 — Tester une URL

# Expansion URL raccourcie
curl -sI "https://bit.ly/XXXX" | grep -iE '^location:'

# VirusTotal
curl -s "https://www.virustotal.com/api/v3/urls/$(echo -n 'url' | base64 | tr -d '=')" \
  -H "x-apikey: $VT_KEY" | jq .data.attributes.last_analysis_stats

# Âge du domaine
whois suspect-domain.com | grep -iE '(creation|created)'

Vue d’ensemble 7 — FIDO2 anti-AiTM

AiTM (kit Evilginx):
  Faux site vole identifiants + OTP
  TOTP ne protège PAS

FIDO2 / WebAuthn (YubiKey, Google Titan):
  Token cryptographique vérifie domaine origine
  Impossible à phisher par design

Budget: 25-50 USD/clé × 2 par user (primaire + backup)

Vue d’ensemble 8 — Cloudflare Email Security

Cloudflare Email Security (ex-Area 1)
Analyse emails entrants avant livraison

MX DNS: 10 mx.cloudflare-email.com
Par défaut: bloque usurpation, BEC, phishing
Coût: 6 USD/user/mo

Vue d’ensemble 9 — DMARC agent parsedmarc

pip install parsedmarc
parsedmarc *.xml --output report.json

# Analyse:
# - Forwarders légitimes qui échouent DKIM
# - Domaines usurpateurs
# - Progression: p=none → p=quarantine → p=reject

Vue d’ensemble 10 — Entraînement Gophish

docker run -p 3333:3333 -p 80:80 gophish/gophish:latest
# Admin: https://localhost:3333 (admin/gophish)

# Campagnes mensuelles:
# - 3 niveaux de difficulté
# - Formation 3 min après clic (sans punir)
# - Cible: taux clic < 5%, signalement > 50%

Vue d’ensemble 11 — Deepfake audio (vishing)

Attaque: voix clonée dirigeant
"Vire 50M FCFA urgence fournisseur X"

Défense:
1. Code secret par demande financière
2. Double validation > 5M FCFA
3. JAMAIS se fier à la voix seule
4. Logs appels + vérif canal alternatif (SMS/Slack)
5. Former équipe compta EN PRIORITÉ

Vue d’ensemble 12 — Incident response email cliqué

Checklist 10 min:
1. Isoler le poste (déconnecter réseau)
2. Changer mot de passe (depuis AUTRE poste)
3. Révoquer sessions:
   - Workspace: Admin > User > Sign out all
   - M365: Entra > User > Revoke sessions
4. Vérifier règles de transfert mail malveillantes
5. Scanner poste (Defender / Malwarebytes)
6. Notifier CISO / CERT-SN
7. Analyser boite mail: d'autres reçu l'email?
8. Bloquer expéditeur + domaine au MX
9. Post-mortem 48h

Vue d’ensemble 13 — 4 questions avant clic

1. Expéditeur est-il celui qu'il prétend? (vérifier autre canal)
2. Ton inhabituel? (urgence artificielle, menace)
3. Lien mène bien où il dit? (survoler sans cliquer)
4. Demande raisonnable ici? (DG n'envoie pas virement par mail)

Doute sur UNE question → appel téléphone.
30s de téléphone >> 50M FCFA d'arnaque.

Checklist

✓ SPF, DKIM, DMARC p=reject
✓ Cloudflare Email Security ou équivalent
✓ FIDO2 pour comptes admin
✓ Gophish simulations mensuelles
✓ Code secret virements importants
✓ Bouton "Report phishing" dans email client
✓ Runbook incident email documenté

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.

Profiter de l’offre →

Lien d affiliation. Si vous achetez via ce lien, le blog reçoit une petite commission sans surcoût pour vous.

Le phishing en 2026, une menace qui s’industrialise

A Cotonou, une assistante administrative recoit un courriel apparemment envoye par sa banque, avec un logo parfait, un domaine ressemblant (banque-securite-bj.com au lieu de banque.bj), et un lien vers un faux portail. Elle saisit ses identifiants. Quinze minutes plus tard, son compte est vide. Le phishing represente desormais plus de 80 % des incidents de compromission initiaux selon les rapports Microsoft Digital Defense et Verizon DBIR 2025.

Les attaquants exploitent l’IA generative pour produire des courriels sans faute, des deepfakes vocaux pour le vishing, et des landing pages quasi indiscernables. Se defendre demande une combinaison de protocoles d’authentification email, d’outils de detection en temps reel, et de formation continue des utilisateurs.

Etape 1 : Configurer SPF pour autoriser vos serveurs d’envoi

Sender Policy Framework (SPF) est un enregistrement DNS TXT qui liste les serveurs autorises a envoyer du courriel pour votre domaine. Sans SPF, n’importe quel attaquant peut usurper l’adresse from de votre domaine. Connectez-vous a votre zone DNS (chez OVH, Cloudflare ou Gandi) et ajoutez :

exemple.sn.  IN  TXT  "v=spf1 include:_spf.google.com include:mailgun.org -all"

Le -all final est strict : tout autre serveur sera rejete. ~all en mode soft-fail est tolere pendant la phase de migration. Verifiez la propagation via mxtoolbox.com/spf.aspx ou la commande dig TXT exemple.sn +short.

Etape 2 : Activer DKIM pour signer chaque message sortant

DomainKeys Identified Mail (DKIM) ajoute une signature cryptographique dans l’en-tete du courriel. Le destinataire verifie la signature avec la cle publique publiee dans votre DNS. Une signature valide prouve que le message n’a pas ete altere et qu’il a bien transite par un serveur autorise.

Sur Google Workspace, activez DKIM dans Apps > Google Workspace > Gmail > Authentifier le courriel. Le panneau genere une cle 2048 bits et l’enregistrement DNS a publier (par exemple google._domainkey.exemple.sn). Apres publication et propagation, cliquez sur Lancer l’authentification. Les messages partants porteront alors un en-tete DKIM-Signature.

Etape 3 : Deployer DMARC pour aligner SPF et DKIM

DMARC (Domain-based Message Authentication, Reporting and Conformance) est la cle de voute. Il indique aux destinataires comment traiter les messages qui echouent SPF ou DKIM, et collecte des rapports d’usurpation. Commencez en mode observation puis durcissez progressivement :

_dmarc.exemple.sn.  IN  TXT  "v=DMARC1; p=none; rua=mailto:dmarc@exemple.sn; pct=100; aspf=s; adkim=s"

p=none collecte sans bloquer. Apres 4 semaines d’analyse des rapports, passez a p=quarantine puis p=reject. Les rapports agreges arrivent au format XML chez l’adresse rua. Des outils comme Postmark DMARC, dmarcian ou Valimail decodent ces rapports en tableaux de bord lisibles.

Etape 4 : Activer la protection avancee de Microsoft Defender

Pour les organisations sur Microsoft 365, Microsoft Defender for Office 365 (anciennement ATP) offre Safe Links, Safe Attachments et l’anti-phishing avec apprentissage du graphe d’identite. Dans le centre Microsoft 365 Defender, ouvrez Politiques et regles > Politiques de menace > Anti-phishing.

Configurez la protection contre l’usurpation d’identite : ajoutez les noms et adresses de vos cadres dirigeants, activez la detection d’images de marque, et reglez le seuil sur Standard ou Strict. Pour les pieces jointes, Safe Attachments execute chaque fichier dans une sandbox avant remise. Pour les liens, Safe Links reecrit chaque URL et la verifie au moment du clic.

Etape 5 : Mettre en place l’authentification multi-facteur resistante au phishing

Le second facteur SMS est desormais considere comme faible : interception via SIM swap a Yopougon ou via SS7. Privilegiez les cles materielles FIDO2 (YubiKey, Token2) ou les passkeys synchronisees iCloud Keychain ou Google Password Manager. FIDO2 lie la cle au domaine d’origine, rendant le phishing techniquement impossible.

Sur Google Workspace, activez Programme de protection avance pour les comptes administrateur. Sur Microsoft Entra ID (anciennement Azure AD), creez une politique d’acces conditionnel exigeant une methode resistante au phishing pour les roles privilegies. Le cout d’une YubiKey 5 NFC est d’environ 30 000 FCFA et l’investissement est rentabilise des le premier incident evite.

Etape 6 : Filtrer les domaines look-alike avec un CASB ou un proxy DNS

Les attaquants enregistrent des domaines proches (technique typosquatting et homograph attack avec caracteres Unicode). Un proxy DNS comme Cloudflare Gateway, Cisco Umbrella ou NextDNS bloque les domaines nouvellement enregistres et les domaines identifies comme malveillants par les fournisseurs de threat intelligence.

# Test rapide depuis un poste protege par NextDNS
dig @45.90.28.0 phishing-test-site.com

Si la reponse est NXDOMAIN ou pointe vers une page de blocage, votre filtrage est actif. Configurez l’option Bloquer les nouveaux domaines (creation de moins de 30 jours) : 70 % des campagnes de phishing utilisent des domaines tout neufs.

Etape 7 : Detecter les emails entrants douteux avec des regles de transport

Dans Exchange Online ou Google Workspace, creez une regle qui ajoute un bandeau d’avertissement Externe sur tout courriel provenant d’un domaine exterieur. Ce simple marqueur visuel reduit de 30 a 50 % le taux de clic sur les liens suspects, selon les etudes du SANS Institute.

Renforcez avec une regle qui marque les messages dont l’adresse from contient le nom d’un dirigeant mais pas le domaine corporate. Exemple : From contient PDG mais le domaine n’est pas exemple.sn. La regle peut soit mettre en quarantaine, soit injecter un avertissement HTML en tete de message.

Etape 8 : Analyser un courriel suspect avant de cliquer

Lorsque le doute subsiste, copiez le contenu integral des en-tetes (View original sur Gmail, Voir la source sur Outlook) et collez-le dans mxtoolbox.com/EmailHeaders.aspx ou dans google.com/headers. L’analyse decompose chaque saut SMTP, signale les echecs SPF, DKIM, DMARC, et calcule le score de spam.

Pour les liens, ne cliquez jamais directement. Survolez avec la souris pour afficher la cible reelle dans la barre d’etat. En cas de doute, soumettez l’URL a urlscan.io ou virustotal.com : ces services exploitent l’URL en sandbox et indiquent si elle redirige vers une page de capture d’identifiants connue.

Etape 9 : Former les utilisateurs avec des simulations realistes

Aucun outil ne remplace la vigilance humaine. Programmez des campagnes de simulation trimestrielles via Microsoft Defender Attack Simulation Training, KnowBe4, ou Gophish (open source). Variez les scenarios : reset de mot de passe, facture impayee, livraison Mixx by Yas, fausse mise a jour interne.

Mesurez le taux de clic et le taux de signalement. L’indicateur clef n’est pas le taux de clic mais le ratio signalements / clics : un signalement rapide permet a l’equipe SOC de bloquer la campagne avant qu’elle ne touche d’autres collegues. Pour comprendre les fondamentaux cryptographiques sous-jacents, consultez notre guide cryptographie pour debutants.

Etape 10 : Repondre a un incident de phishing avere

Si un utilisateur a saisi ses identifiants, agissez en moins de 30 minutes. Reinitialisez immediatement le mot de passe, revoquez toutes les sessions actives (Microsoft Entra > Utilisateur > Sessions, Google > Securite > Appareils), et auditez les regles de transfert de la boite (technique courante de l’attaquant pour exfiltrer en silence).

Sur la boite compromise, cherchez les regles de transfert vers des domaines externes, les delegations recentes, et les applications OAuth approuvees recemment. Documentez tout dans un rapport d’incident, notifiez la CDPP au Senegal ou l’autorite locale equivalente si des donnees personnelles sont concernees, et planifiez une retrospective sans culpabilisation pour ameliorer le dispositif. Pour completer votre veille, consultez aussi notre audit SEO technique qui couvre la reputation du domaine.

Sandbox d’analyse d’URL et detection automatisee

Recevoir un email suspect avec un lien raccourci est une situation quotidienne dans les bureaux du Plateau a Abidjan ou des Almadies a Dakar. Le reflexe naturel de cliquer pour verifier est exactement ce que les attaquants exploitent. Une sandbox d’URL execute le lien dans un navigateur isole et virtualise, capture le comportement, et renvoie un verdict en moins de 30 secondes sans exposer le poste de l’utilisateur. Les services gratuits ou a faible cout couvrent largement les besoins d’une PME senegalaise ou ivoirienne : urlscan.io rend publiques les analyses (gratuit, payant a 100 USD par mois pour les analyses privees soit environ 60 000 FCFA), Joe Sandbox Cloud Basic offre 5 analyses gratuites par jour, et any.run propose un plan a 109 USD par mois pour les equipes SOC structurees.

L’integration dans un workflow de tri d’incidents passe par l’API. Un script qui recoit un email signale par un utilisateur via un bouton « Phishing » dans Outlook ou Gmail extrait les URL, soumet chacune a urlscan.io via POST sur api.urlscan.io/v1/scan, attend le resultat (callback ou polling toutes les 5 secondes), et classe automatiquement l’email en quarantaine si le verdict est malveillant. Sur un parc de 200 utilisateurs avec 5 a 8 signalements par jour, le SOC traite ainsi 95 pourcent des alertes en moins d’une minute, ce qui libere les analystes pour les 5 pourcent restants qui demandent un examen humain.

La detection de patterns malicieux ne se limite pas a la sandbox. Les indicateurs simples a verifier en amont sont la longueur du domaine (les phishings utilisent souvent des sous-domaines tres longs pour cacher la marque legitime), la presence de caracteres Unicode confusables (homoglyphes type a cyrillique au lieu de a latin), l’age du domaine (un domaine cree il y a moins de 30 jours est suspect par defaut), et le fait que la marque imitee soit dans le sous-domaine plutot que dans le TLD. Un script Python avec tldextract et python-whois pose ces questions en quelques millisecondes par URL et filtre 70 pourcent des phishings genericiques avant meme la sandbox.

Pour les banques regionales BOA, Ecobank, NSIA et UBA, ce filtrage en amont est obligatoire car le volume d’attaques cible est important. Les groupes operent souvent depuis l’Afrique de l’Ouest anglophone (Nigeria principalement) et reutilisent des kits de phishing achetes sur des forums underground a 50-200 USD. Reconnaitre ces kits par des signatures HTML stables (titres specifiques, scripts inline identiques, structures de formulaires identiques) permet de bloquer une famille entiere d’attaques par une simple regle YARA ou Suricata.

Formation continue et MFA hardware FIDO2 YubiKey

Aucune sandbox ne remplace une equipe formee. Les programmes de simulation de phishing internes envoient regulierement de faux emails de phishing aux employes pour tester leurs reflexes. KnowBe4 est le leader du marche avec une bibliotheque de 4 000 templates traduits en francais et adaptes au contexte africain (faux Mixx by Yas, faux Wave, faux Orange Money, fausse DGI, faux Tresor Public ivoirien). Le tarif Diamond facture autour de 60 USD par utilisateur par an (36 000 FCFA), donc pour 100 employes le budget annuel est de 6 000 USD soit 3,6 millions FCFA.

Les alternatives plus accessibles sont GoPhish (open source gratuit, auto-heberge, demande des competences techniques), Hoxhunt (model freemium pour les equipes IT), et Microsoft Defender for Office 365 Plan 2 qui inclut Attack Simulator pour les organisations Microsoft 365 E5. Pour une PME africaine en croissance, GoPhish sur un VPS a 5 EUR par mois est le compromis le plus realiste : un consultant local le configure en deux jours, et l’equipe IT lance une campagne tous les deux mois avec un template renouvele.

Le taux de clic moyen lors d’une premiere campagne dans une organisation non sensibilisee tourne autour de 30 a 35 pourcent. Apres trois cycles de simulation espaces de deux mois et accompagnes de formations courtes (microlearning de 5 minutes apres chaque echec), le taux descend typiquement a 8-12 pourcent. C’est une amelioration mesurable, ce qui rend cet investissement defendable face a une direction financiere qui demande un ROI quantifie.

L’authentification multi-facteurs par cle hardware FIDO2 est la barriere finale qui resiste meme au phishing reussi. Une YubiKey 5C NFC coute 75 USD chez Yubico (45 000 FCFA) et fonctionne sur USB-C, NFC, et compatible avec les iPhones, Android, Windows, macOS, Linux. La cle signe un challenge cryptographique lie au domaine, donc meme si l’utilisateur tape ses identifiants sur un phishing, le second facteur ne sera pas valide sur le faux domaine. C’est mathematiquement plus solide que le SMS ou que les TOTP type Google Authenticator qui restent vulnerables au phishing en temps reel via des proxies type Evilginx.

sudo apt update
sudo apt install libpam-u2f
mkdir -p ~/.config/Yubico
pamu2fcfg > ~/.config/Yubico/u2f_keys
sudo nano /etc/pam.d/sudo
auth required pam_u2f.so

Cette configuration force la presentation de la YubiKey lors de chaque sudo sur un poste Linux d’administrateur. Pour une equipe DevOps qui gere un cluster Kubernetes en production, c’est une protection vitale contre le vol d’identifiants par malware. Les YubiKey sont disponibles a Dakar via Orange Business ou par import direct depuis Yubico.com avec livraison DHL en 7 a 10 jours ouvres. Voir notre guide anti-phishing pour les bonnes pratiques utilisateur.

مشاركة