Méthodologie défensive

Network Traffic Analysis

Lire le réseau pour comprendre ce qui s'y passe vraiment : établir ce qui est normal, puis repérer ce qui s'en écarte. La NTA sert à la détection, au triage d'alertes et à l'investigation après incident.

DéfensiftcpdumpWiresharktsharkZeek

La démarche

Le module NTA de HTB Academy propose une boucle en cinq temps. Elle s'applique aussi bien à une capture de quelques minutes qu'à une surveillance continue.

  1. CollecterOù capturer (TAP, port miroir, hôte) et quoi garder.
  2. Réduire le bruitFiltrer le trafic connu et légitime pour isoler le reste.
  3. AnalyserConversations, protocoles, contenus, chronologie.
  4. Détecter et alerterTransformer ce qu'on a trouvé en règle ou en alerte.
  5. Corriger et surveillerRemédier, puis vérifier que le problème ne revient pas.
Avant toutOn ne repère l'anormal qu'en connaissant le normal. Documente une base de référence : hôtes habituels, protocoles attendus, volumes, horaires.

Capturer avec tcpdump

Les filtres de capture utilisent la syntaxe BPF : ils décident de ce qui est enregistré, donc ce qui est filtré est perdu.

# Lister les interfaces
tcpdump -D
# Capturer sur eth0 sans résolution de noms, dans un fichier
sudo tcpdump -i eth0 -nn -w capture.pcap
# Relire un fichier, avec le contenu en ASCII
tcpdump -nn -r capture.pcap -A
# Filtres BPF courants
tcpdump -nn -r capture.pcap host 10.10.10.5
tcpdump -nn -r capture.pcap 'tcp port 80 or tcp port 443'
tcpdump -nn -r capture.pcap 'src net 10.10.0.0/16 and not port 22'
tcpdump -nn -r capture.pcap 'tcp[tcpflags] & tcp-syn != 0'

Options et équivalences BPF / Wireshark : fiche Filtres réseau.

Analyser avec Wireshark

Les filtres d'affichage n'effacent rien : ils masquent. Leur syntaxe est différente de celle de BPF.

Les filtres d'affichage les plus utiles sont dans la fiche Filtres réseau, avec un mode révision.

Menus à connaître

  • Statistics → Protocol Hierarchy : répartition des protocoles.
  • Statistics → Conversations : qui parle à qui, et combien.
  • Statistics → Endpoints : les hôtes les plus bavards.
  • Follow → TCP/HTTP Stream : reconstruire un échange complet.
  • File → Export Objects : extraire les fichiers transférés (HTTP, SMB…).

Ordre de lecture conseillé

  1. Hiérarchie des protocoles : rien d'inattendu ?
  2. Conversations triées par volume.
  3. Filtrer les hôtes suspects et suivre leurs flux.
  4. Exporter les objets et noter les empreintes (hash).

En ligne de commande, tshark accepte les mêmes filtres (exemples dans la fiche).

Repérer l'anormal

Les schémas classiques, ce qui les trahit dans le trafic et comment les filtrer.

ComportementCe qu'on observePiste de filtre
Scan de portsUne source, beaucoup de SYN vers de nombreux ports ; beaucoup de RST en retour.tcp.flags.syn==1 && tcp.flags.ack==0
Usurpation ARPUne même IP annoncée avec deux adresses MAC, réponses ARP non sollicitées.arp.duplicate-address-detected
Balise C2 (beaconing)Connexions sortantes à intervalle très régulier vers une même destination, petits volumes.Conversations + chronologie (Statistics → I/O Graph)
Tunnel DNSSous-domaines longs et aléatoires, beaucoup de requêtes TXT, volume DNS inhabituel.dns && frame.len > 200
Tunnel ICMPPaquets ICMP de grande taille ou au contenu non standard.icmp && data.len > 64
ExfiltrationGros volume sortant inhabituel, souvent hors heures ouvrées.Statistics → Conversations, tri par octets
Identifiants en clairFTP, Telnet, HTTP Basic, SMTP sans TLS.ftp || telnet || http.authorization
Mouvement latéralSMB, RPC ou WinRM entre postes de travail, alors qu'ils ne parlent normalement qu'aux serveurs.smb2 || dcerpc || tcp.port==5985
Attaque Wi-Fi (désauthentification)Rafales de trames de désauthentification.wlan.fc.type_subtype == 0x0c

Aller plus loin

Zeek

Transforme un pcap ou un flux en journaux structurés (conn.log, dns.log, http.log…). Idéal pour chercher à grande échelle.

Suricata / Snort

IDS à signatures : alertent sur des motifs connus. Les règles se lisent et s'écrivent facilement.

NetFlow / IPFIX

Métadonnées de flux sans contenu : beaucoup moins volumineux, parfait pour repérer balises et exfiltrations.

Check-list d'analyse d'un pcap

  • Noter la période couverte et le nombre de paquets (Statistics → Capture File Properties)
  • Lire la hiérarchie des protocoles
  • Identifier les hôtes et conversations principales
  • Vérifier le trafic DNS : domaines rares, requêtes longues ou nombreuses
  • Suivre les flux HTTP et les éventuels identifiants en clair
  • Exporter les fichiers transférés et calculer leur hash
  • Chercher des connexions régulières (balises) et des gros volumes sortants
  • Construire une chronologie des événements suspects
  • Rédiger les indicateurs (IP, domaines, hash) et les règles de détection proposées