Sei sulla pagina 1di 12

Conexión Cliente / Servidor

Tools

[*] t3c4i3`s Remote Access Shell v1.07 public


[*] Wireshark
[*] Nmap
[*] Otras

Conocimientos Previos

[*] Protocolo TCP/IP


[*] Otros

1 Introduccion

En este paper analizaremos a nivel de red (funcionamiento) el tipo de


conexión cliente servidor que es el que ultizan los troyanos, en este
ejemplo veremos un “troyano” de conexión inversa osea que el cliente
(Host Victima) se conecta al servidor (Host Atacante).

Veremos los tipos de solicitudes que hace tanto el servidor como el


clinte, en las transferencia de archivos, activacion de keylogger y otras
funciones que trae con si la tool.

2 Notas

Cliente (Host Victima)


• Windows XP SP3
• IP ---> 192.168.65.129 (asignada por Vmware)
• Firewall = ON!

Servidor (Hosts Atacantes)


• Windows XP SP3
• IP ---> 192.168.65.128 (asignada por Vmware
• Firewall = ON!
• Backtrack4 (Sniffer, Analizador de datagramas de red)

3 Configuracion

Primeramente vamos a configurar nuestro cliente el cual ira a la host


victima.
Como veran aparece un menu de inicio, alli se pueden ver 4 opciones
sencillas 1. Load Server (cargar el servidor alli es donde habilitaremos
el servidor escuchando X puerto para que el cliente pueda conectarse), 2.
Create Client (crear cliente alli crearemos y configuraremos el cliente),
3. About ( Alli veremos la sintaxis de los comandos de la tool como tal,
veremos algunos otros comandos basicos, alli tambien nos dicen que la
version publica tiene deshabilitada la funcion de keylogger :S, aparecera
un banner de hackforums.net donde alli se encontrara la version provida,
pero seguiremos con esta para ver el funcionamiento y utilizar alguna
opciones necesarias y basicas), 4. Exit(Salir de la tool)

Caracteristicas de la configuracion del cliente

Input ip ----> ip del servidor ----> 192.168.65.128


Input port ---> puerto del servidor ---> 666
Input id ----> ID ----> c0wilo
Input Filename ----> nombre del archivo ---> Setup.exe

aquí le predefinimos al cliente que el servidor es la ip 192.168.65.128,


el puerto por el cual el cliente se conectara al servidor que es 666 , el
ID es la identificion del cliente y el cliente sera llamado Setup.exe.
Despues con algo de ingienieria social o con algun metodo de anonimato o
con su imaginacion el server este dentro del Host victima y lo halla
ejecutado, empezaremos a verificar informacion de nuestro cliente a ver
si esta realemente ejecutandose.

Nota: Despues de ejecutarse el servidor, el empieza a esconderse :)

Sacaremos en nmap a trabajar, lo que haremos es ver si el puerto de


nuestro cliente esta habilitado. Sintaxis <nmap [ipclient] -p [port]>

Excelente el puerto esta habilitado pero filtrado, eso es por el el


firewall esta on pero aun asi vamos bien.

4 Conexion

Antes de empezar a conectarnos a nuestro cliente en el host del atacante


debe estar wireshark instalado (ya que yo estoy utilizando Vmware
virtualise Backtrack y voy analizando la trama de datos desde alli),
bueno despues de tener instalado el wireshark lo iniciamos y aplicamos un
flitro para que solo veamos la trama de datos que nosotros nesecitamos.

Filter ----> (tcp.port eq 666)


y lo activamos y empezamos a atrapar la trama de datos de la red
aplicando un filtro que solo atrape los paquetes tienen en el datagrama
una direccion ip hacia el puerto 666.

Bueno empezamos con lo bueno, primeramente veremos algo asi en el


wireshark, que esta pasando aquí?... los paqueres con gris aquí veremos
que el cliente 192.168.65.128 lo que esta haciendo es intentando
conectarse hacia la ip 192.168.65.128, los paquetes rojos son las
respuestas de la solicitud perdida por que la ip si esta en la red pero
no esta a la escucha de ninguna conexión por ahora por que no hemos
habilitado el servidor, veamos mas caracteristicas.
Ahora analizaremos las propiedades de los paquetes grises osea los de
intento de conexión. Bueno veremos un IP Src que esa seria la ip de
provenencia o de donde viene el paquete, vemos una ip de Dst o de Destino
es hacia donde esta dirijido el paquete, vemos el puerto 666 que es donde
vienen los paquetes y vemos el puerto que se trata de conectar este
puerto va variando cada vex que se pierda la conexión (para ello esta
programado el cliente), seguimos. Ahora vamos con un paquete rojo.

Ahora vemos que los papeles se han cambiando ahora la ip de destino es


es la del servidor y la ip de provenencia es la del cliente y los puertos
tambien varian de lugar. Aquí lo que hace la red como tal es notificarle
al cliente es que no hay conexión con el host que el define alli entonces
la conexión se pierde y ese dato le llega al host cliente.

Vamos a activar la conexión de nuestro servidor, vamos a load server en


el menu de la tool con tan solo teclear 1, bueno alli nos dice que
coloquemos el puerto que definimos antes osea el 666 y le damos enter y
hay mismo lo activamos y vamos a conseguir la sesion de nuestro cliente.

Aquí nos muestra el cliente conectado, podremos observar 2 opciones 1 que


es volver al menu y la otra es si tenemos mas clientes conectado podremos
ejecutar comando en masa hacia todos los clientes, pero aquí solo
tecleamos 1 para obtener la sesion. Al obtener la sesion vamos a ver el
wireshark que fue lo que sucedió.

Vemos que el servidor por fin respondio la solicutud que el cliente


estaba pidiendo desde que se ejecuto. Apenas el servidor recibio la
solicitud que el cliente emitia, el dijo “hey si estoy aquí y te estoy
escuchando, conectate”, el cliente respondio “Conectandomee... y envio la
shell del sistema” para ser algo mas graficos :).

Despues de esa conexión el servidor empieza a emitir un refresco de la


conexión osea que vuelve y verifica si realmente el servidor esta
conectado.

Es un tipo de protocolo que el tiene para que cuando se pierda la


conexión entre el cliente y el servidor, avise y el lo avisa que esta
refrescando la conexión con un _REFRESH_ que viaja en texto plano hacia
el cliente y lo podemos ver.

Aparte de ello podremos ver que logro la conexión en el puerto 2339. aquí
este proceso sigue asi durante toda la conexión del cliente al servidor.
Ahora vemos como es el envio de los comandos hacia el host victima.
Empezaremos con un simple DIR.
Ahora veremos en el wireshark como viajo hacia el host victima.

Como la mayoria de trama de datos que sniffeamos esta vianjando en texto


plano podemos ver que el dir viaja normal hacia la vicitma. Y el cliente
lo recive y envia una notificacion de que le llego el dir.

Como saque esta conclucion, si miramos todo la trama de datos


anteriormente sin enviar comandos hacia el cliente la comunicación es la
misma, solo varian en algunos caracteres pero casi siempre fue la misma y
cuando hacemos el dir y lo enviamos el cliente responde de esta manera,
luego el servidor refresca la conexión.
Y luego el cliente envia por texto plano el resultado de dir hacia el
servidor.

5 Jugando con la Tool

aquí vamos a probar varias opciones que trae la remote shell como tal y
miraremos la forma de comunicación.

-Display /?

Este comando es para 1 desktop (para tomarle un pantallazo al host


cliente y ver por medio de una imagen que es lo que esta haciendo), 2
information (para ver algunas caracteristicas del host victima)

Sintaxis ----> DISPLAY /desktop


DISPLAY /information

*DISPLAY /desktop
Como vemos enviamos al cliente la sintaxis del comando bien y el lo
reconocio y ejecuto esa funcion que tiene con si. Ahora veremos que paso
en el protocolo TCP/IP

lo envia al cliente tal cual la sintaxis que le enviamos por medio de la


shell, ahora el cliente nos respondera. Que llego y aparte de eso que
esta en ejecucion.

Ya que el servidor asi entendera que el comando llego bien y luego el


cliente empezara a enviar el formato de la imagen por medio de la
comunicación que tienen establecidad ellos dos (cliente y servidor).

Enviara varios paquetes del mismo modo por que como sabran en la etapa de
fragmentacion y segmentacion que se produce en las capas del modelo osi
la imagen estaria viajando atravez de varios framentos de datos hacia el
servidor, esto se repitira por hay unas 17 o mas veces.

-DOWNLOAD /?

Este comando es para descargarnos archivos del host cliente, nos tenemos
que ubicar donde esta el archivo a descargar y ejecutarlo.

Sintaxis -------> DOWNLOAD filename.txt


Despues de crear este archivo en el escritorio lo vamos a descargar y a
mirar con el wireshark como viaja.

Como nos muestra nuestra tool ya descargamos el archivo, ahora solo es


cuestion de ir a donde esta guardada la tool y buscar el archivo.

Ahora a ver como viaja :).

el servidor envia el comando hacia el cliente

ahora veremos la respuesta del cliente despues de entender el comando y


ejecutarlo para ver como lo podemos visualizar.

Aquí tenemos el texto del archivo hola.txt


Bueno dejamos hasta aquí el juego con las opciones de la herramienta.

6 Analizando el Servidor

aquí lo que haremos es hecharle un ojo al servidor desde un editor de


texto plano, aquí solo veremos como tal el lenguaje maquina, pero si nos
colocamos a anilizar bien podemos encontrar mucha informacion de el.

Bueno empezaremos a buscar datos que nos llame la atencion, yo solo vi


algunos que realmente me gustaron mucho y sobre estos son los que vamos a
hablar un poco.
Flags o banderas del servidor

aquí solo se muestran como el servidor recibe los flags o las banderas
que se produscan por X o Y razon en el cliente, lo que hace el cliente es
enviar el dato que estoy subrayando.
Lenguaje de programacion.

Comandos de la tool

aquí en esta fase de analizando el servidor podran encontrar mucha mas


informacion que les puede servir para ver el funcionamiento. Asi se puede
ver varios funcionamientos de las herramientas que estamos utilizando :)

Bueno hasta aquí llegamos espero que les halla gustado.

© C0wil0 | 0raclehack

Potrebbero piacerti anche