Que fait Analyse du trafic réseau pour incidents ?
Quand utiliser
- Alertes SIEM sur des schémas de trafic réseau anormaux nécessitant une investigation approfondie
- Suspicion de beaconing C2 à confirmer par une analyse au niveau paquet
- Volume ou destination d'exfiltration de données à quantifier à partir des preuves réseau
- Mouvement latéral entre systèmes à retracer via les connexions réseau
- Alerte IDS/IPS nécessitant une validation au niveau paquet pour confirmer ou infirmer
Ne pas utiliser pour l'analyse forensique basée sur l'hôte (exécution de processus, artefacts du système de fichiers) ; utiliser plutôt des outils de forensique de poste de travail.
Prérequis
- Infrastructure de capture de paquets complète (PCAP) ou capacité de capture à la demande (tap réseau, port SPAN)
- Wireshark installé sur le poste d'analyse avec connaissance des filtres d'affichage appropriés
- Zeek (anciennement Bro) déployé pour la génération de métadonnées réseau (conn.log, dns.log, http.log, ssl.log)
- Collecte NetFlow/IPFIX depuis les équipements réseau pour l'analyse des flux de trafic
- Schéma d'architecture réseau montrant la disposition des VLAN, le placement des pare-feu et les points de surveillance
- Flux de renseignement sur les menaces pour corréler les indicateurs réseau observés
Workflow
Étape 1 : Capturer ou acquérir le trafic réseau
Obtenez les données de trafic pertinentes pour l'investigation :
Capture en direct (si l'incident est actif) :
# Capture sur une interface spécifique en filtrant par hôte
tcpdump -i eth0 -w capture.pcap host 10.1.5.42
# Capture du trafic C2 vers une IP externe spécifique
tcpdump -i eth0 -w c2_traffic.pcap host 185.220.101.42
# Capture avec rotation (fichiers de 1 Go, en garder 10)
tcpdump -i eth0 -w capture_%Y%m%d%H%M.pcap -C 1000 -W 10
Depuis l'infrastructure existante :
- Exporter le PCAP depuis l'appliance de capture complète (Arkime/Moloch, ExtraHop, Corelight)
- Récupérer les journaux Zeek depuis le cluster Zeek pour la période d'investigation
- Exporter les données NetFlow depuis les équipements réseau pour une analyse de trafic de haut niveau
Étape 2 : Identifier les communications C2
Détecter les schémas de trafic de commande et contrôle :
Détection de beacon (Zeek conn.log) :
# Extraire les connexions vers des IP externes avec des intervalles réguliers
cat conn.log | zeek-cut ts id.orig_h id.resp_h id.resp_p duration orig_bytes resp_bytes \
| awk '$4 ~ /^185\.220/' | sort -t. -k1,1n -k2,2n
Analyse de beacon avec Wireshark :
# Filtrer pour le trafic vers une IP C2 suspectée
ip.addr == 185.220.101.42
# Filtrer le trafic HTTPS vers des ports non standard
tcp.port != 443 && ssl
# Filtrer les requêtes DNS pour des domaines suspects
dns.qry.name contains "evil" or dns.qry.name matches "^[a-z0-9]{32}\."
# Filtrer les requêtes HTTP POST (méthode courante de check-in C2)
http.request.method == "POST" && ip.dst == 185.220.101.42
Caractéristiques de beacon à identifier :
- Intervalles de temps réguliers entre les connexions (par ex. toutes les 60 secondes avec une gigue de 10-15 %)
- Tailles de paquets cohérentes dans les requêtes et réponses
- HTTPS vers des IP externes non associées à des CDN ou services légitimes
- Requêtes DNS avec des sous-domaines à haute entropie (indicateur de tunneling DNS)
Étape 3 : Analyser le trafic de mouvement latéral
Retracer les déplacements de l'adversaire entre systèmes internes :
Protocoles clés pour la détection de mouvement latéral :
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SMB (TCP 445) : PsExec, accès aux fichiers partagés, propagation de ransomware
RDP (TCP 3389) : Sessions bureau à distance
WinRM (TCP 5985) : PowerShell à distance
WMI (TCP 135) : Exécution de commandes à distance
SSH (TCP 22) : Mouvement latéral Linux
DCE/RPC (TCP 135) : Mouvement latéral basé sur DCOM
Filtres Wireshark pour le mouvement latéral :
# Mouvement latéral SMB
smb2 && ip.src == 10.1.5.42 && ip.dst != 10.1.5.42
# Connexions RDP depuis un hôte compromis
tcp.dstport == 3389 && ip.src == 10.1.5.42
# Demandes de tickets Kerberos (potentiel pass-the-ticket)
kerberos.msg_type == 12 && ip.src == 10.1.5.42
# Authentification NTLM (potentiel pass-the-hash)
ntlmssp.auth.username && ip.src == 10.1.5.42
Étape 4 : Détecter l'exfiltration de données
Identifier les transferts de données non autorisés quittant le réseau :
# Identifier les transferts sortants volumineux dans Zeek conn.log
cat conn.log | zeek-cut ts id.orig_h id.resp_h id.resp_p orig_bytes \
| awk '$5 > 100000000' | sort -t$'\t' -k5 -rn
# Détection de tunneling DNS (volume élevé de requêtes TXT)
cat dns.log | zeek-cut query qtype | grep TXT | cut -f1 \
| rev | cut -d. -f1,2 | rev | sort | uniq -c | sort -rn | head
# Utilisation de protocoles inhabituels (tunneling ICMP, DNS over HTTPS)
cat conn.log | zeek-cut proto id.resp_p orig_bytes | awk '$1 == "icmp" && $3 > 1000'
Filtres Wireshark pour l'exfiltration :
# Gros téléversements HTTP POST
http.request.method == "POST" && tcp.len > 10000
# Transferts de données FTP
ftp-data && ip.src == 10.0.0.0/8
# DNS avec réponses TXT volumineuses (tunneling)
dns.resp.type == 16 && dns.resp.len > 200
Étape 5 : Extraire et corréler les IOC
Récupérer les indicateurs réseau issus de l'analyse du trafic :
- Adresses IP externes contactées par les hôtes compromis
- Domaines résolus via DNS pendant la période de l'incident
- URLs accédées via HTTP/HTTPS (si inspection SSL en place)
- Détails des certificats TLS (sujet, émetteur, numéro de série, hachages JA3/JA3S)
- Chaînes User-Agent des requêtes HTTP
- Transferts de fichiers capturés dans le PCAP (extraire avec Exportation d'objets Wireshark)
Étape 6 : Documenter les conclusions forensiques réseau
Compiler l'analyse dans un rapport structuré avec des références de preuves :
- Référencer les fichiers PCAP spécifiques, les numéros de trame et les horodatages pour chaque constat
- Inclure des captures de paquets des preuves clés sous forme de captures d'écran ou PDF exportés
- Mapper l'activité réseau sur la chronologie de l'incident
- Corréler les constats réseau avec les preuves basées sur l'hôte issues de la forensique des postes
Concepts clés
| Terme | Définition |
|---|---|
| PCAP (Packet Capture) | Format de fichier stockant les paquets réseau bruts capturés depuis une interface réseau pour analyse hors ligne |
| Beaconing | Connexions réseau régulières et périodiques depuis un hôte compromis vers un serveur C2, identifiables par des intervalles de temps cohérents |
| JA3/JA3S | Méthode d'empreinte TLS client et serveur basée sur les paramètres ClientHello et ServerHello ; unique par application |
| NetFlow/IPFIX | Métadonnées de trafic réseau (source, destination, ports, octets, durée) collectées par les routeurs et commutateurs sans capture complète des paquets |
| Tunneling DNS | Technique encodant des données dans les requêtes et réponses DNS pour exfiltrer des données ou maintenir un C2 via le protocole DNS |
| Tap réseau | Périphérique matériel créant une copie exacte du trafic réseau pour la surveillance sans impacter les performances |
| Journaux Zeek | Journaux de métadonnées structurés générés par le cadre d'analyse réseau Zeek couvrant les connexions, DNS, HTTP, SSL, et plus |
Outils et systèmes
- Wireshark : Analyseur de paquets open source pour l'inspection approfondie des protocoles réseau au niveau paquet
- Zeek (anciennement Bro) : Cadre d'analyse réseau générant des journaux de métadonnées structurés à partir de trafic en direct ou capturé
- Arkime (anciennement Moloch) : Plateforme open source de capture et recherche de paquets complets pour la forensique réseau à grande échelle
- NetworkMiner : Outil d'analyse forensique réseau pour extraire fichiers, images et identifiants de fichiers PCAP
- RITA (Real Intelligence Threat Analytics) : Outil open source de détection de beacon et d'analyse de tunneling DNS pour les journaux Zeek
Scénarios courants
Scénario : Confirmer un beacon C2 et quantifier l'exfiltration
Contexte : L'EDR détecte un processus suspect sur un poste de travail mais ne peut déterminer le volume de données exfiltrées. L'équipe réseau fournit le PCAP depuis l'appliance de capture complète couvrant la période de l'incident.
Approche :
- Filtrer le PCAP pour le trafic depuis l'IP de l'hôte compromis vers des destinations externes
- Identifier le canal C2 en analysant les schémas temporels de connexion (détection de beacon)
- Extraire le certificat TLS et le hachage JA3 de la connexion C2 pour générer des IOC
- Calculer le total d'octets transférés vers l'infrastructure C2 pendant la durée de l'incident
- Vérifier la présence d'autres canaux d'exfiltration (tunneling DNS, téléversements vers stockage cloud)
- Extraire les fichiers non chiffrés transférés à l'aide de la fonctionnalité Exportation d'objets Wireshark
Pièges à éviter :
- Analyser uniquement le trafic HTTP alors que le C2 utilise HTTPS sans inspection SSL
- Manquer le tunneling DNS car le volume de données par requête est faible (mais le total sur la durée est significatif)
- Ne pas corréler les horodatages réseau avec ceux des postes (décalages de fuseau horaire)
- Négliger les services cloud légitimes détournés pour l'exfiltration (OneDrive, Google Drive, Dropbox)
Format de sortie
RAPPORT D'ANALYSE DU TRAFIC RÉSEAU
=================================
Incident : INC-2025-1547
Analyste : [Nom]
Source de capture : Arkime capture complète
Période d'analyse : 2025-11-15 14:00 UTC - 2025-11-15 18:00 UTC
Taille totale PCAP : 4,7 Go
COMMUNICATIONS C2
Source : 10.1.5.42 (WKSTN-042)
Destination : 185.220.101.42:443 (HTTPS)
Intervalle beacon : 60 secondes ± 12 % de gigue
Sessions : 237 connexions sur 4 heures
Hachage JA3 : a0e9f5d64349fb13191bc781f81f42e1
Certificat TLS : CN=update.evil[.]com (auto-signé)
Données envoyées : 147 Mo (sortant)
Données reçues : 2,3 Mo (entrant - commandes)
MOUVEMENT LATÉRAL
10.1.5.42 → 10.1.10.15 (SMB, TCP 445) - 14:35 UTC
10.1.5.42 → 10.1.10.20 (RDP, TCP 3389) - 14:42 UTC
10.1.5.42 → 10.1.1.5 (LDAP, TCP 389) - 15:10 UTC
RÉSUMÉ DE L'EXFILTRATION
Protocole : HTTPS vers serveur C2
Volume : 147 Mo sortant
Durée : 14:23 UTC - 18:00 UTC
Fichiers extraits : [liste si récupérables depuis des canaux non chiffrés]
ANALYSE DNS
Requêtes suspectes : 0 indicateur de tunneling DNS
Détection DGA : 0 domaine généré algorithmiquement
RÉFÉRENCES DE PREUVES
Fichier PCAP : INC-2025-1547_capture.pcap (SHA-256 : ...)
Journaux Zeek : /logs/zeek/2025-11-15/ (conn.log, ssl.log, dns.log)