jueves, febrero 04, 2021

Proyecto Maquet: El vídeo de la presentación y la entrevista en La Ventana

Ayer fue el día que elegimos para tener el debate de presentación del Proyecto Maquet que hemos realizado en el equipo de Ideas Locas en colaboración con Arturo Pérez-Reverte. La idea era crear una herramienta que utilizara Inteligencia Artificial para ayudarnos a copiar el estilo que utiliza el autor en las novelas del Capitán Alatriste.
En el artículo de mi sección en Zenda Libros de "El futuro está por hackear", publiqué un poco del proceso creativo que seguimos para hacer este trabajo del Proyecto Maquet, pero en breve haré una charla en la que lo explicaré en más detalle. No obstante, para poder entender en qué consiste el proyecto, primero pasé por la La Venta de Cadena Ser con Carlos Francino y su equipo y hablamos un poco de él.


Y luego, Karina Sainz Borgó orquestó un debate entre Arturo Pérez-Reverte, Salvador Larroca, el público y yo mismo, para reflexionar sobre lo que hemos hecho, cómo lo hemos hecho, y los debates que se pueden abrir en el futuro.



Para que entendáis cómo funciona el proceso, os dejo solo el primer párrafo de "La Noche de los Cuchillos", donde tenemos el texto original, que lo escribí yo mismo. Sé que no soy un gran escritor, pero os prometo que puse lo mejor de mi mismo.

"Las callejuelas de Madrid no son lugar para perderse a según qué horas. Maleantes, viejos soldados saliendo de las mancebías y cuchilleros a sueldo con muchas damajuanas a cuesta y pocas mujeres que los hayan calmado dispuestos a hacer un trabajo gratis por mantenerse en el negocio, o malandrines de poca monta a la búsqueda de una bolsa que pueda sonar algo, son motivaciones que no hay que desdeñar para que a uno le corten la golilla."

Este párrafo, calificado por Maquet, nos dice que hay pocas palabras "Revertizadas" en este texto. No se trata solo de las palabras, sino de las construcciones, los órdenes y cómo aparecen en cada una de las frases. 

Figura 4: Maquet evalúa lo "revertizado" que está el texto

Seleccionando cada palabra "azul" en la herramienta, Maquet nos da una lista de palabras "Revertizas" que según la Inteligencia Artificial enseñada, encajarían con el estilo de Arturo Pérez-Reverte en las novelas del Capitán Alatriste. Por cada palabra "azul", nos da las recomendaciones.

Figura 5: Maquet sugiere palabras revertizadoras y su impacto (colores)

Una vez que tenemos el texto "Revertizado", tendremos muchas palabras en "verde", que encajan con el estilo que se está intentando emular. 

Figura 6: Párrafo "Revertizado" evaluado por Maquet

El resultado final de ese párrafo, sería el que tenéis a continuación, y que como veis queda muy distinto. 

Las callejuelas de Madrid no son lugar para acuchillarse a estas horas. Espadachines, soldados de acero abrochándose a la vez que huyen de las mancebías, cuchilleros a maravedíes con restos de damajuanas en el cuerpo y escasas mujeres que los hayan sosegado, que hasta a hacerlo en gratitud por benevolencia con el arte están a la orden, o gentuza sin clase a la búsqueda de una bolsa con algo de oro, son gajes a comprobar para no llamarse al cielo, o al infierno, por la golilla.

No es que la Inteligencia Artificial escriba el texto, ni es que Arturo Pérez-Reverte lo hubiera escrito así, es simplemente el texto original de una persona - en este caso yo mismo - con una corrección de estilo usando IA que emule el estilo de las novelas del Capitán Alatriste.

Saludos Malignos,


miércoles, febrero 03, 2021

OpenWifiPass: Hacking iPhones con WiFi Sharing Protocol

En el artículo de hoy vamos a hablar de OpenWifiPass, que es una prueba de concepto que se ha publicado recientemente y está ligada con los trabajos “Wi-Fi Sharing for All: Reverse Engineering and Breaking the Apple Wi-Fi Password Sharing Protocol” y “Disrupting Continuity of Apple’s Wireless Ecosystem Security: New Tracking, DoS, and MitM Attacks on iOS and macOS Through Bluetooth Low Energy, AWDL, and Wi-Fi” centrados en analizar el uso que Apple hace las tecnologías BLE

Figura 1: OpenWifiPass: Hacking iPhones con WiFi Sharing Protocol

En el pasado en Ideas Locas ya tomamos una investigación similar, la popular apple_bleee, como base para crear Airdrop Crazy y añadirlo a la lista de herramientas y utilidades para usar en cualquier proyecto de Hacking iOS: iPhone & iPad, y en este caso esta PoC se basa en las dos citadas, además de utilizar el mismo conjunto de protocolos.
Hoy hablaremos del proyecto OpenWifiPass el cual permite escanear en busca de peticiones Bluetooth de dispositivos iPhone/iPad que están solicitando contraseña de WiFi para conectarse a una red. Esta es una característica de los dispositivos de Apple que si tienes un iPhone, seguramente la hayas utilizado en algún momento. Imagínate que estás en casa de un amigo y en vez de darte la contraseña para que la introduzcas, tu iPhone solicita que le compartan la contraseña de la WiFi al dueño de la casa, que también tiene un iPhone.

Figura 3: Opción de compartir la clave de la WiFi en iPhone

Como se indica en el Github del proyecto de OpenWifiPass es una prueba experimental de ingeniería inversa del proyecto Open Wireless Link. El código se proporciona con fines de investigación y educativos. Como prueba de concepto que es el proyecto no ha sido probado y está incompleto, aunque funcional para la prueba de concepto. ¿Qué es incompleto? Realmente el código no verifica la identidad del solicitante de la contraseña a través del protocolo.

Requisitos para probar el proyecto

Los requisitos para probar el proyecto son pocos, nos vale con tener a mano una Raspberry Pi 4 y disponer de Raspbian o cualquier distro GNU/Linux que ejecutemos en una Raspberry. Desde el punto de vista de dependencias se hará uso de bluepy, pero el proceso de instalación es realmente sencillo, por lo que no habrá problemas. El código de la herramienta está escrito en Python.

Figura 4: "Raspberry Pi para Hackers & Makers: PoCs & Hacks Just For Fun"
de Amador Aparicio, Pablo Abel Criado y Héctor Alonso

El hacerlo con Raspberry es por darle un toque "maker" y hacerlo "portable" y porque tiene el adaptador de Bluetooth integrado y va a ser rápido montar el proyecto, pero podría hacerse en cualquier entorno con un adaptador Bluetooth compatible. El adaptador debe poder utilizar Bluetooth Low-Energy.


¿Cómo instalamos el proyecto? Este paso es uno de los más sencillos, para el tipo de herramientas o pruebas de concepto con los que nos movemos generalmente. Lo primero será hacer el git clone del proyecto y, posteriormente, ejecutar la siguiente instrucción pip3 install ./openwifipass. La instalación es bastante rápida y nos prepara un módulo llamado openwifipass. Para la ejecución de la herramienta debemos ejecutar la instrucción:

sudo -E Python3 -m openwifipass --ssid [nombre SSID de la rea a compartir contraseña WiFi] --psk [contraseña que se quiere enviar al dispositivo].

Cuando lo arrancamos, veremos que se queda en “Start Scanning” un rato, y parece que no ocurre nada. Esto es normal, ya que debemos esperar a que desde un iPhone/iPad nos soliciten la contraseña WiFi de una red conocida. Nosotros, en el ejemplo, estamos ofreciendo la red bit_up, por lo que cuando un iPhone/iPad en nuestro alcance, intente conectarse a la red se produce el intercambio de información.

Figura 6: Arrancando OpenWifipass 

Nos estamos haciendo pasar por un dispositivo de Apple y estamos negociando y entregando la contraseña WiFi que el usuario quiere, y en el momento en que algún dispositivo se quiera conectar a la red, se entrega la password que hemos decidido nosotros.

Figura 7: Un dispositivo ha pedido la password y se la hemos entregado

Mientras tanto en el dispositivo móvil encontramos lo siguiente, la contraseña se configura automáticamente y se conecta contra la red WiFi. En la imagen no se visualiza, pero en el apartado de “contraseña” faltarían los puntos de la contraseña introduciéndose y conectando con la red.

Figura 8: Contraseña entregada al iPhone

La prueba de concepto está genial. El trabajo es brillante y todos los detalles de la investigación se irán publicando por parte de sus investigadores, pero lo que nos queda claro es que es más que utilizable, por ejemplo, en un ejercicio de Red Team en múltiples escenarios. Pongamos que necesitamos ganar acceso a un sitio o conseguir información de un objetivo concreto, dentro del ejercicio de Red Team

Figura 9: El Red Team de la empresa
de Eduardo Arriols en 0xWord

El montaje de una red WiFi a través de un punto de acceso bajo nuestro control - un Rogue AP - con el SSID de “nombre_empresa” puede ser llamativo para muchos. En el momento que el usuario intente conectarse desde iOS, tendríamos montado la rasp con la PoC y le proporcionaríamos la contraseña al usuario. En ese instante, el usuario se conecta a nuestro punto de acceso WiFi y toda su comunicación pasa por nosotros en un esquema de Man in the middle. El esquema y el ataque mola, muy aprovechable en un ejercicio de Red Team, pero eso lo dejamos para otro artículo.

Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares