
Un dron diseñado para buscar autónomamente, hackear y tomar el control total de forma inalámbrica sobre cualquier otro dron Parrot o 3DR dentro del alcance inalámbrico o de vuelo, creando un ejército de drones zombis bajo tu control.
SkyJack es un dron diseñado para buscar, hackear y tomar el control total de forma inalámbrica sobre cualquier otro dron dentro del alcance inalámbrico o de vuelo, creando un ejército de drones zombis bajo tu control.
Actualización: Prueba de concepto de SkyJack para drones de 3D Robotics usando los conjuntos de chips TI CC1111 [agosto de 2015]
La actualización utiliza un transceptor de RF sub-GHz para predecir el patrón de salto de frecuencia + el ID de los módulos de telemetría 3DR, lo que permite tomar el control remoto total de drones cercanos, similar al ataque a Parrot (sin necesidad de wifi).
por @SamyKamkar // [email protected] // http://samy.pl // 2 de diciembre de 2013
Código disponible en github
Mira el video aquí
SkyJack - control autónomo de drones
Hoy Amazon anunció que planea usar drones no tripulados para entregar algunos paquetes a los clientes dentro de cinco años. ¡Genial! ¿Qué tan divertido sería tomar el control de drones que llevan paquetes de Amazon... o tomar el control de cualquier otro dron y convertirlos en mis pequeños drones zombis? Increíble.
Usando un Parrot AR.Drone 2, una Raspberry Pi, una batería USB, un transmisor inalámbrico Alfa AWUS036H, aircrack-ng, node-ar-drone, node.js y mi software SkyJack, desarrollé un dron que vuela por los alrededores, busca la señal inalámbrica de cualquier otro dron en el área, desconecta a la fuerza la conexión inalámbrica del verdadero dueño del dron objetivo, luego se autentica con el dron objetivo haciéndose pasar por su dueño, y después le envía comandos a él y a todos los demás drones zombis poseídos a mi voluntad.
SkyJack también funciona desde tierra; no necesitas ningún dron para que funcione. Puedes simplemente ejecutarlo desde tu propia máquina Linux/Raspberry Pi/portátil/etc. y hackear drones directamente desde el cielo.
Puedes adquirir SkyJack desde github: https://github.com/samyk/skyjack
SkyJack (disponible en github) es principalmente una aplicación en perl que se ejecuta desde una máquina Linux, ejecuta aircrack-ng para poner su tarjeta wifi en modo monitor, detecta todas las redes inalámbricas y clientes cercanos, desactiva cualquier cliente conectado a los Parrot AR.drones, se conecta al ahora libre Parrot AR.Drone como su dueño, y luego usa node.js con node-ar-drone para controlar los drones zombis.
Detecto drones buscando cualquier conexión inalámbrica proveniente de direcciones MAC propiedad de la empresa Parrot, que puedes encontrar definidas en la Autoridad de Registro OUI.
Uso aircrack-ng para poner nuestro dispositivo inalámbrico en modo monitor y encontrar nuestros drones y a los dueños de los drones. Luego uso aireplay-ng para desautenticar al verdadero dueño del dron al que estoy apuntando. Una vez desautenticado, puedo conectarme ya que el dron está esperando a que su dueño se reconecte.
Uso node-ar-drone para controlar el dron recientemente esclavizado mediante Javascript y node.js.
El Parrot AR.Drone 2 es el dron que vuela buscando otros drones, controlado desde un iPhone, iPad o Android, y también es el tipo de dron que SkyJack busca para controlar. SkyJack también es capaz de buscar el Parrot AR.Drone versión 1.
Los Parrot en realidad crean su propia red inalámbrica, que es como el dueño del dron se conecta. Tomamos el control desautenticando al dueño y luego conectándonos, ya que el dron está esperando a que su dueño se vuelva a conectar, aprovechando el hecho de que destruimos temporalmente su conexión inalámbrica.
Uso una Raspberry Pi para impulsar el proyecto, ya que es económica, razonablemente ligera, tiene USB y ejecuta Linux.
Uso la tarjeta inalámbrica Alfa AWUS036H, que admite inyección de paquetes en bruto y modo monitor, lo que me permite desautenticar a los usuarios que están legítimamente conectados a sus drones.
También uso el adaptador USB inalámbrico Edimax EW-7811Un para que SkyJack pueda crear su propia red. Esto me permite conectarme a SkyJack desde mi portátil o iPad y observar todos los demás drones mientras son controlados.
Sugiero cualquier batería USB que sea ligera (menos de 100 gramos) y que pueda proporcionar cerca de un amperio (1000mAh). La Raspberry Pi + wifi probablemente consuma aproximadamente esa cantidad de energía. También podrías conectar tres pilas AAA juntas para obtener unos 4.5V de salida, lo que sería un poco más ligero, aunque no estoy seguro de cuánta corriente podrá suministrar.
¡No dudes en contactarme si tienes alguna pregunta!
Puedes escribirme a [email protected].
Sigue a @SamyKamkar en Twitter o echa un vistazo a http://samy.pl para ver mis otros proyectos.