Contenido

驴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].