tutorial de netcat linux
DESCRIPTION
Tutorial Netcat windows-linuxTRANSCRIPT
Tutorial de Netcat Linux-Windows
Netcat a la escucha sobre puertos TCP/UDP y Chat
Establecer a Netcat en modo “listen” (escucha) en un puerto TCP / UDP es una de las
tareas más implementadas con la herramienta, pues permite depurar clientes y/o
aplicaciones de red, envío/recepción de datos, ejecución de terminales, etc.
Vamos como establecer a Netcat en modo “listen” (escucha) y como podemos
implementar sobre el mismo un pequeño pero útil sistema de Chat entre dos equipos
Dirección IP Cliente Windows
Dirección IP Cliente Linux
La máquina con Linux BackTrack será el sistema donde se establezca Netcat en modo
“listen”, veamos:
nc -lvv 12345
El cliente será el sistema Windows
Mensaje desde el equipo Windows hacia el equipo Linux
Respuesta desde el equipo Linux hacia el Linux
Toda los mensajes enviados, vistas desde el equipo Windows
Transferencia de Archivos con Netcat
Otra de las bondades que permite realizar Netcat es la posibilidad de habilitar una
conexión para transferir archivos entre dos equipos. Esto permitirá entonces
enviar/recibir archivos de texto y/o binarios entre ellos.
Debemos ejecutar la siguiente sintaxis:
nc -lvp 12345 > salida.txt
El equipo server (Linux BackTrack) estará habilitado en modo listen (escucha) y
redireccionando los datos recibidos a un archivo de salida, veamos:
El equipo cliente (Windows) establecerá la conexión con BackTrack (al puerto 12345) y
enviará el archivo.
para ello primero crearemos el archivo de texto a enviar. Veamos:
Así se vería desde el servidor BackTrack cuando recibe los datos y luego procedemos a
comprobar la información contenida en el envío
Administración Remota con Netcat (Shell)
Sin lugar a dudas esta es una de las mejores utilidades que se le pueda dar a Netcat, pues
como hemos visto esta grandiosa herramienta permite redireccionar instrucciones y
comandos. Esto significa que podemos tomar por ejemplo un archivo .exe y redirigir la
entrada/salida y mensajes de error a los puertos TCP/UDP que establezcamos.
Veamos en la práctica como podemos redirigir el ejecutable CMD.EXE a un cliente de
red en un puerto local. De esta manera ofreceremos una línea de comandos a cualquier
usuario que establezca una conexión a nuestro equipo y puerto establecido.
Windows hará el papel de servidor, quién ofrecerá una línea de comandos a los clientes
que establezcan una conexión con él.
nc -lvp 12345 -e cmd.exe
Ahora desde BackTrack, quién actua como cliente, establecerá una conexión con
Windows. Veamos:
Shell Inversa con Netcat
A diferencia del escenario anterior y como en muchas ocasiones sucede, no se puede
controlar y administrar las salidas/entradas o disposición de puertos. Para ello Netcat
nos ofrece otra solución más en su repertorio. Se trata entonces de establecer a Netcat en
modo “listen” y el posterior envío/recepción de comandos, entre ellos la ejecución de
una terminal. Veamos:
En este caso el sistema Windows pretende obtener una shell del sistema Linux
BackTrack, con la limitante de que BackTrack no puede en ese momento servir una
shell en modo “Listen”.
Desde Windows se establece el modo Listen:
nc -lvp 12345
Ahora desde Backtrack se establece la conexión hacia Windows y la instrucción que
este deberá servir al mismo:
Enviemos una instrucción (comando) desde Windows para que el resultado pueda ser
visualizado desde el mismo (En este caso, listamos los archivos que hay en el directorio
actual)
Algunos comandos de Linux ejecutados desde la consola Windows
Identificación de Banners e información
Para intentar una conexión y obtener información de un sistema y puerto específico la
sintaxis es la siguiente:
nc -vv IP/HostName Puerto
Consultando el Servidor Web que gestiona un sistema Objetivo
Se trata de realizar una conexión al puerto comúnmente utilizado para servir páginas
Web (80), luego se envía una petición HTTP / HEAD para obtener y leer el banner del
servidor HTTP. Para ello ejecutaremos la siguiente sintaxis: