14/5/15

WifiPineapple Casero - TL-MR3020



Vamos a reactivar un poco el blog, primero algunas aclaraciones, el tutorial a continuacion no es de mi autoria, simplemente traduje algunos manuales, recopile fuentes, etc, que las voy a nombrar al final del texto.

Que es WifiPineapple?

Es un "gadget" creado por Hak5, bastante caro, algo asi como u$d 100 o mas, tambien conocido como Jasager, que funciona como un Rogue AP que acepta todas las conexiones wifi, un cliente busca conectarse a una red, sin importar el SSID, este aparato responde "si soy yo, conectate" a todos.

Nosotros vamos a crearlo por un costo mucho menor, y relativamente facil (digo relativamente, porque para quienes esten acostumbrados a manejar linux les va a resultar muy facil, yo soy literalmente nuevo, asique por ahi se me complicaba)

Lista de materiales:

Hardware:
(1) TP-Link TL-MR3020 ver. 1.x (segun algunas fuentes, no funciona si no es 1.7, pero toda la info que lei nunca mencionaron esto)
(2) SanDisk Cruzer Fit USB Flash Drive (8GB) (en algunos manuales dice cualquier pendrive de 8gb, yo por las dudas compre esta que la especificaban en un tutorial)




Todo esto lo encontramos en digamos... WallMart.

Software:
(1) OpenWrt
(2) Wifi Pineapple firmware (con esto hay un temita que vamos a ver mas adelante)
(3) Kali Linux (mi caso) y por momentos Windows.

Paso 1 :

Descargamos OpenWRT (particularmente descargue la ver. 12.09 pero pueden probar una mas reciente) :



Configuramos nuestra IP como estatica y nuestro gateway asi:

IP : 192.168.0.10
Gateway : 192.168.0.1

Conectamos el TL-MR3020 a la computadora mediante el cable ethernet. Por default la IP para acceder al modem es 192.168.0.254. Asi que navegamos a esa direccion.

El usuario y contraseña por default es "admin".

Vamos a "System Tools" -- "Firmware Upgrade" y elegimos el archivo .bin con el firmware que acabamos de descargar.

Paso 2 :

Una vez que instalamos OpenWRT, la IP de nuestro mr3020 (el aparatito) cambia a 192.168.1.1.

Configuramos nuevamente nuestra IP como estatica y el gateway a :

IP : 192.168.1.10
Gateway : 192.168.1.1

En nuestro navegador vamos a 192.168.1.1, nos vamos a encontrar con el administrador web LuCi, ahi tenemos que configurar nuestra contraseña, que la vamos a utilizar para accerder via SSH, para eso vamos a la pestaña "System" -- "Administration".

Despues vamos a "System" -- "System" para setear el horario.

ahora tenemos que habilitar el wireless, vamos a la pestaña "Network" -- "Wifi" y le damos a enable.

Ahora tenemos que habilitar el DHCP, vamos a la pestaña "Network" - "Interfaces" - nos deberia aparecer una sola Interfaz, le damos a "Edit" - seleccionamos "DHCP Client" y despues "OpenWrt" clickeando en "Switch Protocol". (Si compro otro MR3020 subo imagenes de esta parte del proceso) Puede que tarde mucho tiempo en actualizarse el sitio, eso es normal. Es porque no puede asignarse una IP. Si tarda mucho continuamos.

Conectamos nuestro TL-MR3020 con el cable ethernet a nuestro modem de internet. y via wifi nos conectamos al TL-MR3020, el SSID es "OpenWrt". Asegurense de tener conexion a internet.

Una vez que tenga la IP, en mi caso 192.168.1.113, nos vamos a poder conectar al TL-MR3020 via ssh.




Ingresamos el password que habiamos colocado anteriormente cuando configuramos todo en LuCi.


Instalamos los siguientes paquetes :



Paso 3 :

Formateamos nuestro pendrive (8GB) haciendo una particion ext4 y otra swap, por ejemplo 2GB para swap (hacemos primero esta particion - sda1) y 6GB para ext4 (este formato lo hacemos despues para que sea sda2) yo lo hice con Gparted.

Insertamos el pendrive en el TL-MR3020. Y ejecutamos en la consola donde estabamos conectados via ssh los siguientes comandos (linea por linea, cualquier error puede brickear (dejar como ladrillo) nuestro aparato. Yo aca tuve algunos problemas por tener la particion ext4 como sda1.



Paso 4 : En la consola



Editamos el contenido con vi:

Cambiandolo por esto :



Comandos para vi si no estan familiarizados :
i - modo insertar editar
Esc - salimos del modo editar
:w - escribe y guarda los cambios
:q - salir de vi

y luego reiniciamos con :



Una vez que se reinicia nos conectamos nuevamente via ssh. Y chequeamos si el usb esta como "/" o no :

 

Paso 5 :

Apagamos el TL-MR3020 retiramos el Pendrive y lo colocamos en nuestra computadora.

Hacemos un backup del pendrive, haganlo asi porque despues vamos a necesitar las carpetas.



***Aclaracion /media/NOMBREDELPENDRIVE/ donde dice NOMBREDELPENDRIVE va a ser una serie alfanumerica aleatoria.

Hagan tambien un backup del directorio /lib.

No retiren el pendrive porque lo vamos a seguir usando.

Paso 6 : IMPORTANTE - Aca hay un temita como mencionaba mas arriba, yo instale la ultima version del firmware del Pineaple (2.3.0), el cual se descarga de la web oficial como todos los demas, pero me di cuenta una vez que tenia todo instalado, que tiene una verificacion cuando hacemos el setup, que todavia no pudimos bypassear con d0t, por lo tanto si tienen ganas de tener su gadget funcionando YA! descarguen la version 2.0.4 o la 2.2.0 (segun un manual mas reciente, desconozco si tiene la misma verificacion) y no la 2.3.0 que es la ultima y que es la que estamos intentando bypassear/crackear.

Descargamos entonces el firmware del Pineapple que queremos, en este caso el 2.0.4 para los ansiosos :



Instalamos el firmware-mod-kit, esto tambien me trajo problemas, hay que agregar repositorios que dejo la lista al final del post, e instalar unas librerias previas para que funcione, por lo tanto primero :


la libreria liblzma-dev me trajo problemas, https://code.google.com/p/firmware-mod-kit/wiki/Documentation?tm=6 https://code.google.com/p/firmware-mod-kit/wiki/Documentation?tm=6 instalen squashfs-tools tambien por las dudas


Una vez que tenemos todo instalado y los repositorios corregidos, instalamos el firmware-mod-kit (excelente software para hacer ingenieria inversa)

 
Y extraemos todas las carpetas, librerias y archivos del firmware del Pineapple asi:



Nos colocamos en la carpeta donde extrajimos los archivos y copiamos las siguientes a nuestro pendrive.

 

Paso 6a :

Para que nuestra "victima" pueda navegar por internet mediante el Pineapple, necesitamos cambiar el DNS y el Gateway en /etc/config/network (dentro del pendrive) de 172.16.42.1 a 172.16.42.42. Y, el DNS a 8.8.8.8

Paso 7 :

Colocamos el pendrive en el TL-MR3020.

Lo conectamos a nuestro router o modem de internet, prendemos el TL-MR3020 y esperamos a que se bootee (todos los leds verdes). Corremos el script "wp5.sh" (Vea el Paso 8) en nuestra computadora. Aca nos van apareciendo opciones que podemos modificar para setear el Pineapple, una vez que terminamos de darle Enter a todo, navegamos a la IP que nos muestra en pantalla. Nos pide la password que habiamos configurado anteriormente.



Paso 8 (Conectividad) :

Esta es una de las maneras de conectar el Pineapple (TL-MR3020), via tethering :

Conectamos nuestra computadora a internet via wireless o 3G.

Y conectamos con un cable ethernet el Pineapple a nuestra computadora (todavia hasta donde lei, no se puede conectarle otra tarjeta wifi al mr3020).

Decargamos el script que mencionamos en el Paso 7 a nuestra computadora.



o armamos el archivo wp5.sh si no funciona la descarga:



Ahora si todo va bien, deberiamos poder navegar por internet y deberiamos poder conectarnos al Pineapple, ademas las "victimas" que se conecten al Pineapple deberian poder navegar sin problemas.

Una vez que queremos terminar con el "ataque", corremos el siguiente script creado por Samiux.
antes lo hacemos ejecutable y damos permisos.



 Script killwp5.sh:




Para tener acceso nuevamente, tenemos que correr ./wp5.sh

Algunos videos interesantes, que fueron tambien fuente:


Videos:
https://www.youtube.com/watch?v=GVmRsXGimag
https://www.youtube.com/watch?v=ttDQQqyVaIA
https://www.youtube.com/watch?v=BiPUryMLn2g

 Notas: no todos los ataques (infusiones) van a funcionar, pero es un lindo proyecto para armar, es importante seguir paso a paso todo, para no "brickear" nuestro mr3020.

Fuentes:
http://samiux.blogspot.com.ar/2014/11/blueberry-wifi-pineapple-mark-v.html LA MAS IMPORTANTE
https://forums.hak5.org/index.php
http://wiki.khairulazam.net/index.php?title=Wifi_Pineapple_Mark_V_on_TP-Link_MR3020
https://code.google.com/p/firmware-mod-kit/
http://semaraks.blogspot.com.ar/
http://wiki.wifipineapple.com/index.php/Main_Page
http://www.symbyote.info/?page_id=291
https://penturalabs.wordpress.com/2013/04/25/blue-for-the-pineapple/

 Repositorios:
 

---------------------------------------------------------------------

Aca esta lo que mencionaba en el paso 6 con el nuevo firmware:




Se aparece un cristo detras de la pantalla que no permite cometer maldades, no mentira, como metodo de seguridad para evitar robos (y lo mas seguro, tambien falsificaciones), hak5 añadio un metodo fisico de seguridad. El tl-mr3020 no tiene los 4 leds de colores que trae el WifiPineapple original, por lo tanto no sabemos que leds estan prendidos, ni cuales parpadean, ni cuales estan apagados, por lo tanto no podemos ingresar el patron que nos solicita para continuar. Se supone que en las versiones anteriores de firmware no lo pide. Por eso con d0t estamos mirando como hacer una ingenieria inversa para bypassear este patron, para hacerlo hay que revisar todos los archivos del firmware luego de que los extraemos con el Firmware-mod-toolkit. Si alguno sabe como hacerlo bienvenido sea.


Extras:
- Estoy pensando en colocar un cargador portatil, o battery pack, para no tener necesidad de enchufarlo.
- Que pasa si lo colocamos en un drone? En mi caso un Phantom 2 vision plus, con hasta 2 kilos de carga
- Se puede extender el rango de la antena?
- https://github.com/PenturaLabs/web-interface (No probe aun)
- https://github.com/PenturaLabs/Pineapple-Confs (Tampoco probe esto)

2 comentarios:

  1. hola amigo, tu habías subido un video a youtube explicando ese procedimiento cierto?

    ResponderEliminar
  2. y que tal has pensado en un movil ??? mmm digamos un android s2 , s4

    no se solo por tirar una idea :

    1.- obtengo Internet 4G LTE (chip) por mi proveedor de telefonica (tigo,entel,viva,ect)
    2.- rooteo mi telefono y instalo aplicaciones que me permitan lidear con el IPtables del telefono Android( que es un linux en el fondo el lo sabe xD)
    3.- le instalo un ettheral , sniffer ,sslstrip , (todo lo q me permita capturar trafico)
    4.- teniendo una microsd de 8gb (minimo)
    5.- creo un punto Hospot (comparto internet WIFI LIBREEEE) SSID: wifi_liberado
    6.- tiro unas cuantas reglas en iptables
    7.- lanzo los sniffer que capture todo tipo de trafico ( o el que querramos)
    8.- ------------------------------------- y capturo los datos de aque que se conecte y navegacion

    9.- SE PUEDE INSTALAR FRUTTY WIFI http://www.fruitywifi.com/index_eng.html

    (unas pequeñas,grandes modificaciones para adecuar)

    10.- instalo nmap para android y por ultimo algunos paquetes linux

    y solo resta mezclar bien y servir

    UN SAMSUNG GALAXY S4 tiene el procesamiento necesario

    escribanme jimr981@ gmail.com

    ResponderEliminar