El libre pensamiento para un internet libre

No estas registrado.  

Anuncio

nord_600_250

#1 06-09-2018 02:08:51

javierbu
Usuario

Registrado: 09-08-2018
Mensajes: 172

PoC hostbase.rb RogueAP con WPA2 capturando WPS pbc

mini_Captura-de-pantalla-de-2018-09-04-12-31-32.png
Saludos gente.

Les traigo una prueba de concepto que espero les guste.

Esta prueba de concepto esta basada en el trabajo de koala y su script hostbase.rb.

Hilo de hostabase por Koala https://www.wifi-libre.com/topic-1011-h … -aqui.html
Proyecto hostbase https://github.com/Koala633/hostbase

Me gusto tanto su trabajo que me decidi a hacer esta entrada, en la que tratare de explicar algunos conceptos que rodean este ataque, concretamente el del rogueAP cifrado con WPA2.

Si lo que quieres es jakear a golpe de click sin saber que estas haciendo, no pierdas mas tu tiempo leyendo este toston. 

Para esta prueba de concepto voy a valerme de un router con opnwrt y una raspberry pi. Y solo usare herramientas legitimas (o casi).

# Con el script de Koala basta con usar 2 tarjetas wifi, al menos una atheros y cualquier linux de escritorio.

Un poco de teoria detras del ataque:

Encabezando la lista de los ataques alternativos, tenemos lo que conocemos como rogueAP o evil twin y muchas herramientas para llevarlos a cabo.
Basicamente se trata de conseguir mediante los recursos que tenemos a mano e ingenieria social, que un usuario  se conecte a un AP (acces point, o punto de acceso), administrado por nosotros donde le vamos a servir un pishing con el que lo querremos manipular para hacer algo que no debiera, como escribir la llave WPA, o pulsar un boton del router, como es nuestro caso particular.

NUESTRA FINALIDAD ES QUE EL USUARIO PULSE EL BOTON WPS Y CAPTURAR ESA PULSACION.

La jugada es sencilla, o quiza no tanto?

Crearemos un acces point protegido con WPA2 llamado Orange-Recovery. La red a auditar se llama Orange-XXXX

Haremos un DoS (denegacion de servicio) al cliente legitimo que queremos  atacar. Con ello buscamos que no pueda navegar y opte por conectarse a nuestro acces point maligno (Orange-Recovery). La negociacion de la conexión sera transparente para el usuario. (Luego veremos como).

Cuando se conecte, dependiendo del dispositivo, le saldra el aviso de iniciar sesion en la red (tipico portal cuativo), donde le espera el phishing, o en cuanto intente nagevar, cualquier pagina le redirigira directamente al phishing.

En el phising le espera cualquier excusa que le queramos poner para conseguir que pulse el boton WPS. Recordemos que cuanto mas currado este el phishing, mas posibilidades tenemos de que caiga en el enga;o.

Cuando el ususario pulse el boton del WPS, capturaremos las credenciales, Game over.

Para quien va dirigido este ataque?

En primer lugar, la red que queremos auditar, ha de estar configurada para poder hacer conexiones mediate el boton de WPS, pbc. Si no, no funcionara jamas. Con la opcion –wps en airodump, veremos si tiene o no WPS activo. Luego profundizaremos un poco mas en esto.

En segundo lugar, tal y como recomienda koala en su documentacion,  este ataque es valido solo cuando el cliente es un equipo que permita conexion por WPS con pulsacion de boton. Hasta donde yo se, Windows 7 y 10 lo permiten. Debian no (imagino que extensivo a todo linux por default), dispositivos moviles que he probado, tampoco y desconozco lo que opina la manzana en todos sus sabores. Si hacemos el ataque a un celular o dispositivo que no permita conexión por WPS pbc (pulsacion de boton), no funcionara. Para esos otros dispositivos, y como bien dice el buen Koala, debemos optar por el ataque en el que nuestro FakeAP no esta cifrado.
En muchas ocasiones podemos “averiguar” si el dispositivo cliente es un pc u otro dispositivo buscando la marca con los 3 primeros octetos de la MAC. Hay sobrada info sobre eso en el foro.

WPS

Cuando mi hermano me pregunto que era eso del WPS, lo primero que me vino a la mente fue el esperanto. El idioma universal que nadie se sabe. En pocas palabaras le dije que es una gran herramienta que pocos saben que existe, menos saben que es y para que sirve, y menos aun la usan, ademas esta muy mal implementada y es un gran agujero de seguridad. (en esto ultimo se salva el esperanto)

Sabemos que el protocolo WPS nos permite hacer conexiones de distintas maneras. Hay toneladas de informacion en el foro sobre ello. Nos centraremos en la pulsacion del boton.

Cuando nos queremos conectar a un router que tenga disponible esta opcion desde un dispositivo que permita hacerla, nos dara la opcion, como se muestra en la imagen.
redes4.png

En el momento que vemos el mensage de “Tambien puedes conectarte pulsando el boton del enrutador”, el dispositivo se pone a la escucha de una pulsacion WPS durante una ventana de tiempo no mayor a 120 segundos. Tenemos ese tiempo para pulsar el boton y se lleve a cabo la conexión completa. No sera necesario que escribamos la llave WPA.

redes5.png

Esta es una de las grandes bondades del desconocido WPS. Que no muera nunca. Este tipo de conexión nos permite conectar dispositivos que carezcan de teclado y/o pantalla. Algunas impresoras, por poner un ejemplo sencillo.

Lo bueno es que podemos poner a la escucha nuestro dispositivo para capturar todas las pulsaciones que se hagan dentro de nuestro alcance, y de esa manera, poder capturar la que nos interesa y con ella su llave WPA. Game over.

Nosotros nos valdremos de estas bondades del protocolo WPS  en varias ocasiones durante el proceso del ataque.

El escenario:

El router a atacar es un livebox viejito de orange que tengo para estos menesteres y demas trasteos.

Como ya dije, voy a usar una raspberry pi y un router tplink con openwrt instalado. Esto es innecesario, podriamos hacerlo con un pc y 2 interfaces wifi, pero haciendolo con mis cacharros nos ofrecera una vision del ataque mas sencilla, o eso espero.

Una foto de los que vamos a usar:

mini_kit_remoto_completo.jpeg

Podriamos haber usado este otro router, que nos permitiria mas movilidad  y menos espacio, pero lo tengo ocupado en otros menesteres. Haremos la prueba en el grandote. A todos los efectos seria lo mismo usar el grandote o el chiquito.

mini_2routers.jpeg
Respecto a la Raspberry, usaremos su wfi integrada, y su wifi usb. Ademas de ello, tiene un modem 3G usb con el que “subira” una shell a un servidor en internet, desde donde la controlaremos. A traves de esta shell haremos todo el trabajo.

Tanto la Raspberry como el router, estaran dentro de mi coche, que esta aparcado a unos 4 metros de mi casa, la distancia entre el router a atacar y los cacharros de ataque, es de unos 12 metros, con 2 tabiques y una altura de distancia. Y el dispositivo del usuario victima(windows en este caso), se encuentra a unos 7 metros de los cacharros con un tabique y a unos 4 metros del router con tabique. Uno que es meticuloso.
mini_coche.jpeg

Configuracion del router:

El router lo tengo configurado para que cree una red llamada Orange-Recovery. Es mediante la que administraremos el router a traves de la rpi y la que usaremos tambien como FakeAP para enga;ar al usuario. Tengo configurado en el router la conexión via wps. Esto es necesario para completar este ataque. Para ello, y desde una instalacion nueva de openwrt, bastaria con hacer lo siguiente:

descargar la lista de paquetes disponibles en el repositorio
desinstalar wpad-mini
instalar hostapd-utils y wpad.
Adicionalmente, instalaremos nodogsplash que tambien nos hara falta mas adelante.
Reiniciamos y listo, ya tenemos la opcion de conexión via WPS en nuestro router.

opkg update
opkg remove wpad-mini
opkg install wpad hostapd-utils nodogsplash2
reboot & exit

Cuando regresemos a las opciones de nuestro acces point, veremos que como por arte de birlibirloque ya tenemos la opcion

mini_Captura-de-pantalla-de-2018-09-05-18-15-54.png

Nodogsplash es el gestor de portal cautivo que usaremos. Es hasta donde yo se, lo mas usado en lo que se refiere a este tipo de portales , esto hablando de herramientas legitimas. Hay muchas posibilidades de que si has estado en algun portal cautivo, este gestionado por nodogsplash. Es muy sencillo de usar y no conlleva mucha configuracion.
En este punto deberiamos editar el archivo splash.html, que es el que encontrara el usuario pidiendo que pulse el oton WPS. El archivo a editar se encuentra en . Yo lo edite lo justo para la prueba de concepto.

mini_splash_html.png

El access point que hemos creado con nuestro router, esta creado con hostapd, y hostapd, nos ofrece la posibilidad de  hacer una pulsacion WPS mediante software con un simple comando.

hostapd_cli wps_pbc

Haremos un peque;o script (pulsar.sh) para hacer esa pulsacion en bucle, y que termine cuando se haya establecido la conexión. Esto servira para que cuando el usuario se vaya a conectar a nuestra red maligna, siempre haya una pulsacion en el aire que pueda ser detectada por windows, y este se autoconecte sin necesidad de escribir la llave wpa. Conexion transparente para el usuario en una red segura protegida con wpa2. 


Con el nuestro acces point configurado, el script del bucle y la edicion de splash.html ya tenemos todo configurado en nuestro router. Todo son herramientas legitimas y hadware usado para estos casos. Esto nos ayudara a evadir posibles filtros de seguridad que pudiera tener el dispositivo vicitma.


La raspberry

Nuestra rpi tiene las siguientes tareas.
La primera y primordial, es capturar la pulsacion de nuestro router vicitma,
hacer “de puente” para administrar el router
hacer la denegacion de servicio.


Captura de pulsacion y credenciales:

Kcdtv nos ofrece un escript muy intersante para hacer conexiones desde una consola linux mediante pulsacion wps pbc. Con su PBC.sh

hilo en el foro https://www.wifi-libre.com/topic-811-pb … linux.html
Descarga https://github.com/kcdtv/PBC/archive/master.zip

No entraremos en detalles de lo que hace.  Basicamente pone a wpa_cli a la escuha de pulsaciones de boton pbc.

A partir del script de kcdtv, hago un script que haga la parte de capturar las credenciales, pero no se conecte. Lo pongo en bucle y almacenando las credenciales que vaya agarrando en una carpeta llaves/ . De esa manera podremos atrapar la pulsacion que nos interesa.

mini_Captura-de-pantalla-de-2018-09-05-18-44-27.png

Con esto ya esta todo configurado.

Por fin el ataque

Solo resta llevar a cabo el ataque. Para ello encendemos nuestros cacharros y “recuperamos” la shell que nos sirve nuestra raspberry en el servidor en la nube.

javier@localhost:~$ ssh operador@deby
operador@deby's password: 
[operador@deby ~]$ su
Password: 
[root@deby operador]# listener_pitunel 
Warning: Permanently added '[localhost]:21270' (ECDSA) to the list of known hosts.
   _____ _______       _____ _ 
  / ____|__   __|/\   |  __ (_)  SYSTEM
 | (___    | |  /  \  | |__) |   TARGETED
  \___ \   | | / /\ \ |  ___/ |  ATTACK
  ____) |  | |/ ____ \| |   | |  WITH
 |_____/   |_/_/    \_\_|   |_|  RASPBERRY Pi
 ############################################
     ###### BIENVENIDO A STAPi ########                              
root@localhost's password: 
Linux STAPi 4.9.59-v7_Re4son-Kali-Pi+ #1 SMP Tue Nov 21 00:36:47 CST 2017 armv7l

 NO HAY ATAQUES CONOCIDOS EN CURSO 

[root@STAPi ~]# 

Bienvenidos a STAPi

Nos conetamos a nuestro router desde la raspberry con la wifi integrada

nmtui-connect

nmtui-connect nos abrira una interfaz en consola muy fail e intuitiva de usar.

mini_nmtui.png
Y entramos al router via ssh

root@STAPi ~]# ssh root@192.168.42.1
root@192.168.42.1's password: 


BusyBox v1.28.3 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 18.06.0, r7188-b0b5c64c22
 -----------------------------------------------------
root@OpenWrt:~# 

En el router esta todo preparado, solo tenemos que lanzar nodogsplash y ejecutar el script que hace el bucle mandando pulsaciones WPS para la conexión trasparente del usuario legitimo.

root@OpenWrt:~# /etc/init.d/nodogsplash start
root@OpenWrt:~# ash pulsar.sh 
Selected interface 'wlan0-1'
OK

Sin salir de la sesion con el router, abrimos otra shell de la raspberry.

Vamos a hacer el DoS.

(En este punto tengo hacer un parentesis para felicitar a koala con su DoS activo persiguiendo saltos de canal del AP en su script hostbase.rb)

Vamos hacer un DoS sencillo y dirigido y  para no llamar la atencion con aireplay y su ataque de desautenticacion (0)

mini_dos.png

Esto estara mandando paquetes de desautenticacion hasta que lo pare.

Lo que esta viviendo el usuario son fallos de conexión, su red no conecta, o no puede navegar. Si le da por mirar las redes disponibles, vera nuestra red Orange-Recovery, y vera que es “segura?” en el momento que opte por conectarse a ella, y se negocie la conexión, el script que manda el bucle de la pulsacion, dejara de madar pulsaciones. Esto es muy importante, ya  que si no, es casi seguro que se nos “escape” la pulsacion que queremos porque estamos capturando la que emitimos nosotros mismos desde el router.

Asi que con el DoS en marcha nos vamos a la sesion que tenemos abierta de ssh con el router, a la espera de algo asi:

Selected interface 'wlan0-1'
OK
Selected interface 'wlan0-1'
OK
Selected interface 'wlan0-1'
OK
Selected interface 'wlan0-1'
OK
Thu Sep  6 00:26:10 2018 daemon.notice hostapd: wlan0-1: AP-STA-CONNECTED 00:1f:1f:51:a8:b3
conectado
root@OpenWrt:~# 

El script que esta emitiendo las pulsaciones en bucle nos idica que ya se ha conectado el usuario y ha dejado de mandar pulsaciones.

Salimos de la sesion ssh con exit, y en la raspberry lanzamos el script que nos hace el bucle de recibir pulsaciones. De igual manera que lo anterior, no puedes ejecutar este script antes, ya que con nuestro router estamos emitiendo pulsaciones hacia el usuario que nos quedariamos nosotros echando a perder el ataque.

./PBC-mod-bucle.sh

Ya solo falta que el phishing sea convincente y nuestro usuario opte por pulsar el botn WPS de su router.
mini_splash.png

# El script que se encarga de capturar la pulsacion trabaja de modo "casi oculto", por lo que esta captura es todo lo que puedo mostrar. Crea un archivo en la carpeta llaves/ por cada pulsacion capturada.


mini_Captura-de-pantalla-de-2018-09-05-20-03-45.png
Asi que modificaste el splash.html bastante mas y mejor que yo, tan convincente que el usuario llegue a pulsar su WPS pbc, veras algo siilar a esto

[root@STAPi PBC]# ls llaves/
total 4.0K
-rw-r--r-- 1 root root 197 Sep  6 01:03 2018-09-06-01-03-39_llave.txt
[root@STAPi PBC]# cat llaves/2018-09-06-01-03-39_llave.txt 
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
update_config=1

network={
	ssid="Orange-BCC5"
	psk="37C55CC5"
	proto=RSN
	key_mgmt=WPA-PSK
	pairwise=CCMP
	auth_alg=OPEN
	pbss=2
}
[root@STAPi PBC]# 

Y creo que esto es todo. Espero no haber aburrido demasiado al personal y que este texto llegue a ense;ar algo a alguien.

# Es mi primer post y espero no haber incumplido ninguna norma y menos aun molestar a ningun usuario. En caso contrario, por favor, me dicen.
# Bienvenidas todas las criticas constructivas y correcciones pertinentes.
# Cualquier duda, si puedo ayudar, lo hare con gusto.

Saludos

Desconectado

Anuncio

nord_600_250

#2 06-09-2018 13:55:04

Koala
Very Important Usuario

Registrado: 11-09-2016
Mensajes: 975

Re: PoC hostbase.rb RogueAP con WPA2 capturando WPS pbc

Hola,

Se ve que has comprendido bien los pasos cool


Lo unico que falta a hostbase es de estar mas conocido, no tiene mucho exito porqué hay que re apprender un poco y lo que le gusta la gente es hacer doble click para hacer andar cosas.Veremos en el futuro.

Deja me saber si quieres poner tu script en el git.

@++


Hostbase rogue AP project con Kali-linux xfce.

Debian--Arch--Kali--

Desconectado

#3 06-09-2018 16:13:14

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 5,701

Re: PoC hostbase.rb RogueAP con WPA2 capturando WPS pbc

¡Excelente! biere
La idea de usar un router con openwrt es muy buena: Un router reciclado como los viejos comtrend de timofonica y jazztel con sus antenas externas tiene más alcance que una tarjeta interna de laptop... La señal del PA falso será más intensa haciendo la trampa más eficaz y más creíble (la victima verá una señal alta y pensará que es efectivamente su red)

Desconectado

#4 06-09-2018 17:25:41

javierbu
Usuario

Registrado: 09-08-2018
Mensajes: 172

Re: PoC hostbase.rb RogueAP con WPA2 capturando WPS pbc

Saludos

koala escribió:

Se ve que has comprendido bien los pasos cool

smile

kolala escribió:

Deja me saber si quieres poner tu script en el git.

Acuerdate que al final solo porte el de airebase abierto. Y tampoco esta depurado. No se como vaya a responder el DoS activo que haces sin xterm. Si lo quieres te lo paso, pero no le veo mucho sentido. Muchas gracias.

kcdtv escribió:

¡Excelente! biere

  smile

kcdtv escribió:

La señal del PA falso será más intensa haciendo la trampa más eficaz y más creíble (la victima verá una señal alta y pensará que es efectivamente su red)

Yo diria que hay alguna ventaja mas al usar un router. A todos los efectos, es un portal legitimo, tanto en hadwate como en software. Eso hace que pase cualquier filtro de seguridad que pueda haber. En un dispositivo movil, no tardas mas de 2 segundos desde que te conectas, hasta que te salga el aviso de que tienes que iniciar en la red en la que te acabas de conectar. Eso creo que tambien le a;ade credibilidad.

Seria muy interesante poder llamar a la fake igual que la legitima, pero en ese caso windows "no se fia" de la pulsacion por boton, y te obliga a escribir la llave con una leyenda tipo "esto ha cambiado desde la ultima vez que estuviste por aqui".

Desconectado

#5 06-10-2018 13:34:42

<gorgi9250
Usuario

Registrado: 06-10-2018
Mensajes: 1

Re: PoC hostbase.rb RogueAP con WPA2 capturando WPS pbc

Hola javierbu! Gracias por el post.
Actualmente ando trasteando con una Raspberry Pi y estoy intentando lanzar el scrip PBC.sh de kcdtv en modo bucle pero siempre me da algun error de copilación o cada vez que se ejecuta me pide que vuelva a escribir la interface wifi. No soy programador, si pudieses explicar como lo hiciste estaria bien, gracias.

Ultima edición por <gorgi9250 (06-10-2018 13:52:57)

Desconectado

#6 17-10-2018 18:15:16

javierbu
Usuario

Registrado: 09-08-2018
Mensajes: 172

Re: PoC hostbase.rb RogueAP con WPA2 capturando WPS pbc

Hola javierbu! Gracias por el post.
Actualmente ando trasteando con una Raspberry Pi y estoy intentando lanzar el scrip PBC.sh de kcdtv en modo bucle pero siempre me da algun error de copilación o cada vez que se ejecuta me pide que vuelva a escribir la interface wifi. No soy programador, si pudieses explicar como lo hiciste estaria bien, gracias.

Hola. Lo primero una discupa por no haber respondido antes. Estaba de vacaciones, vacaciones totales.

No te puede dar ningun error de complilacion, ya que es bash script y no se compila.

Debes modificar y/o suprimir la parte donde pide la interface wifi, y poner una fija. La integrada de la rpi es completamente valida.

Para hacer el bucle, lo que hice fue un while 1 = 1 (siempre true) que lo que hace es lanzar una y otra vez wpa_cli esperando la pulsacion, y cuando atrapa una red, guarda los datos de la misma en una carpeta y reinicia el bucle. Muy sencillo.

El codigo ni lo guardé. Solo lo hice para la prueba de concepto y una vez hecha, lo desheché.

Desconectado

#7 19-10-2018 23:42:20

smk
Usuario

Desde: underground
Registrado: 10-09-2018
Mensajes: 3

Re: PoC hostbase.rb RogueAP con WPA2 capturando WPS pbc

Hola javierbu, en primer lugar gracias por el post, la verdad es que tiene muy buena pinta y está todo muy bien explicado, al leer el post me salieron unas dudas:
-En la primera foto "la caja de puros" veo que tienes la raspberry pi y a su alrededor tiene dos cajas, estas cajas son 2 powerbanks?
-Si usas powerbank podrías recomendar cuantos mAh necesitaría para suministrar energía a todos los dispositivos?
Un saludo

Desconectado

#8 19-10-2018 23:58:52

javierbu
Usuario

Registrado: 09-08-2018
Mensajes: 172

Re: PoC hostbase.rb RogueAP con WPA2 capturando WPS pbc

Hola smk. Gracias por tu comentario y me alegro que te guste el post.

(La caja es de tequila, no de puros)

En la foto solo hay un powerbank con 2 salidas usb, y es de 7800 miliA. Con este powerbank, consigo una autonomia de entre 1 y 4 horas, dependiendo de la carga que le este metiendo a la rpi.

El powerbank, desde un usb alimenta a la rpi, y desde el otro, alimenta un hub usb que es el que uso para conectar los usbs que necesite como el dongle 3G, o el dispositivo(s) wifi, gps, o lo que toque para lo que se pretenda hacer con la rpi.

Es bien importante que si vas a conectar mas de un dispositivo usb a la rpi, uses el hub y este sea alimentado aparte de la rpi. Es decir, que le estes suministrando energia al hub independiente de la rpi. De otra manera, la rpi no es seguro que funcione, ya que requerira mas energia de la que le llega.

Lo bueno del powerbank es que si lo tienes en el coche (o en casa), puedes alimentarlo con el mechero o cualquier cargador, por lo que la autonomia deja de ser un problema.

Si tienes una raspberry, te invito a que te pases por este post si quieres probar mi proyecto STAPi

En el foro https://www.wifi-libre.com/topic-1234-m … ry-pi.html
En github https://github.com/javierbu/stapi
Como todo, se agradecen dudas, reportes y sugerencias

Saludos!

Desconectado

Anuncio

nord_600_250

Temas similares

Tema Respuestas Vistas Ultimo mensaje
26 7671 15-03-2023 16:57:32 por kcdtv
Pegado:
34 3751 12-03-2023 18:24:22 por Guybrush92
Pegado:
Pegado:: Script multiuso wifi para Kali y otras distros por v1s1t0r  [ 1 2 3 18 ]
436 63507 07-03-2023 12:35:27 por kcdtv
0 404 23-02-2023 17:09:39 por kcdtv
Pegado:
114 258443 19-02-2023 17:36:14 por chuchof

Pie de página

Información del usuario

Ultimo usuario registrado: trdmexico
Usuarios registrados conectados: 0
Invitados conectados: 10

Estadisticas de los foros

Número total de usuarios registrados: 2,431
Número total de temas: 1,632
Número total de mensajes: 15,528

Máx. usuarios conectados: 373 el 30-09-2019 15:04:36