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.
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.
- CollecterOù capturer (TAP, port miroir, hôte) et quoi garder.
- Réduire le bruitFiltrer le trafic connu et légitime pour isoler le reste.
- AnalyserConversations, protocoles, contenus, chronologie.
- Détecter et alerterTransformer ce qu'on a trouvé en règle ou en alerte.
- Corriger et surveillerRemédier, puis vérifier que le problème ne revient pas.
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é
- Hiérarchie des protocoles : rien d'inattendu ?
- Conversations triées par volume.
- Filtrer les hôtes suspects et suivre leurs flux.
- 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.
| Comportement | Ce qu'on observe | Piste de filtre |
|---|---|---|
| Scan de ports | Une source, beaucoup de SYN vers de nombreux ports ; beaucoup de RST en retour. | tcp.flags.syn==1 && tcp.flags.ack==0 |
| Usurpation ARP | Une 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 DNS | Sous-domaines longs et aléatoires, beaucoup de requêtes TXT, volume DNS inhabituel. | dns && frame.len > 200 |
| Tunnel ICMP | Paquets ICMP de grande taille ou au contenu non standard. | icmp && data.len > 64 |
| Exfiltration | Gros volume sortant inhabituel, souvent hors heures ouvrées. | Statistics → Conversations, tri par octets |
| Identifiants en clair | FTP, Telnet, HTTP Basic, SMTP sans TLS. | ftp || telnet || http.authorization |
| Mouvement latéral | SMB, 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