sábado, 31 de enero de 2015

Fake AP + brctl = MITM (te lo "XPLICO"?) - PARTE II


Hola de nuevo. En la entrada anterior  creamos un punto de acceso Wi-Fi falso y recibimos a nuestra víctima. En esta entrada veremos como capturar los datos e interpretarlos. En esta tarea nos ayudará XPLICO, una herramienta de Análisis Forense muy poderosa (y Open Source!). Xplico nos permite analizar los datos que carguemos de una captura o bien realizar la captura y análisis en vivo. La interfaz está implementada vía web, por lo tanto debemos tener corriendo algún servidor. En mi caso, estoy utilizando Kali, el cual ya viene con Apache instalado y listo para usar.

Para los amigos de Windows, tengo una mala noticia, no hay Xplico. Solo podemos correrlo en Linux.

Lo pueden descargar desde aquí

Para instalarlo realizamos los pasos detallados aquí

También les dejo el enlace a un video que muestra como instalar Xplico en Kali

Una vez que lo tenemos instalado, debemos correr Apache para poder ingresar a la interfaz web de la herramienta.


Xplico corre en el puerto 9876, por lo tanto abrimos nuestro navegador y nos conectamos a localhost:9876

Veremos que Xplico no está corriendo, pero en la pantalla de bienvenida nos da las instrucciones para iniciarlo:


Entonces si su pantalla principal nos dice eso, hagamos caso:


Una vez que lo iniciamos, actualizamos el navegador. Nos pedirá usuario y contraseña. El user es xplico y el pass también. (Recuerden cambiarlo jeje). Una vez hecho esto, ya podemos comenzar a trabajar!

Primero debemos crear un caso, entonces nos dirigimos a New Case


Nos dará la opción de cargar un archivo .pcap o  de realizar una captura en vivo:


En este caso mostraré la opción de captura en vivo (live acquisition), dado que queremos ver todo lo que está haciendo nuestra pobre víctima. Luego debemos crear una sesión, esto lo hacemos en New Session. Una vez creada la sesión debemos seleccionar la interfaz, en este caso será el bridge "mitm" que creamos anteriormente y damos start.


Mientras nuestra víctima navega irá apareciendo toda la información, ordenada para realizar una lectura más rápida de los datos. Podremos ver enlaces de los sitios que visita, emails, chats y las imágenes que está viendo:


Como pueden ver esta es una herramienta muy potente. Aquí les dejo un video que subí mostrando los pasos que detalle en esta entrada:


Cabe aclarar que si queremos capturar el tráfico cifrado por https debemos realizar alguna maniobra extra como el uso de sslstrip por ejemplo. Lo bueno de esto es que al manejar nosotros el access point y el bridge podemos realizar cualquier tipo de acción sobre la víctima. Una opción podría ser utilizar burp suite y capturar y modificar las peticiones que el usuario realiza.

Eso es todo por ahora, espero que sea de utilidad. Solo me queda dejarles los scripts para crear el fake access point y  el bridge automáticamente. Son un par de lineas nada más, pero nos ahorra tipear todos los pasos vistos en la entrada anterior cada vez que queremos crear el Rogue AP:

1 - Script para crear el Fake AP

#! /bin/bash

echo 'nombre de Fake Ap?'
read var1
airmon-ng start wlan1  #Cambiar wlan1 por la interfaz de nuestro adaptador wifi USB
airbase-ng --essid $var1 mon0

2 - Script para crear el Bridge

#! /bin/bash

brctl addbr mitm
brctl addif mitm at0
brctl addif mitm eth0
ifconfig at0 up
ifconfig mitm up
dhclient mitm


Saludos y...

HAPPY HACKING!





sábado, 17 de enero de 2015

Fake AP + brctl = MITM (te lo "XPLICO"?) - PARTE I




Hola otra vez. Muchas veces les debe haber pasado de leer un artículo o ver un video sobre algún especialista de seguridad en el que, se dirige a un bar, crea un punto de acceso wifi falso y comienza a capturar información de los usuarios que se conectan a él. Podemos ver un ejemplo en uno de los programas de "MUNDO HACKER" en el que el gran Yago Jesús va a una estación de tren y le roba la sesión de facebook a una pobre chica jeje ----> https://www.youtube.com/watch?v=P-XyKvYZNek

En esta entrada, voy a mostrarles una forma sencilla de crear un FAKE ACCESS POINT y como darle conexión a internet a la víctima.  En la próxima entrada les mostraré como capturar e interpretar la información que genera el usuario conectado y les dejaré unos scripts que armé en bash para realizarlo automáticamente.

Para esta primera parte vamos a necesitar (anote doña):

1_Un equipo conectado a internet.
2_Una máquina virtual corriendo Backtrack o Kali.
3_Un adaptador WIFI USB que acepte modo monitor.

El adaptador wifi que usaré será un Signal King ( una de esas baratas y poderosas maravillas chinas). Este adaptador tiene muy buen alcance, lo cual es muy recomendable a la hora de crear un FAKE AP (mientras mas lejos, a mas potenciales clientes podremos llegar). Podemos ver sus características técnicas aquí




Para crear nuestro ROGUE AP (o Fake AP) usaremos la máquina virtual para que obtenga la dirección de red a través de NAT (con lo cual estará conectada a internet por medio de nuestro equipo). Luego pondremos en modo monitor nuestra tarjeta WIFI USB y crearemos el punto de acceso falso. Por último crearemos un puente entre esa conexión y la interfaz conectada a través de NAT. Con esto obtendremos algo así:
Esquema de nuestro FAKE AP
Veamos como hacer esto paso a paso.

Configurando nuestra máquina virtual (usaré VIRTUAL BOX).

Antes de arrancar nuestra máquina virtual ingresaremos a la configuración, y luego, en "Red" habilitamos el Adaptador 1 (o cualquier otro) y elegimos la opción "NAT".


En "USB" recuerden agregar el filtro correspondiente a su adaptador wifi:



Luego, iniciamos Kali.

Iniciando nuestro FAKE AP

Una vez iniciada nuestra máquina virtual, abrimos la consola y ejecutamos lo siguiente para cambiar nuestra tarjeta de red wifi USB a modo monitor:

# airmon-ng start wlan1 (suplantar wlan1 por la interface que utilice su adaptador wifi USB).

Luego ingresamos:

# airbase-ng --essid FAKE_AP mon0 (suplantar FAKE_AP por el nombre que quieran darle a su punto de acceso wifi)


Con esto arrancamos nuestro punto de acceso falso. Presten atención a la nueva interface "at0" que se ha creado. Que es eso?

Una interface tap simula un dispositivo de capa de enlace, con lo cual opera con paquetes de capa 2 y se utiliza para crear puentes.

Esta interface nos permitirá proporcionarle internet a nuestra víctima, pero como?

Ese puente mágico... (como el bifrost para los nórdicos jeje)

Utilizaremos el comando "brctl" (bridge control) que viene incorporado en KALI. Este comando nos permite crear un brigde entre dos interfaces. Podemos ver mas sobre el aquí

Primero ingresamos:

#brctl addbr mitm (suplantar mitm por el nombre que deseemos darle al bridge)

Con esto creamos la interface bridge

Luego ingresamos:

#brctl addif mitm at0 (la interfaz creada al montar nuestro FAKE AP)
#brctl addif mitm eth0 (interfaz donde estamos conectados por NAT)



Con eso unimos las dos interfaces por medio del bridge

Ahora nos queda levantar las interfaces y asignarle una ip a nuestro bridge. Como lo hacemos? Con el comando "dhclient"

#dhclient mitm



Ya tenemos todo listo, ahora, a esperar que se conecte nuestra víctima:


Miren tenemos un invitado!

La parte mas interesante...a jugar con XPLICO!

Una vez que nuestra víctima se conectó a nuestro punto de acceso falso podemos hacer muchas pero muchas cosas (todo lo que se están imaginando y más). En este caso, utilizaré una gran aplicación llamada Xplico. Esta herramienta se encarga de interpretar toda la información que va sniffeando o que hemos sniffeado. Si si, eso es lo bueno, que podemos pasarle tanto un archivo .cap como realizar una captura en vivo y xplico irá interpretando todo por nosotros. Pero eso lo veremos en la próxima entrada.

Espero que les sea de utilidad

Saludos y...

HAPPY HACKING!

miércoles, 7 de enero de 2015

Cocinando un Backdoor en menos de 10 minutos!

FASE: MAINTAINNING ACCESS
HERRAMIENTA: METASPLOIT + RADMIN



Como hemos visto en entradas anteriores, en algunos casos, vamos a querer dejar una puerta trasera en el equipo víctima para posteriores accesos. Ver ---> http://mamaquieroserpentester.blogspot.com.ar/2014_03_01_archive.html

Hoy les voy a mostrar una forma de plantar y poner en funcionamiento un RAT (Remote Administration Tool) en el equipo vícitima (solo para Windows). El RAT en cuestión es Radmin, en su version 2.1 (pueden descargarlo de aquí). Este programa es muy útil a la hora de actuar como backdoor dado que nos permite a través de pocos comandos ponerlo en funcionamiento y dejarlo configurado para que corra como un servicio mas de Windows.

Preparando nuestros archivos
  
Instalamos Radmin y buscamos la carpeta Radmin en Archivos de Programa. En ella encontraremos lo siguiente:


Los archivos que nos interesan de esta carpeta son:

r_server.exe: Como se imaginarán, este es el archivo que debemos subir al equipo víctima.

radmin.exe: Será nuestro cliente, en el debemos realizar la configuración para indicarle hacia que equipo queremos conectarnos.

AdmDll.dll y raddrv.dll: Librerias necesarias para que corra nuestro servidor radmin.

Nuestro proceso constará de los siguientes pasos:

1 - Modificar nombre a r_server.exe (para que pase desapercibido vió)
2 - Subir a la pc víctima: r_server.exe, AdmDll.dll y raddrv.ll
3 - Iniciar el servicio en el equipo víctima
4 - Probar conectividad

Manos a la obra, digo, al teclado!

Primero cambiamos el nombre a nuestro r_server.exe por algo como servdll.exe asi no levanta sospechas al aparecer entre los procesos de Windows.

Sending stage...

Una vez que tenemos comprometido el equipo de la víctima comenzamos el proceso para subir nuestro futuro backdoor:

Archivos que debemos enviar al equipo víctima


Y los mismo hacemos con los otros dos archivos. 

Una vez que tenemos todo subido debemos instalar y hacer correr nuestro servidor. Para ello vamos a pasar a la shell del Windows víctima y ejecutar los siguientes comandos:


Hacemos un "ps" para ver los procesos que se encuentran corriendo en el equipo víctima y vemos que efectivamente esta nuestro backdoor:


Podemos ver como a pesar de tener Antivirus y AntiSpyware, la pc víctima no detecta nuestro RADMIN:


Configurando el cliente

Ahora solo queda configurar nuestro cliente. Ingresamos la IP donde se encuentra alojado el server...(el puerto es el 4899 por defecto)


Una vez configurado el socket podremos ver las siguientes opciones:


FULL CONTROL: Nos permite conectarnos a la GUI y controlarla.

VIEW ONLY: Podemos ver todo lo que sucede en la GUI sin controlarla. 

TELNET: Inicia una sesión a través de Telnet.

FILE TRANSFER: Nos abre una ventana para transferir archivos desde nuestra pc al servidor y viceversa.

SHUTDOWN: Apaga el equipo remoto.

Probamos con un telnet y...


Nos conectamos!!!

Algo a tener en cuenta...



El servidor radmin mostrará un icono en la barra de tareas de la víctima por lo que tendremos que modificar el registro de Windows para ocultarlo. Otra opción podría ser verificar que el usuario no este frente a la pc (con la opcion IDLE de meterpreter), ejecutar el comando r_server/setup desde la shell y conectarnos con la opción FULL CONTROL de radmin para ocultar el icono tildando la opción "Hide Tray Icon":


Eso es todo por ahora. Espero que sea de utilidad.

Mucha de la información que dí sobre la manipulación de Radmin la podemos encontrar en, lo que considero una de las grandes revistas de hacking, HackXCrack. Aquí un enlace:

http://www.mediafire.com/download/c1qmgjc5ggyl9jq/HxC04.pdf 

Saludos, FELIZ AÑO y...

HAPPY HACKING!!!