Netstat SS Linux Forensics
forensicsDéfinition
L'analyse des connexions réseau actives via netstat et ss est une étape initiale essentielle de l'investigation forensique sur un système Linux live. Ces outils affichent les connexions TCP/UDP établies, les ports en écoute, et les processus associés, révélant les communications C2 actives, les backdoors réseau, et les services non autorisés. netstat (net-tools, historique) est disponible sur quasiment toutes les distributions Linux, mais est en cours de dépréciation au profit de ss (socket statistics, iproute2). Les deux outils lisent les informations depuis /proc/net/ (tcp, tcp6, udp, udp6, unix) et /proc/net/socket_list. La commande netstat -tulpn (ou ss -tulpn pour l'équivalent moderne) liste tous les sockets TCP/UDP en écoute avec les PIDs des processus propriétaires. netstat -anp (ou ss -anp) liste toutes les connexions actives (établies et en écoute) avec les PIDs. Les indicateurs forensiques dans la sortie netstat/ss incluent : des processus inconnus avec des connexions établies vers des IPs externes (C2), des ports en écoute inhabituels sur des processus système (sshd sur un port non standard = backdoor SSH), des connexions en ESTABLISHED vers des IPs avec des ASN ou géographies inhabituelles, et des processus avec des noms similaires aux processus légitimes mais différents (python3 vs python ou [kworker] vs kworker — un processus userspace qui imite un thread noyau est très suspect). La corrélation netstat avec /proc est précieuse : netstat -anp révèle le PID de chaque connexion, puis /proc/[PID]/exe donne le chemin du binaire, /proc/[PID]/cmdline la ligne de commande complète, et /proc/[PID]/maps les bibliothèques chargées. Cette chaîne permet d'identifier complètement un processus avec une connexion réseau suspecte. Les rootkits peuvent hooker les fonctions d'affichage réseau pour masquer leurs connexions à netstat/ss, mais leurs connexions resteront visibles dans /proc/net/tcp directement ou via les outils qui lisent le noyau plus bas niveau.
Fonctionnement
ss et netstat lisent /proc/net/{tcp,tcp6,udp,udp6,unix} qui exposent les sockets du noyau sous forme de fichiers texte. Chaque ligne représente un socket avec l'adresse locale:port, l'adresse distante:port, et l'état. Les adresses sont en hexadécimal little-endian dans /proc/net/tcp. ss est plus performant (utilise directement les netlink sockets noyau via NETLINK_INET_DIAG) et plus rapide sur les systèmes avec de nombreuses connexions.
Application DFIR
Collecte forensique live : 1) ss -antp > /tmp/connections.txt (toutes connexions TCP + PID + process), 2) ss -anup > /tmp/udp.txt (UDP), 3) ss -lnp (listening only), 4) Pour chaque PID suspect dans les connexions : ls -la /proc/PID/exe, cat /proc/PID/cmdline | tr '\0' ' ', 5) Vérifier les connexions cachées : cat /proc/net/tcp | awk '{print $2,$3,$4}' vs ss -antp | awk (divergence = rootkit), 6) netstat -nr (table de routage), arp -a (cache ARP → machines communiquées récemment).
Outils
ss (iproute2, moderne), netstat (net-tools, legacy), /proc/net/ (source primaire). Forensique réseau live avancée : lsof -i (files + connexions), tcpdump (capture live), Wireshark tshark. Détection connexions cachées : unhide net (compare /proc/net/tcp vs ss), compare manuellement les deux sources. Forensique offline : Volatility 3 linux.netstat (analyse depuis dump mémoire).
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h