Índice

¿Qué es NetCat?

Netcat es una utilidad de red con la ayuda del protocolo TCP/IP que lee y escribe datos a través de conexiones de red. Netcat está diseñado como una herramienta de back-end segura y se puede usar para enviar archivos de un cliente a un servidor y viceversa directamente con otros programas y scripts.

Al mismo tiempo, es una plataforma de depuración y exploración de redes rica en funciones que pueden definir parámetros de red y al mismo tiempo crear una conexión de túnel a un host remoto.

Aunque Netcat puede hacer muchas cosas, su objetivo principal y las características más deseables son las siguientes:

  • Para construir una conexión desde el servidor al cliente, cree un socket inicial.
  •  Si está vinculado, Netcat creará automáticamente un segundo socket para transmitir archivos desde el servidor al cliente y viceversa. 

Como Descargar Netcat:

Existen un montón de lugares donde se pueden encontrar esta herramienta, se incluye en la mayoría de distribuciones Linux enfocadas al pentesting (Kali, Parrot, Redhat, etc), también se puede encontrar entre los archivos del Seclists y del Wordlists (son colecciones de múltiples tipos de listas utilizadas en evaluaciones de seguridad), pero yo os recomiendo las siguientes páginas de descarga, ya que están enfocadas exclusivamente en Netcat y podréis encontrar las últimas versiones para Windows. En Linux, podremos descargar e instalar Netcat directamente desde la terminal. 

Instalar Netcat para Linux:

Para instalar Netcat en cualquier distribución de Linux basadas en  Debian  podéis utilizar el siguiente comando:

				
					sudo apt-get install netcat
				
			

Cómo ponerse en escucha con Netcat por un puerto predeterminado:

En primer lugar, debemos tener en cuenta que cuando nos referimos a ponernos en escucha por un puerto con Netcat, lo que estamos haciendo es convertir nuestro equipo como un servidor. De esta forma
podremos recibir datos desde el Cliente.

Para convertir nuestro Pc en servidor y ponernos en escucha por un puerto predeterminado utilizaremos la siguiente sintaxis:

				
					nc -l -p [Puerto en Escucha]
				
			
  • -l : Modo de escucha, para conexiones entrantes.
  • -p : Número de puerto local.

Recordar que las opciones se pueden agrupar en una sola flag -lp .

				
					nc -lp 443
				
			


Para hacer la escucha más eficiente, podemos añadir la opción de verbose -v y -n para evitar que aplique resolución DNS.

				
					nc -lvnp 443
				
			
  • -l : Modo de escucha, para conexiones entrantes.
  • -n : Direcciones IP sólo numéricas, sin DNS.
  • -p : Número de puerto local.
  • -v : Verbose, reporta la información por consola mientras se ejecuta el comando. Se puede aplicar un doble verbose.
  • -vv : Para que reporta más información.

Cómo establecer una conexión desde el lado del Cliente para conectarnos a un servidor con Netcat:

Para conectarnos a través de un servidor a un puerto abierto previamente (como por ejemplo un puerto puesto en escucha con el comando anterior) desde el lado del cliente:

				
					nc localhost [Puerto Abierto al que queremos Conectarnos]
				
			
				
					nc localhost 443
				
			


Una vez se haya establecido la conexión, podremos escribir desde el cliente al servidor:

				
					nc localhost 443
				
			

Después de introducir el comando y establecer la conexión ya podemos escribir por ejemplo «Hola Mundo» desde el lado del cliente:

Y si estamos en escucha por el puerto 443 en otra consola, veremos como nos llega el mensaje «Hola Mundo».

Opciones de Netcat

Podemos consultar todas las opciones de la herramienta Netcat utilizando el comando nc -h.

  • -c : Comandos shell como `-e’; usar /bin/sh para ejecutar [¡¡peligroso!!].
  • -e : Nombre de archivo programa a ejecutar después de conectar [¡¡peligroso!!].
  • -b : Permitir transmisiones.
  • -g : Gateway punto(s) de salto de enrutamiento de origen, hasta 8.
  • -G : Num puntero de enrutamiento fuente: 4, 8, 12, …
  • -h : Muestra el panel de ayuda.
  • -i : Secs intervalo de retardo para líneas enviadas, puertos escaneados.
  • -k : Establece la opción keepalive en el socket.
  • -l : Modo de escucha, para conexiones entrantes.
  • -n : Direcciones IP sólo numéricas, sin DNS.
  • -o : Archivo de volcado hexadecimal del tráfico.
  • -p : Puerto número de puerto local.
  • -r : Aleatorizar puertos locales y remotos.
  • -q : Secs salir después de EOF en stdin y retraso de secs.
  • -s : Addr dirección de origen local.
  • -T : Tos establece el tipo de servicio.
  • -t : Answer negociación TELNET.
  • -u : Modo UDP.
  • -v : Verbose [use dos veces para ser más detallado] -w secs.
  • -w : Secs tiempo de espera para conexiones y lecturas finales de red.
  • -C : Enviar CRLF como final de línea.
  • -z : Modo E/S cero [usado para escanear].
[ultimatemember form_id="17973"]

Formulario de Registro

[user_registration_form id=»20865″]