Introducción
Netcat es un pequeño 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 año 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 máquina de windows, cierto poder sobre este protocolo que solo tenía UNIX, trabaja con lineas de comandos desde MS-DOS (o desde el Shell de Linux), y según parece, puede hacer casi cualquier cosa sobre TCP/IP. El comando principal es nc con su respectiva variable u opción al mas puro estilio Unix.
Cabe destacar que la información 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:
Código:
http://www.l0pht.com/~weld/netcat
Cita textual:
|
Publicado originalmente por Maemo Index NOKIA 770
Versión NETCAT para Nokia 770
Código:
http://vidar.gimp.org/770/
Código:
http://vidar.gimp.org/770/netcat_1.10-32_armel.deb
http://vidar.gimp.org/770/rsync_2.6.8-2_armel.deb
|
Netcat en WinX
Este es el resultado de el comando de ayuda de netcat en una máquina windows
Código:
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 rápido de estas variables nos da una idea del
potencial de este pequeño programa y las infinitas posibilidades que nos
ofrece el poder manejar conexiones de una manera tan básica y sencilla:
<------ Opciones de Netcat --------->
Código:
-d (Modo Stealth o encubierto)
Esta opción desvincula al Programa de la consola, haciendolo
trabajar en el BackGround.
-e (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 conexión
-L (lo mismo que anteriormente pero sigue escuchando aún cuando la
conexión es cerrada)
Esta opción es incluida en la versión de Weld Pond de L0pth, y
es muy util para seguir escuchando en el puerto, a diferencia de -l
(que la conexión cerrada termina con el proceso de nc) esta opción -L
permite seguir escuchando en el mismo puerto (la rutina de nc -l es
reiniciada).
-n (Dirección numerica especifica; no hace un DNS Lookup) Netcat tiene la
facultad de resolver nombres de dominio mediante un DNS Lookup, con esta
opción le especificamos que no lo haga, y use solamente direcciones IP.
-o (obtiene un archivo log en Hex de la acción) Genera un Log de
las actividades de netcat en código Hexadecimal.
-p (Puerto para pegarse) Algunas veces debes especificarle con esta
opción el puerto a realizar una acción.
-s (pegarse a un IP especifico) Netcat puede utilizar IP de una red
como fuente local.
-t (Funciona como un pequeño demonio telnet) Con esta opción le especificas
a netcat que debe realizar negociaciones telnet.
-u specify UDP (Utilizar Protocolo UDP) Con esta opción le dices a netcat que
trabaje con protocolo UDP en vez de TCP.
-v (modo verbose, mas información, se le puede añadir 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 (Especifica un tiempo para terminar) Con esta opción le especificas un
tiempo determinado para realizar conexiones .
-r (Genera un Patron Ramdom de puertos locales o remotos) Muy util para evitar
patrones lógicos de Scanning.
-g (especificar Gateways) Una de las opciones más interesantes de netcat,
permite utilizar Routers como "puentes" de conexión.
-G (Especificar puntos de Routing), Con esta opción podemos crear
una cadenaaleatoria de hosts para crear un ruta perdida para tus paquetes
(Spoofing).
-i Especifica un intervalo de segundos entre puertos Scaneados.
Autor: Kliver
ssh control , netcat
http://www.youtube.com/watch?v=CDRaO50XbnM
Tunnel Everything through SSH
http://www.plenz.com/tunnel-everything
Netcat en Linux
Netcat en una plataforma como Linux se convierte en una utilidad muy potente, pudiendo ser utilizado en conjunto con lenguajes de programación 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 instalación una versión limitada de netcat; lo mas recomendable es bajar de la red la versión full de netcat para Linux (Importante: La versión 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:
Código:
[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 podrás 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 implementación en scripts, los scripts están en el directorio donde desempaquetastes netcat en /scripts , los corres como siempre: ./probe (o el script que quieras).
Utilizando Netcat.
Para ilustrar mejor como trabajamos con este programa, lo mejor es observar ejemplos prácticos 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 máquina remota usando la opción -l (Listen) conjuntamente con la opción -e (ejecutar) , cuando el proggie corre con estas variables y la conexión es realizada, NetCat ejecuta el programa elegido y se conecta a stdin y stdout del programa en la conexión 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 travéz del cliente, ejecutará un Shell (cmd.exe) la opción -t le dice a NetCat que maneje cualquier negociación que el cliente pueda esperar....
Si esta conexión es realizada desde una máquina 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 están probablemente corriendo en la mayoría de las máquinas NT, de esta manera puedes lograr una conexión a una máquina 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 (puedes añadir 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 información muy util a la hora de planear un "Brute-Force Attack", este comandito de Netcat te muestra la Flexibilidad del Proggie en cuestión, dandote una idea de sus posibilidades:
c:\>nc -v 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