
Una colección de vulnerabilidades y exploits contra GCS modernos
Vectores de ataque, vulnerabilidades y exploits de Drone a Estación de Control en Tierra
Las flotas de drones hoy en día son un operador pilotando docenas o cientos de drones desde una única estación en tierra. Esto convierte a la estación de control en tierra en un objetivo valioso para los adversarios. Es donde normalmente se ubica el piloto, a menudo almacena datos de la misión, y es un vector principal para el movimiento lateral a través de redes UxS y otros drones en una flota.
La mayor parte de la investigación en seguridad de drones se ha centrado en atacar al dron. La investigación de Infected Drone adopta un enfoque alternativo y resalta cómo un único dron comprometido puede atacar estaciones en tierra que se conectan a él. Debido a que la mayoría del software de control en tierra confía en todo lo que el dron le envía, existe una falta de autenticación, validación y sanitización, lo que permite que los datos de un dron comprometido conduzcan a CRUD de archivos, ejecución de código o un crash en la máquina del operador.
Este repositorio documenta vulnerabilidades en el software de estaciones de control en tierra e incluye código de prueba de concepto funcional para ellas. Se publica únicamente con fines educativos y para que los operadores comprendan su exposición y los mantenedores puedan reproducir y corregir estos problemas.
Ejecute los PoC solo contra sistemas que posea o para los que tenga permiso escrito de prueba. Cada uno de ellos está escrito para un banco de pruebas: los payloads son marcadores benignos, y nada aquí está empaquetado para su uso contra la aeronave o estación en tierra de otra persona. Usar este material contra sistemas que no controla es probablemente ilegal dondequiera que se encuentre.
La sección de Reproducción de cada hallazgo indica qué necesita y qué hace. Léala antes de ejecutar cualquier cosa.
Leyenda:
La clase de entrega es lo que el atacante tiene que hacer en el enlace, y decide qué vectores funcionan. Los hallazgos de tipo Push solo necesitan que una trama llegue a la GCS, por lo que cualquier vector con capacidad de inyección es suficiente. Los hallazgos de tipo Handshake y request/response necesitan que el atacante sea, o controle completamente, al par conversacional, lo que favorece a un periférico en el bus, un companion comprometido, la cadena de suministro, o un MITM completo.
La columna Fix enlaza el pull request upstream donde se ha enviado uno. Diez de los quince hallazgos incluyen un parche presentado contra el propio repositorio del proveedor.