Netcat

6
Tutorial: NetCat desde Cero Descripción: En este tutorial enseñare a utilizar el netcat, la navaja suiza de los hackers, desde cero, beremos todo lo relacionado con el netcat, desde algunas de sus caracteristicas basicas asta como consegir shells... Autor: adritxikitin Contacto: [email protected] o http://adritxikitin.blogspot.com

Transcript of Netcat

Page 1: Netcat

Tutorial: NetCat desde Cero

Descripción: En este tutorial enseñare a utilizar el netcat, la navaja suiza de los hackers, desde cero, beremos todo lo relacionado con el netcat, desde algunas de sus caracteristicas basicas asta como consegir shells...

Autor: adritxikitin

Contacto: [email protected] o http://adritxikitin.blogspot.com

Page 2: Netcat

¿Que es NetCat?pues segun wikipedia...

Netcat es una herramienta de red originalmente desarrollada por Hobbit en 1996 y liberada bajo una licencia de software libre permisiva (no copyleft, similar a BSD, MIT) para UNIX. Posteriormente fue portada a Windows y Mac OS X entre otras plataformas. Netcat permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un HOST (quedando netcat a la escucha), asociar una shell a un puerto en concreto (para conectarse por ejemplo a MS-DOS o al intérprete bash de Linux remotamente) y forzar conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de archivos bit a bit entre dos equipos). Existen muchos forks de esta herramienta que añaden características nuevas como GNU Netcat o Cryptcat.

Entre sus múltiples aplicaciones, es frecuente la depuración de aplicaciones de red. También es utilizada a menudo para abrir puertas traseras en un sistema.

Comandos basicos y necesarios del NetCatA continuacion os presento unos comandos que debereis tomar en cuenta y muy enserio, ya que son los mas importantes y mas utilizados:

-d Permite que nc trabaje en forma silenciosa y se desenganche del indicador de comandos MS-DOS.-e <comando> Un nc a la escucha podrá ejecutar el <comando> en el instante en que alguien se conecte al puerto en el que está escuchando.-i <segundos> Intervalo de espera, que es la cantidad de tiempo que nc esperará entre dos envíos de datos sucesivos.-g <lista-de-ruta> Se pueden especificar hasta 8 opciones –g en la línea de comandos para forzar que su tráfico nc pase por determinadas direcciones IP.-G <puntero de saltos> Esta opción le permitirá definir que dirección IP va a ser el siguiente salto dentro de la ruta indicada con la opción –g.-l Activa el modo escucha de nc.-L Activa el modo escucha de nc pero con más interés.-n Indica a nc que no realice ninguna consulta de nombres de hosts.-o <archivohex> Realiza un volcado hexadecimal de los datos y los almacena en un archivo hexadecimal.-p <puerto> Le permite especificar el puerto local que va a utilizar nc.-r Nc elegirá aleatoriamente los puertos locales y remotos.-s Especifica la dirección IP de origen que deberá utilizar nc cuando efectue sus conexiones.-t Es capaz de controlar la negociación de opciones Telnet.-u Indica a nc que utilice UDP en lugar de TCP.-v Informa el estado de nc, si pones otra –v podrás obtener más información.-w <segundos> Controla cuanto tiempo va a esperar nc antes de dar por terminada una conexión.

Page 3: Netcat

-z Le dice a nc que envíe la cantidad de datos necesarias para conocer en que puertos se está escuchando algo.

A conseguir shelss...A partir de ahora empezaremos a aprender a como entrar en una maquina o PC utilizando el netcat. Antes de empezar a explorar con esta parte del netcat, os abiso, de k la maquina victima debe tener en su PC el netcat instalado.

Escanear puertos de una Makina

Logicamente para escanear los puertos abiertos de un PC o una makina deberemos tener su IP, eso no lo explicare en este tuto, oseak, en este tuto no explicare como consegir una IP de una makina/pc. Para eso podeis buscar por este mismo foro tutos sobre eso, los hay muy buenos.

Una vez que tengamos la IP victima, deberemos saber los puertos activos de esta , y para ello utilizaremos el sigiente codec en nuestra shell:

nc -z [opciones] [ip/hostname] [puerto/s]

Explicacion del Codigo:

nc: esto lo que hace es abrir el netcat dentro de nuestra shell.

-z: este comando ya lo comente mas arriba pero de todas formas: Le dice a nc que envíe la cantidad de datos necesarias para conocer en que puertos se está escuchando algo.

[opciones]: Aqui podremos meter las sigientes opciones (comandos k he metido arriba):-d (detach from console) modo oculto, en segundo plano, la conección sigue aunke c cierre el ms-dos-n (numeric ip only) c usa cuando c dá una ip en vez de un hostname y no keres q el nc use dns para averiguar el hostname-o (hex dump of traffic) guarda todo el trafico de una conección en un archivo hexadecimal-p (local port number) elegís el puerto local para la conección-r (randomize local and remote ports) elige al azar los puertos no especificados.-s (local source address) dirección local-i (delay interval for lines sent) tiempo de espera entre línea y línea enviada-u (udp mode) realiza conecciones en puertos udp-v (verbose) modo detallado, usar dos veces para que sea más detallado-w (wait) tiempo en segundos en los que la conección se mantendrá sin que ninguna de las partes transfiera datos, x ej: si pongo -w 3 y yo o el server dejamos de transmitir datos durante 3 segundos, la conección termina.

[ip/hostname]: Aqui debera ir la IP victima.

[puerto/s]: Aqui deberemos poner el puerto o los puertos k kieres saber si tiene la IP victima abierto/s.

Ejemplo:

Page 4: Netcat

nc -z -d 84.81.140.24 80 21 25 22 23

Entrar a la PC/MAKINA

Una vez que sepamos la IP y los puertos de nuestra victima podemos proceder a intentar consegir su shell.

Bien, pues para entrar en la shell victima tenemos que hacer el sigiente code en nuestra shell:

nc [IP VICTIMA] [PUERTO]

A este codigo le podemos agregar mas opciones tambien (comandos k he mostrado arriba).

Recomiendo utilizar el comando -vv para que el nc nos de información sobre el estado de la conexión. Aparte de esto le podemos agregar mas opciones tambien:

-d (detach from console) modo oculto, en segundo plano, la conección sigue aunke c cierre el ms-dos-n (numeric ip only) c usa cuando c dá una ip en vez de un hostname y no keres q el nc use dns para averiguar el hostname-o (hex dump of traffic) guarda todo el trafico de una conección en un archivo hexadecimal-p (local port number) elegís el puerto local para la conección-r (randomize local and remote ports) elige al azar los puertos no especificados.-s (local source address) dirección local-i (delay interval for lines sent) tiempo de espera entre línea y línea enviada-u (udp mode) realiza conecciones en puertos udp-v (verbose) modo detallado, usar dos veces para que sea más detallado-w (wait) tiempo en segundos en los que la conección se mantendrá sin que ninguna de las partes transfiera datos, x ej: si pongo -w 3 y yo o el server dejamos de transmitir datos durante 3 segundos, la conección termina.

El nuevo codigo utilizando algunas de las anteriores opciones seria:

nc -vv [MAS OPCIONES] [IP VICTIMA] [PUERTO]

Ejemplo:

nc -vv -d 84.81.140.24 80

De esta manera ya abremos consegido la shell de nuestra victima, pero ay mas metodos para hacer esto....

Otro metodo

Otro metodo para consegir una shell es poner nuestra shell a la escucha de kualkier puerto, y si posterior a esto algien se conecta a ese puerto pos su shell sera nuestra.Kualkiera k se conecte al puerto nuevo k emos puesto a la escucha sera caido en la trampa, y tendremos acceso a su shell.

La sintaxis basica es:

Page 5: Netcat

nc -l -p [OPCIONES] [PUERTO]

Explicacion del Codigo:

nc: abre el netcat

-l ( ya lo dije arriba): Activa el modo escucha de nc.

-p ( la lo dije arriba): <puerto> Le permite especificar el puerto local que va a utilizar nc.

[OPCIONES]: Aqui podremos meter mas opciones, por ejemplo -d (modo oculto) etc... Las demas opciones ya estan comentdas mas arriba.

[PUERTO]: Aqui indicaremos el puerto k keremos poner a la escucha.

Ejemplo:

nc -l -p -d 80

Mas cosas k podemos hacer...

A partir de ahora mostrare todo con ejemplos practicos sin explicacion, ya deberiais entenderlos...

Para conectarse a un servidor TELNET aprobechando la opcion -t (answer telnet negociation)

nc -vv -t freeshell.org 23nc -vv -t capital.cf.rffdc.edu.ar 23

Para conectarse a un servidor smpt en modo detallado:

nc -vv capital.cf.rffdc.edu.ar 25

Escanear puertos por rangos inclusivos:

nc -z 200.123.160.225 20-23 137-139

Bueno pues asta aquí este tutorial, espero que te aya servido de algo ;)

Saludos.

Http://adritxikitin.blogspot.com

Page 6: Netcat