Escaneo de puertos y banner grabbing con netcat


Normalmente estamos acostumbrados a disponer de nuestro arsenal de novedosas y potentes herramientas que hacen nuestro trabajo mas facil, pero esto no es siempre así, se puede dar el caso de que una vez hemos accedido a un sistema necesitamos seguir investigando la red pero solo disponemos de las herramientas del sistema. Para esta tarea tenemos a nuestro amigo netcat.

En primer lugar hay que tener en cuenta que netcat tiene funciones tanto de cliente como de servidor, por lo que podremos establecer una conexión entre dos máquinas únicamente con esta herramienta.


Estableciendo una conexion entre dos máquinas:

Para poner en funcionamiento este sistema crearemos un chat entre dos máquinas. Por un lado simulando la máquina del atacante ejecutaremos el servidor que recibirá la conexión entrante de la víctima. Para esto utilizaremos los siguientes comandos:

En la máquina del atacante: nc -l -p 1337 -vv

-l : Ejecuta el script en modo listening y lo mantiene a la espera de la conexion.
-p : Especifica el puerto al que nos conectaremos.
-vv : Activamos el verbose

En la máquina de la victima: nc <ip> 1337

Y listo, ahora podemos comunicarnos de una máquina a la otra. 



Escaneando puertos con netcat:

En el caso de que necesitemos conocer algo de información de otra máquina en la red, podemos utilizar un escaneo de puertos para saber que posibles servicios vulnerables tienen las otras máquinas. En este caso no necesitamos realizar una conexión completa, por lo que usaremos el comando de la siguiente manera:

nc -z -i1 -w3 <ip> 21-80 -vv

-z : Evita realizar una conexión completa.
-i:   Establece un tiempo de espera entre cada petición.
-w: Establece el timeout en segundos que nosotros queramos.

Output:

dominio.com [256.256.256.256] 25 (smtp) : Connection refuseddominio.com [256.256.256.256] 24 (?) : Connection refuseddominio.com [256.256.256.256] 23 (telnet) : Connection refuseddominio.com [256.256.256.256] 22 (ssh) open

Banner Grabbing:

Por último, una vez que hemos identificado los puertos abiertos, podemos hacer una petición a cada uno de ellos para conocer el software que corre y la versión. Para esto usamos la request mas sencilla posible con netcat:

nc <ip>

Output:

root@user:~# nc dominio.com 22
SSH-2.0-OpenSSH_5.3


Ahora la proxima vez que os encontréis sin vuestras herramientas no desesperéis porque netcat vendrá al rescate.

0 comentarios:

Publicar un comentario

ShellShock Labs es un blog dedicado a seguridad y hacking en general, un lugar donde buscamos que la gente participe con sus opiniones.

Síguenos




Posts Populares