01 //
Concept : Les ports qui écoutent
Concept clé
Un port en écoute, c'est une oreille tendue vers le réseau
Quand un service 'écoute' sur un port, il attend des connexions entrantes — comme un téléphone qui sonne. Un port 4444 ouvert par netcat (
nc -lk 4444) est comme une oreille qui enregistre tout ce qui passe. Pas bon. Notre outil : ss (socket statistics) — l'inventaire de toutes les 'oreilles' de votre machine.
02 //
Trouver les ports en écoute
Utilisons ss pour lister tous les ports qui écoutent activement, puis filtrons sur le port 4444.
find_listeners.sh
# Lister TOUS les ports en écoute
# TODO: utiliser ss avec les bonnes options
# Indice : -l = listening, -t = TCP, -u = UDP, -p = processus, -n = numérique
ss -????
# Version complète recommandée
ss -tlnp
ss -ulnp
# Chercher spécifiquement le port 4444
ss -tlnp | grep 4444
# Alternative avec lsof
lsof -i :4444
▸ AFFICHER LA SOLUTION (essayez d'abord !)
-l (listen) -t (tcp) -n (numeric) -p (process) — tout ensemble :
ss -tlnp
# Pour voir 4444 :
ss -tlnp | grep 4444
03 //
Identifier le coupable
La colonne 'users' de ss indique le processus et son PID. Creusons pour savoir exactement qui a ouvert cette oreille indiscrète.
Investigation du processus suspect
# Trouver quel processus utilise le port 4444
ss -tlnp | grep 4444
# La colonne "users" indique le processus et son PID
# Obtenir plus d'infos sur ce processus
ps aux | grep PROCESSUS_NAME
# Voir la commande complète (remplacer PID par l'ID trouvé)
cat /proc/PID/cmdline | tr '\0' ' '
CE QUE VOUS ALLEZ PROBABLEMENT TROUVER
nc (netcat) ou ncat en train d'écouter sur le port 4444 avec -l. Netcat est l'outil de l'ami de tout le monde — y compris celui de 'l'ami' du patron.
04 //
Fermer la porte
Tuez le processus qui écoute sur 4444, vérifiez que le port est fermé, et cherchez s'il y a une persistance.
Fermeture du port et vérification de persistance
# Tuer le processus qui écoute sur 4444
kill PID
# Si résistant, utiliser kill -9
kill -9 PID
# Vérifier que le port est fermé
ss -tlnp | grep 4444
# → doit être vide !
# Chercher si c'est dans un cron job ou au démarrage
crontab -l
grep -r "nc " /etc/cron* ~/.bashrc 2>/dev/null
PORT 4444 FERMÉ !
Port 4444 fermé. 'L'ami' ne reçoit plus rien. Le patron vous offre un café. Vous méritez aussi une augmentation, mais commençons par le café.