— proyecto de una navaja multiherramienta basada en Raspberry Pi Zero para pruebas de penetración en IoT y sistemas de control de acceso inalámbrico. También es un tamagotchi, donde vive un delfín cibernético. Tendrá las capacidades de:
- Operar en la frecuencia de 433 MHz — para investigar controles remotos, sensores, cerraduras electrónicas y relés.
- NFC — leer/escribir y emular tarjetas ISO-14443.
- 125 kHz RFID — leer/escribir y emular tarjetas de baja frecuencia.
- Llaves iButton — leer/escribir y emular llaves de contacto que operan mediante el protocolo 1-Wire.
- Wi-Fi — para verificar la seguridad de redes inalámbricas. El adaptador soporta inyecciones de paquetes y modo monitor.
- Bluetooth — se soporta el paquete bluez para Linux
- Modo Bad USB — puede conectarse como USB-esclavo y emular un teclado, adaptador ethernet y otros dispositivos, para inyección de código o pruebas de penetración en red.
- ¡Tamagotchi! — el microcontrolador de bajo consumo funciona cuando el sistema principal está apagado.
Estoy emocionado de presentar mi proyecto más ambicioso, una idea que he estado desarrollando durante muchos años. Es un intento de combinar todas las herramientas comúnmente necesarias para pruebas de penetración física en un solo dispositivo, mientras le agrego personalidad para que sea adorable hasta el extremo. En este momento, el proyecto se encuentra en la fase de I+D y aprobación de funcionalidades, y invito a todos a participar en la discusión de funciones o incluso en el desarrollo. Más abajo se encuentra una descripción detallada del proyecto.
¿Por qué es necesario?
Me encanta explorar todo a mi alrededor y siempre llevo conmigo diferentes herramientas para ello. En mi mochila tengo: adaptador WiFi, lector NFC, SDR, Proxmark3, HydraNFC, Raspberry Pi Zero (por lo que a veces tengo problemas en el aeropuerto). No es tan fácil manejar todos estos dispositivos en movimiento, cuando tienes una taza de café en una mano o vas en bicicleta. Hay que detenerse, desplegar, sacar la computadora — no siempre es conveniente. He soñado con un dispositivo que implemente escenarios típicos de ataque, que esté siempre listo para la acción y que no sea solo un montón de placas desmoronadas unidas con cinta aislante.
Raspberry Pi Zero W con escudo de batería UPS-Lite v1.0 como un fludero autónomo para enviar imágenes a dispositivos Apple a través de AirDrop. Recientemente, tras la publicación de una implementación abierta del protocolo AirDrop y la investigación de los chicos de HexWay sobre las vulnerabilidades de iOS , com un nuevo método de entretenimiento: conocer gente en el metro, enviándoles imágenes a través de AirDrop y recopilando sus números de teléfono. Luego quise automatizar este proceso y construí una máquina de fotos autónoma con Raspberry Pi Zero W y una batería. Este tema merece un artículo aparte, el cual no he podido terminar. Todo estaría bien, pero este dispositivo era extremadamente incómodo de llevar, no se podía meter en el bolsillo, porque las astillas de soldadura rasgaban la tela de los pantalones. Intenté imprimir la carcasa en una impresora 3D, pero no me gustó el resultado.
Un agradecimiento especial a Anya a la responsable del canal de Telegram quien a mi petición escribió un bot de Telegram , que genera imágenes con texto, un nick de Telegram y la proporción correcta, de tal manera que se muestran completamente en la vista previa al enviar a través de Airdrop. Se puede generar rápidamente una imagen adecuada para la situación, se ve .
Pwnagotchi concluido con pantalla e-ink y escudo de batería. Luego vi un proyecto impresionante . Es como un tamagotchi, pero en lugar de comida, consume WPA handshakes y PMKID de redes Wi-Fi, que luego se pueden romper en granjas de GPU. Me gustó tanto este proyecto que pasé varios días paseando con mi pwnagotchi por las calles, viendo cómo se alegraba con su nuevo botín. Pero tenía los mismos problemas: no se podía meter decentemente en un bolsillo, no tenía controles, así que cualquier entrada del usuario solo era posible desde el teléfono o la computadora. Y entonces finalmente comprendí cómo veía el multijugador ideal que me faltaba. Escribí sobre esto y a mis amigos diseñadores industriales, que crean dispositivos electrónicos serios, les gustó la idea. Propusieron crear un dispositivo completo, en lugar de un bricolaje improvisado. Con producción de fábrica real y piezas de calidad bien ajustadas. Comenzamos a buscar un concepto de diseño. Hacible de clicar. Primeras bocetos del diseño de Flipper Zero. Se ha dedicado mucho tiempo al cuerpo y diseño, porque estoy cansado de que todos los dispositivos de hacking se vean como un montón de PCB envueltos en cinta aislante y sean difíciles de usar. La tarea era idear un cuerpo lo más cómodo y compacto posible, y un dispositivo que se pudiera utilizar fácilmente de manera autónoma sin computadora o teléfono, y esto es lo que se logró. A continuación se describe la situación actual. no final concepto del dispositivo.
Qué es Flipper Zero
En esencia, Flipper Zero es varios escudos y una batería alrededor de un Raspberry Pi Zero, empaquetados en una carcasa con pantalla y botones. Se utiliza Kali Linux como sistema operativo, ya que contiene todos los parches necesarios y de fábrica es compatible con rpi0. Miré muchas computadoras de placa única diferentes: NanoPi Duo2, Banana Pi M2 Zero, Orange Pi Zero, Omega2, pero todas son inferiores a rpi0 y aquí está el porqué:
- Adaptador Wi-Fi incorporado que soporta modo monitor e inyecciones de paquetes ( parches)
- Bluetooth 4.0 incorporado
- Antena de 2.4 GHz suficientemente buena
- P4wnP1 A.L.O.A.
- Seguramente muchos dirán que Raspberry Pi no es la mejor opción para tal dispositivo y encontrarán muchos argumentos, como un alto consumo de energía, la falta de modo de suspensión, hardware no abierto, etc. Pero al comparar todos los pros y contras, no encontré nada mejor que rpi0. Si tienes algo que decir al respecto, bienvenido al foro de desarrolladores
forum.flipperzero.one .
Flipper Zero es completamente autónomo y puede ser controlado mediante un joystick de 5 posiciones sin dispositivos adicionales, como una computadora o un teléfono. Desde el menú se pueden invocar escenarios de ataque típicos. Por supuesto, no todo se puede hacer con el joystick, por lo que para un mayor control se puede conectar por SSH a través de USB o por Wi-Fi/Bluetooth. He decidido utilizar una pantalla LCD monocromática de estilo retro con una resolución de 126x64px, similar a las antiguas teléfonos Siemens. Primero, es simplemente genial, la pequeña pantalla monocromática con retroiluminación naranja me causa una indescriptible alegría, un verdadero retro-militar-ciberpunk. Se ve perfectamente a plena luz del sol y tiene un consumo de energía muy bajo, alrededor de 400uA con la retroiluminación apagada. Por lo tanto, se puede mantener en modo Siempre Activado y siempre mostrar una imagen. La retroiluminación solo se encenderá al presionar las teclas.
Ejemplos de pantallas en teléfonos Siemens. Tales pantallas todavía se fabrican para diversos dispositivos industriales y cajas registradoras. Actualmente hemos elegido .
Puertos de Flipper Zero. En los bordes, Flipper Zero cuenta con puertos estándar de Raspberry Pi, un botón de encendido/retroiluminación, un orificio para la correa y un puerto de servicio adicional, a través del cual se puede acceder a la consola UART, cargar la batería y cargar un nuevo firmware.
Transmisor de 433 MHz

Flipper tiene una antena incorporada en 433 MHz y un chip , para funcionar en el rango <1GHz, el mismo que en el popular dispositivo . Puede interceptar y analizar señales de mandos a distancia, llaveros, diversos enchufes inteligentes y cerraduras. Soporta trabajar con la biblioteca y puede decodificar, guardar y reproducir códigos populares de mandos, similar a un . En los casos en que Raspberry Pi no puede procesar la señal a tiempo, el microcontrolador integrado puede controlar el funcionamiento del CC1111. En modo Tamagotchi, Flipper puede comunicarse con otros similares y mostrar sus nombres, como lo hace pwnagotchi.
Bad USB
Flipper puede emular dispositivos USB esclavos y hacerse pasar por un teclado para cargar payloads, similar a . También puede emular un adaptador ethernet para suplantar DNS, un puerto serie, etc. Para Raspberry Pi hay un marco listo que implementa varios tipos de ataques. El escenario de ataque necesario se puede seleccionar desde el menú con el joystick. A su vez, puede mostrarse información de depuración sobre el estado del ataque o algo inofensivo para disfrazarlo.
WiFi
El adaptador Wi-Fi integrado en Raspberry Pi no soporta inicialmente el modo monitor de inyección de paquetes, pero hay , que añaden esta función. Para algunos tipos de ataques se necesitan dos adaptadores Wi-Fi independientes. La dificultad radica en que casi todos los chips Wi-Fi se conectan por USB, y no podemos ocupar el único USB en rpi0, de lo contrario se romperá el modo USB Slave. Por lo tanto, es necesario utilizar la interfaz SPI o SDIO para conectar el adaptador Wi-Fi. No conozco ningún chip así que soporte el modo monitor y la inyección de paquetes de forma nativa, y que no se conecte por USB. Si conoces uno, por favor indícalo en el foro en el tema
NFC
El módulo NFC puede leer/escribir todas las tarjetas ISO-14443, incluyendo Mifare, tarjetas bancarias sin contacto PayPass/PayWave, ApplePay/GooglePay, entre otros. Es compatible con la biblioteca LibNFC. En la parte inferior del Flipper hay una antena de 13.56 MHz, y para trabajar con la tarjeta basta con colocarla encima. Actualmente, queda abierto el tema de la emulación de tarjetas. Me gustaría tener un emulador completo como , pero también querría tener la posibilidad de trabajar con LibNFC. No conozco opciones de chips mejores que el NXP PN532, pero este no puede emular tarjetas de forma completa. Si conoces una opción mejor, escríbelo en el tema
125kHz RFID
Las antiguas tarjetas de baja frecuencia de 125 kHz todavía se utilizan ampliamente en porteros automáticos, pases de oficina, etc. En el lado del Flipper hay una antena de 125 kHz, puede leer tarjetas EM-4100 y HID Prox, almacenarlas en memoria y emular tarjetas guardadas anteriormente. También se puede transferir el ID de la tarjeta para emulación a través de Internet o escribirlo manualmente. De esta manera, los propietarios del Flipper pueden intercambiar tarjetas leídas de forma remota. Genial.
iButton
iButton es un tipo antiguo de llaves de contacto que todavía son populares en la CEI. Funcionan con el protocolo 1-Wire y no tienen medios de autenticación, por lo que pueden ser fácilmente leídos. Flipper puede leer estas llaves, almacenar el ID en su memoria, grabar el ID en soportes y emular la llave de tal manera que se puede presentar al lector como una llave. Modo lector (1-wire master)
En este modo, el dispositivo funciona como un lector de puertas. Al acercar la llave a los contactos, Flipper lee su ID y lo guarda en la memoria. En este mismo modo, se puede grabar el ID almacenado en un soporte.Modo emulación de llave (1-wire slave)
Las llaves almacenadas se pueden emular en el modo 1-wire slave. Flipper actúa como la llave y se puede presentar al lector. La principal dificultad fue idear una construcción de la almohadilla de contacto que pudiera ser utilizada tanto como lector como llave. Encontramos una forma, pero estoy seguro de que se puede hacer aún mejor, y si sabes cómo, propón tu versión en el foro en el tema.
Bluetooth
Adaptador Bluetooth integrado en Raspberry Pi. Por supuesto, no puede reemplazar dispositivos como , pero es completamente compatible con la biblioteca bluez, puede usarse para controlar Flipper desde un smartphone o para varios ataques a bluetooth como , que permite recoger sha256 de los números de teléfonos móviles vinculados a Apple ID, así como controlar varios dispositivos IoT.
Microcontrolador de bajo consumo
Dado que Flipper es demasiado genial como para apagarlo, decidimos incluir un microcontrolador separado de bajo consumo que funcionará cuando Raspberry Pi esté apagado. Este controlará Tamagotchi, supervisará el proceso de arranque de Raspberry Pi hasta que esté listo para manejar la pantalla y gestionará la alimentación. También dirigirá el chip CC1111 para comunicarse con otros Flippers.
Modo Tamagotchi
Flipper es un delfín cibernético hacker, maestro de todos los elementos digitales. Cuando Raspberry Pi está apagado, pasa al modo Tamagotchi, donde se puede jugar y hacer amigos en la frecuencia de 433 MHz. En este modo, es probable que algunas funciones NFC estén parcialmente disponibles.
El personaje se basa en un delfín de la película que ayudó a hackear la mente de Keanu Reeves y con su radiación desintegró a los malos. Los delfines tienen un generador de frecuencias incorporado, con el que exploran todo lo que les rodea, así como una necesidad innata de entretenimiento y curiosidad natural. Necesitamos a alguien que pueda idear la personalidad del delfín, todo el diseño del juego en general, desde las emociones hasta los mini-juegos. Todas sus ideas al respecto se pueden escribir en la sección correspondiente.
Acerca de mí
Me llamo Pavel Zhivner, vivo en Moscú. En este momento estoy dirigiendo el . Desde niño me gusta explorar profundamente todo lo que me rodea: la naturaleza, la tecnología, las personas. Mi especialidad principal son las redes, el hardware y la seguridad. Intento nunca usar la palabra 'hacker', porque gracias a los medios, ha perdido su valor completamente. Me gusta llamarme 'nerd', ya que es un término más honesto y sin pompa que revela la esencia. En la vida valoro a las personas apasionadas que se involucran emocionalmente en lo que les interesa, quienes también se pueden llamar sin duda nerds. Flipper Zero es mi intento de hacer algo verdaderamente increíble y a gran escala, y al mismo tiempo hermoso. Creo en el código abierto, por lo que el proyecto será completamente abierto. Actualmente tengo un pequeño equipo, pero nos faltan personas competentes en áreas específicas, especialmente en radio. Con este post espero encontrar personas que quieran unirse al proyecto.
Unirse al proyecto
Invito a todos los que disfrutaron de este proyecto a participar en el desarrollo de cualquier manera disponible. En esta etapa, necesitamos aprobar la lista final de funciones para comenzar a implementar la primera versión del dispositivo. Hay muchas cuestiones técnicas que actualmente no están resueltas.
Para desarrolladores
Todas nuestras tareas actuales de I+D se discutirán en el foro . Si eres desarrollador de hardware o software, o tienes alguna pregunta, consejo, sugerencia, crítica, no dudes en publicarlas en el foro. Este es el principal lugar donde se llevará a cabo la discusión de todas las etapas de desarrollo, crowdfunding y producción. La comunicación en el foro se lleva a cabo solamente en inglés, no dudes en escribir de manera torpe, lo importante es que el significado sea claro.
Votar por funciones
Es muy importante para nosotros saber qué funciones deben estar en el flipper. Esto determinará las prioridades en el desarrollo. Tal vez esté equivocado al pensar que algunas funciones son importantes, o por el contrario, que estoy pasando por alto algo. Por ejemplo, tengo dudas sobre el iButton, ya que es una tecnología obsoleta. Así que, por favor, complete esta breve encuesta:
Enviar dinero
Cuando se complete el prototipo y el proyecto esté listo para su lanzamiento en plataformas de crowdfunding como KickStarter, se podrá pagar la preorden. En este momento, puedes apoyarme personalmente con pequeñas donaciones para comida a través de . Las donaciones regulares de 1$ son mucho mejores que una gran suma de una sola vez, ya que permiten prever los gastos a futuro. Enlace para donaciones:
Descargo de responsabilidad
El proyecto se encuentra en una etapa muy temprana; el sitio puede tener errores, diseño deficiente y otros problemas, así que no seas demasiado duro. Por favor, informa sobre cualquier error o inexactitud que encuentres. Este es el primer mención pública del proyecto, y con tu ayuda espero corregir todas las imperfecciones antes de publicarlo en grandes plataformas de habla inglesa.
Publico todas las notas sobre el proyecto en mi canal de Telegram .
Fuente: habr.com
