Ir a contenido

Scroll Indicator

Detección de piñas WiFi más fácil con Amec0e

La detección de piñas WiFi más fácil

PineScan & MultiSSID en acción con el FEBERIS PRO para su Flipper Zero

Introducción:

Hola a todos, Amec0e aquí y estamos de vuelta con otro artículo que puede ser un poco más corto que mis anteriores, pero hoy estoy emocionado de hablar de la FEBERIS PRO Por Sapsan mientras que también da a conocer dos nuevas características tanto para el Firmware FEBERIS PRO (koko tenedor) y el proyecto ESP32 Marauder por justcallmekoko

Además de una rápida demostración de las nuevas características, que he estado trabajando en este artículo, también hay un código de descuento al final se puede utilizar para sus pedidos FEBERIS Pro :)

¿Qué es FEBERIS Pro?

El FEBERIS Pro creado por Sapsan y distribuido oficialmente por LAB401 es un complemento fantástico para el Flipper Zero. Esta pequeña cosa contiene 2x Módulos de Radio CC1101 que cubren las frecuencias de 433MHz y 868MHz, un Módulo de Radio NRF24 para cosas como ratones y teclados vulnerables, un ESP32 con BLE y WiFi, con un Módulo GPS integrado para cosas como el wardriving con el Flipper Zero.

Viene con 4 antenas, todas ellas de 3dBi de ganancia, 2x 2.4GHz, 1x 433MHz y 1x 868MHz lo que da una bonita forma de onda horizontal. Los módulos C1101 SubGHz tienen un rango de frecuencia soportado de 300-348 MHz, 387-464 MHz y 779-928 MHz.

Ahora no vamos a ir sobre es el uso básico de las operaciones aquí, sin embargo puede encontrar más información sobre su uso básico aquí

Y también se puede comprar en LAB401 aquí.

¿Cuáles son estas nuevas características?

Las dos nuevas características que voy a demostrar son "pinescan" y "multissid" para detectar el WiFi Pineapple. Todas las pruebas para esto fueron hechas usando mi WiFi Pineapple MK7.

Ahora advertencia, esta característica no es un reemplazo para una adecuada WIDS como Kismet por ejemplo, ni es a prueba de tontos, pero sirve como un PoC para mostrar que la detección más simple se puede hacer en el Flipper Zero y ESP32 Boards como FEBERIS Pro. El Pineapple también es bueno en lo que hace.

Características de PineScan:

  • Detecta puntos de acceso Pineapple a través de una lista de vendedores OUI (SUSP_OUI).
  • Detecta Pineapple Spoofed AP Pool a través de parámetros etiquetados y capacidades (TAG+SUSP_CAP).
  • Extrae el Canal Correcto de la baliza (Esto es para evitar mostrar el canal incorrecto cuando se utiliza una antena más adecuada como la que tiene FEBERIS Pro).
  • Fácil de añadir más OUI's en un PR en Github, Puede contener hasta 20 MACs por vendedor.
  • Limita la salida de pantalla para evitar Spamming cuando tienes una piña WiFi transmitiendo 50 SSIDs (¡Sí, he hecho pruebas de estrés!).

Características de MultiSSID:

  • Detecta AP si un solo MAC emite 3 o más SSIDs (Esto incluye el SSID oculto).
  • Igual que Pinescan extrae el canal correcto de la baliza (Esto es para evitar mostrar el canal incorrecto cuando se usa el FEBERIS Pro).
  • Igual que Pinescan, limita la salida de la pantalla para evitar Spamming cuando tienes una piña WiFi emitiendo grandes cantidades de SSIDs.

Para resumir ambas fortalezas de cada escaneo:

MultiSSID - Bueno para casos extremos, más propenso a falsos positivos. Pinescan - Bueno para detectar WiFi Pineapple Spoofed Pool APs.

VIDEO DE DEMOSTRACIÓN DE CARACTERÍSTICAS

NOTA: Firmware utilizado fue Unleashed 081E, Marauder versión del firmware utilizado fue 1.4.6. Desde entonces ha habido una actualización que es probable que ya han compilado y subido para su descarga a continuación.

Los métodos de detección

Así que hay 3 detecciones principales entre dos nuevas opciones que hemos demostrado en el video de arriba. Estas son:

  • SUSP_OUI
  • Multi_SSID
  • TAG+SUSP_CAP

Cada una ha sido construida y probada usando un WiFi Pineapple MK7 con el OpenAP usando la pestaña de suplantación de identidad/Spoofed AP Pool en el WebUI.

SUSP_OUI - Esta es la primera comprobación que se hace y simplemente extrae los primeros 6 bytes (00:00:00) de la dirección MAC que comúnmente apunta a un fabricante específico. Para algunas OUI específicas también comprobamos si el bit de privacidad está a 0, lo que indicaría que el punto de acceso no está usando encriptación, si está a 1 entonces es un Punto de Acceso Protegido. Este es un método simple de comprobar, pero es bastante eficaz.

Actualmente esta es la lista de OUI's que está comprobando, su condición de detección de seguridad junto con el nombre del proveedor.

Proveedor: Alfa Inc. Condición: SUSPICIOUS_WHEN_OPEN OUI: 00:C0:CA

(WiFi Pineapple MK7) Vendedor: Orient Power Home Network Ltd Condición: SUSPICIOUS_ALWAYS OUI: 00:13:37

(WiFi Pineapple MK7) Proveedor: IEEE Registration Authority Condición: SUSPICIOUS_WHEN_OPEN OUI: 0C:EF:AF

(WiFi Pineapple Management OUIs Locally Administered) Proveedor: None Condición: SUSPICIOUS_WHEN_PROTECTED OUI: 02:C0:CA, 02:13:37

(WiFi Pineapple Nano) Proveedor: Shenzhen Century Xinyang Technology Co Ltd Condición: SUSPICIOUS_WHEN_OPEN OUI: 1C:BF:CE

Fabricante: MediaTek Estado: SUSPICIOUS_ALWAYS OUI: 00:0A:00, 00:0C:43, 00:0C:E7, 00:17:A5

Fabricante: Panda Wireless Inc : SUSPICIOUS_ALWAYS OUI: 9C:EF:D5, 9C:E5:D5

Proveedor: None Condición: SUSPICIOUS_ALWAYS OUI: DE:AD:BE

Esto también se puede añadir en el código fuente que publicaré con el artículo.

A continuación tenemos:

Multi_SSID - Esto mantiene una lista de todos los puntos de acceso vistos hasta 100, la lista se borra para hacer espacio para más APs. Toma el SSID completo y produce un hash y hace esto para cada dirección mac única vista, si una sola MAC tiene más de 3 hashes SSIDs (Incluyendo la red oculta) entonces se marca como un AP anunciando múltiples SSIDs desde una sola MAC.

La otra detección es:

TAG+SUSP_CAP - Utiliza una combinación de extracción de las Capacidades del Punto de Acceso y los Parámetros Etiquetados del Punto de Acceso desde la trama beacon. Si el punto de acceso tiene una capacidad de 0x0001 y tiene exactamente 2 Parámetros Etiquetados entonces esto dispara la detección TAG+SUSP_CAP.

El TAG+SUSP_CAP tomó un poco más de tiempo porque mientras que el Multi_SSID funcionaba muy bien, la desventaja es que si el usuario simplemente hace clic en "Randomize Source MAC". Bueno, entonces el Multi_SSID anterior ya no detectará la piña, así que de nuevo volví a examinar las tramas de baliza que la piña WiFi utiliza para difundir un gran número de APs cómodamente.

Vale la pena señalar que la opción de sniffer "pinescan" y "multissid" utilizan dos structs cada uno por lo que tiene un pool de rastreo AP general y un pool de rastreo AP confirmado. Esto permite que el escáner sólo muestre una única entrada de dirección MAC, así como borrar la lista de AP una vez llena para evitar que las listas crezcan demasiado más allá de sus límites establecidos.

La lista general de APs está configurada a 100 APs después de lo cual se borrará la lista de rastreo y le permitirá continuar escaneando en la misma sesión (verá un mensaje en el archivo de registro cuando esto ocurra y se borre). La lista confirmada también tiene un máximo de 100 APs.

Encontrando TAG+SUSP_CAP

Al principio me las arreglé para notar una ocurrencia común que no muchos puntos de acceso tenían, que es la bandera de capacidades establecida en 0x0001.

En la imagen de arriba, había 7,900 paquetes solo 5 fueron mostrados y solo de 3 Puntos de Acceso diferentes.

Esto ya era una fuerte indicación de que no muchos puntos de acceso utilizan comúnmente esa bandera de capacidad establecida, sin embargo no es 0. Esto significa que esto por si solo no puede ser usado como un método confiable para detectar múltiples Puntos de Acceso todos de diferentes Direcciones MAC como lo hace el WiFi Pineapple.

De 38.000 paquetes de un viaje de 1 hora, de todos los paquetes combinados había un total de 115 (no APs sino paquetes) que tenían la misma Capacidad 0x0001. Así que recopilé más datos y examiné alrededor de 19 pcaps diferentes, esto era más de 100.000 paquetes de diferentes partes del mundo (gracias a amigos por recopilar datos de balizas de diferentes países), de los cuales 20 APs usaban la misma capacidad de 0x0001. Sin embargo, esto seguía sin ser suficiente, así que volví a un paquete de piña.

Ahora sí, después de mirar la trama de balizas durante unos 20 minutos y un café (muy necesario) me di cuenta de algo bastante significativo, echa un vistazo a los parámetros etiquetados...

Sólo tiene dos parámetros etiquetados, SSID y Canal. Este es un paquete absolutamente básico para lanzar una gran cantidad de puntos de acceso sin ralentizar el Pineapple con sus limitados recursos. El 100% de los puntos de acceso que coincidían con el indicador de capacidad 0x0001 tenían MÁS de dos parámetros etiquetados en todos los casos.

Esto no quiere decir que no puedas crear una red extremadamente básica como esta, de hecho puedes hacer lo mismo con Marauder. Tiene un paquete básico que utiliza con una capacidad 0x0401 (por lo que no sería detectado por nuestro script de detección), pero también sólo lanza un parámetro etiquetado que si fuéramos a hacer la detección utilizando sólo Tagged (buscando si sólo hay 2 parámetros etiquetados) esto activaría la detección. Sin embargo, sólo porque usted puede lanzar un punto de acceso con un esp32 con la información mínima no significa que sea malicioso. Podría ser simplemente para hacerlo tan eficiente y ligero como sea posible sin dejar de ofrecer al usuario la funcionalidad que necesita.

Así que si has llegado hasta aquí empezarás a hacerte una idea de lo que realmente estaba tratando de hacer, que era ser eficiente en memoria, reducir los falsos positivos y apuntar a un dispositivo específico como el WiFi Pineapple, y esta es la razón por la que incluimos la bandera de capacidad sospechosa que no se puede cambiar con facilidad en el MK7.

En cualquier caso, los falsos positivos que puede encontrar serán probablemente de SUSP_OUI y el MULTI_SSID. Si ves TAG+SUSP_CAP en PineScan es un fuerte indicio de un WiFi Pineapple usando el Spoofed AP Pool. Aunque esto también podría ser un falso positivo porque, como se ha mencionado, cualquiera puede crear un punto de acceso como este. Aunque es muy poco común usar sólo dos parámetros etiquetados y una capacidad 0x0001.

Algunas detecciones como MULTI_SSID y SUSP_OUI podrían detectar algunos casos extremos fuera de WiFi Pineapple. Estos tipos de detecciones combinadas, además de muchas más, se pueden hacer con facilidad usando algo más potente que el Flipper Zero y un ESP32 y normalmente cuando se usa un WIDS, es en algo más potente para realizar ese tipo de análisis en tiempo real muy rápidamente. Sin embargo este PoC muestra que hay otras formas en las que podemos detectar ciertos tipos de ataques usando pequeñas diferencias entre el WiFi Pineapple y un Punto de Acceso Inalámbrico comprado por el consumidor.

NOTA: Puedes incluso comprobar tu mismo otros pcaps que tengas en wireshark usando

wlan.fc.type_subtype == 0x0008 && wlan.fixed.capabilities == 0x0001

Luego organizando por la longitud de paquete más baja primero y comprobando los parámetros etiquetados tal y como hacemos arriba.

Vale, pero ¿qué no puede hacer?

Bueno, ¡me alegro de que preguntes! El WiFi Pineapple es bueno en lo que puede hacer y tenemos algunas limitaciones con estos métodos de detección. Algunas de estas limitaciones son:

EvilWPA No puede detectar el EvilWPA - El EvilWPA es difícil de automatizar la detección de porque esto puede imitar el punto de acceso real, incluso hasta la dirección MAC exacta y la contraseña (si la conoce), incluso si está utilizando una lista de puntos de acceso gestionados que le permite especificar lo que debería estar viendo a su alrededor VS lo que está viendo a su alrededor, esto todavía no es lo suficientemente eficaz por sí mismo.

Como usuario podemos decir visualmente las diferencias si estamos viendo algo como Kismet, por ejemplo, mi red es toda la seguridad WPA3 y el WiFi Pineapple MK7 sólo puede utilizar WPA2 o inferior. Así que para mí esto es una bandera roja fácil de ver nada más que WPA3 para mi red.

Para utilizar una lista de puntos de acceso gestionados con el Flipper Zero aumentará el tiempo de procesamiento por la constante necesidad de leer la lista o comparar con una lista que se descarga a la memoria, sin embargo, cuanto mayor sea la lista más lento será y más memoria se utiliza en el ESP32. También tendrá que estar inmóvil para que funcione.

Esto no quiere decir que no se puede hacer, y esto probablemente tendría que ser el único método de detección para ayudar realmente a hacer esto tan eficaz y tan eficiente de la memoria como sea posible. Aunque esto todavía puede ser una buena manera de hacerlo aunque no es la ruta que elegí yo mismo porque no ayudaría si replica una MAC permitida. Para localizar esto en la naturaleza por lo general resulta en una caza del zorro para localizar el dispositivo de difusión físicamente por la intensidad de la señal.

OpenAP(No Spoofed AP Pool) No se puede detectar OpenAP - sin el uso de una OUI ofensiva, este punto de acceso por sí mismo no puede ser detectado como un Pineapple con la forma en que detectamos. Esto se debe a que funciona y parece un punto de acceso abierto legítimo y tiene todos los parámetros y capacidades etiquetados que utiliza cualquier punto de acceso de consumidor abierto o protegido normal.

Intervalos de baliza No se puede detectar por intervalos de baliza a partir de una trama de baliza - Esto se debe a que el INTERVALO DE BALIZAS en el WiFi Pineapple está configurado en BAJO, NORMAL o ALTO y en todos los casos seguirá informando en la trama de baliza del intervalo de 102,4ms. La única forma de que esto ocurra es que el propio Flipper rastree el tiempo entre cada baliza que ve en lugar de leer los intervalos de baliza del propio paquete.

Discrepancias en la Intensidad de la Señal No puede detectar discrepancias en la intensidad de la señal, como por ejemplo ver regularmente -50 RSSI y luego -30 RSSI y luego volver al rango de -50 y fluctuar consistentemente alrededor de esa intensidad. Te darías cuenta de esto muy fácilmente si estás monitoreando las ondas y estás completamente estático y nada a tu alrededor está interfiriendo con la intensidad de la señal.

Esto también causaría una gran cantidad de falsos positivos si usted está en movimiento durante la detección, ya que verá los aumentos y disminuciones de la intensidad de la señal con regularidad de movimiento (que, por supuesto, el Flipper y FEBERIS Pro es sólo eso, la plataforma móvil).

Instrucciones de flasheo

Flashing a la ESP32S2 o Developers Board utilizando el ESP Flasher App:

Para flashear un ESP32S2 utilizando ESP flasher en Momentum o Unleashed necesitará el siguiente Bootloader y Tabla de Particiones. También necesitará los bins de firmware que se encuentran debajo de las instrucciones que aparecen aquí.

  1. En primer lugar tenemos que hacer un nuevo directorio en la tarjeta SD > apps_data > esp_flasher > S2bins entonces podemos poner el bootloader.bin y partitions.bin en esta nueva carpeta en el Flipper Zero utilizando qFlipper una vez que se hace, a continuación, desconecte el Flipper desde el PC.

  2. A continuación conectamos la placa ESP32S2 o Developers Board al Flipper Zero, una vez conectada reiniciamos el Flipper Zero.

  3. A continuación, navegue hasta la aplicación ESP Flasher.

Para Momentum es: Apps > GPIO > ESP > ESP Flasher

Para Unleashed es: Apps > GPIO > ESP Flasher

  1. A continuación, desplácese hasta la parte inferior de la ESP Flasher y verá "Enter Bootloader", pulse esto y luego pulse el botón Atrás una vez.

  2. Desplázate hasta "Manual Flash" y pulsa en el centro.

  3. Selecciona "Bootlader (0x1000)" y selecciona nuestro Bootloader en el directorio S2Bins.

  4. Luego selecciona "Part Table (0x8000)" y ve al directorio S2bins y selecciona "Partitions".

  5. Ahora selecciona "FirmwareA (0x10000)" y luego selecciona el custom firmware.

  6. Desplácese hasta la parte inferior y seleccione "Flash - fast" y espere a que termine de escribir.

  7. Reinicie el Flipper después de que haya flasheado y después de que haya salido de la aplicación ESP Flasher y ya está.

Flasheo al FEBERIS Pro usando la aplicación ESP Flasher:

Los pasos aquí son los mismos excepto no seleccionar los archivos del cargador de arranque o la tabla de particiones (Pasos 1, 6 y 7).

  1. A continuación conectamos la ESP32S2 o la Developers Board al Flipper Zero, una vez conectada reiniciamos el Flipper Zero.

  2. Navegue hasta la aplicación ESP Flasher.

En Momentum es: Apps > GPIO > ESP > ESP Flasher

En Unleashed es: Apps > GPIO > ESP Flasher

  1. A continuación, desplácese hasta la parte inferior de la ESP Flasher y verá "Enter Bootloader" pulse esto y luego pulse el botón Atrás una vez.

  2. Desplázate hasta "Manual Flash", pulsa el centro.

  3. Ahora selecciona "FirmwareA (0x10000)" y luego selecciona el custom firmware.

  4. Desplácese hasta la parte inferior y seleccione "Flash - fast" y espere a que termine de escribir.

  5. Reinicie el Flipper después de que se haya flasheado y después de que haya salido de la aplicación ESP Flasher y ya está.

NOTA: Es importante que espere unos segundos y reinicie el Flipper Zero después de haber conectado el ESP32.

Firmware, FAP y Código Fuente

Firmware:

Pinescan y MultiSSID están ahora fusionados en la versión 1.6.0 del Firmware oficial de ESP32Marauder. Esto significa que ahora puede descargar el firmware merodeador directamente desde justcallmekoko e instalar y flashear utilizando las instrucciones aquí o como lo haría normalmente.

FAP:

El FAP se actualiza tanto en momentum como en unleashed latest dev build por lo que puedes simplemente descargar e instalar un dev build de cualquiera de los dos firmwares (asumiendo que también actualizaste marauder a 1.6.0 o superior) y tendrás las nuevas opciones disponibles. No es necesario descargar el firmware o FAPs vinculados en este artículo.

Código fuente:

Esto ha sido fusionado en el firmware oficial ESP32Marauder. Puede ver la solicitud PR [aquí] que contiene el código fuente.

Resumen:

Hoy hemos visto las dos nuevas opciones de sniffer, así como algunas pequeñas diferencias sutiles que el WiFi Pineapple utiliza en comparación con un punto de acceso legítimo. Así como cubierto los métodos de detección y lo que están buscando junto con las instrucciones de flasheo para los firmwares y faps.

En última instancia, con las nuevas opciones "pinescan" y "multissid" en el submenú sniffer pueden ser una buena manera de detectar un WiFi Pineapple sólo cuando está utilizando su Spoofed AP Pool. Esto se debe a que cuando se ejecuta sin usar el Spoofed AP Pool parece y funciona como una Red Abierta legítima.

Aunque es común falsificar los nombres de redes de 2.4GHz y 5GHz separadas (XYZ_2G y XYZ_5G) para hacerles creer que se están conectando a su red de 5GHz cuando en realidad se estarán conectando a una red Abierta de 2.4GHz.

El emparejamiento con el FEBERIS Pro ha sido fantástico, ya que la antena inalámbrica de 2,4 GHz de 3 dBi de ganancia me ha dado mucho más alcance que el que tenía antes con una Flipper Dev Board.

Y aún no he llegado a probar los otros 3 módulos de radio incorporados. Esto es lo que hace que esta herramienta sea increíblemente versátil.

Me gustaría dar las gracias a todos los que han contribuido a las pruebas y a la recopilación de datos de balizas en todos los ámbitos, desde el residencial hasta el empresarial. Espero que hayáis disfrutado con el artículo, el vídeo y las nuevas funciones tanto como yo escribiéndolo, grabándolo y programándolo.

Si te apetece hacerte con uno para ti o para un amigo, puedes utilizar mi código de descuento: AMEC0E en LAB401 para obtener un 5% de descuento.

Descargo de responsabilidad

Mantenimiento y mejoras del código:

Al igual que con cualquier nueva característica, puede haber problemas que no se encontraron durante las pruebas o puede ser debido a un descuido de mi parte. Por lo tanto, el firmware, FAPs, y el código fuente se proporcionan "TAL CUAL" sin ninguna garantía. Ni yo (amec0e) ni LAB401 seremos responsables de cualquier problema o daño resultante del uso de estos firmwares o FAPs. Además, nosotros (amec0e y LAB401) no proporcionaremos soporte, mantenimiento o futuras mejoras para el firmware o FAPs (Flipper Application Packages).

Uso del Firmware: Ni yo (amec0e) ni LAB401 seremos responsables de cualquier mal uso o consecuencias no deseadas resultantes del uso del firmware o FAPs proporcionados. Estos se distribuyen "TAL CUAL" y se utilizan enteramente BAJO SU PROPIO RIESGO.

Responsabilidad legal: Usted es el único responsable de cumplir todas las leyes y normativas locales aplicables. No nos responsabilizaremos de las consecuencias legales derivadas de su incumplimiento. Estos firmwares y FAP se proporcionan únicamente con fines educativos y de investigación.

Recursos

Hoja de datos del C1101 - https://www.ti.com/lit/ds/symlink/cc1101.pdf

Documentación de Feberis Pro - https://sapsan-docs.com/brands/sapsan/feberis-pro/docs/

Firmware de Feberis Pro - https://github.com/bpmcircuits/ESP32Marauder

Actualización del firmware de Feberis Pro - https://www.youtube.com/watch?v=Gl7nSpI6l3w

Artículo anterior Conoce tus cartas mágicas
Artículo siguiente LightMessenger : Profundización en depuración con Derek

Dejar un comentario

Los comentarios deben ser aprobados antes de aparecer

* Campos requeridos