Netcat

Revisión del 12:29 29 ago 2019 de Carlos idict (discusión | contribuciones) (Texto reemplazado: «<div align="justify">» por «»)
Netcat
Netcat

Versiones:
0.7.1


Netcat. Es un pequeño programa creado para uso de los administradores de redes (y por supuesto para los Hackers), este fue creado desarrollado por Hobbit en 1996 y liberada bajo una licencia de Software libre permisiva (no Copyleft, similar a BSD, MIT) para UNIX.

Características

Es un pequeño programa creado para uso de los administradores de redes (y por supuesto para los Hackers), este fue creado desarrollado 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 comoGNU 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. Netcat tiene infinidad de funciones, aunque se deja que sea el usuario quien las averigüe. 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 líneas 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 más puro estilo Unix.

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 más recomendable es bajar de la red la versión full de netcat para Linux.

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 se pueden hacer con NetCat son: Obtener un Shell rápidamente en una máquina remota usando la opción -l (Listen) conjuntamente con la opción -e (ejecutar) , cuando el programa 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és 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 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.

Scanner

Netcat puede ser utilizado como Scanner, sus múltiples opciones le permiten realizar un gran número 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, ejemplo: 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; aquí tienen un pequeño y primitivo scanner, se le pueden añadir puertos escogidos como en el ejemplo anterior o asignarle un rango de puertos.

Sniffer

Otra de las interesante posibilidades de netcat es su capacidad para escuchar conexiones en cualquier puerto, pudiendo redireccionar todo el tráfico 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!!

Detector de Conexiones Sospechosas

La posibilidad de dejar a Netcat escuchando en determinados puertos, nos permite crear una especie de "trampa" para un supuesto agresor que utilice scanners, o herramientas tales como NetBus o Back Orifice en contra de nuestras estaciones. Incluso, podemos crear un archivo que haga un Flood y redireccionar su salida hacia la estación agresora en caso de una conexión no autorizada a determinado puerto. Este es un ejemplo de un detector de Back Orifice, este es un ejemplo real de un día 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 conexión desde un puerto aleatorio (casi siempre el 1080) aunque en este caso lo hizo desde el 31338 (posiblemente una variante de Back Orifice), por eso se utiliza la opción -u (Protocolo Udp), Netcat se queda esperando conexiones UDP en el puerto 31337 , cuando alguien hace un Sweep a tu IP Netcat lo detecta enviando a pantalla el IP y el DNS del agresor...

Otros usos Misceláneos

Puedes utilizar algo de Ingeniería social para capturar algunos Passwords con Netcat, por ejemplo, si una máquina no tiene abierto el Puerto de FTP o de Telnet, creas un archivo de texto que solicite el ID y el Password de la víctima; 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

Fuentes