![Page 1: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/1.jpg)
![Page 2: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/2.jpg)
WHOAMI
➔ Ezequiel Tavella (@EzequielTBH)
➔ Developer platform (@faradaysec)
➔ CTF, pentesting, reversing, exploiting, SDR, RF...
![Page 3: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/3.jpg)
Aciertos y dificultades en...
![Page 4: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/4.jpg)
➔ Reversing del protocolo de comunicación…
◆ Interceptar la telemetria del drone
● Capturar los paquetes de vuelo
● Hallar y entender el protocolo
● Mostrarlo en una interfaz gráfica!
![Page 5: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/5.jpg)
➔ Reversing del protocolo de comunicación…
◆ Transmitir órdenes al drone ( Hijackearlo? )
● Buscar el hardware adecuado
● Codear!
● Optimizar el transmisor
![Page 6: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/6.jpg)
![Page 7: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/7.jpg)
![Page 8: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/8.jpg)
➔ Reversing del protocolo de comunicación…
➔ Canal de comunicacion?
◆ Wi-Fi
◆ Radiofrecuencia
◆ Bluetooth
![Page 9: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/9.jpg)
➔ Reversing del protocolo de comunicación…
➔ Un tip...
◆ Busca el FCC-ID de tu dispositivo
◆ Usa https://fccid.io/ con ese ID
◆ Manuales, fotos y analisis for free!
◆ Tenemos el rango de frecuencia de transmisión ahora!
![Page 10: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/10.jpg)
➔ Reversing del protocolo de comunicación…
➔ Un tip...
![Page 11: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/11.jpg)
➔ Reversing del protocolo de comunicación…
➔ Veamos el drone un poco…
![Page 12: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/12.jpg)
➔ Reversing del protocolo de comunicación…
➔ Capturar los paquetes de vuelo.
● Donde empezamos?
○ No se mucho sobre RF ni SDR...
![Page 13: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/13.jpg)
➔ Reversing del protocolo de comunicación…
➔ Donde empezamos?
![Page 14: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/14.jpg)
➔ Reversing del protocolo de comunicación…
➔ Donde empezamos?
![Page 15: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/15.jpg)
➔ Reversing del protocolo de comunicación…
➔ Positive Hack Days
● Hicieron un CTF con el objetivo de hijackear un drone Syma
● Publicaron el código que utilizaron y su research completo
★
![Page 16: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/16.jpg)
➔ Reversing del protocolo de comunicación…
➔ Positive Hack Days
● Código para decodear los paquetes de telemetría
● Código para transmitir paquetes de vuelo!
★
![Page 17: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/17.jpg)
➔ Reversing del protocolo de comunicación…
➔ Genial! Tenemos todo no?
◆ No tan rapido…
● Nuestro drone no es el mismo
● Hay codigo harcodeado - incompleto
● No esta todo explicado!
![Page 18: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/18.jpg)
➔ Reversing del protocolo de comunicación…
➔ Para interceptar los paquetes necesitamos...
● Frecuencia
● Ancho de banda y bitrate
● Canales en uso
● Drone Address
![Page 19: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/19.jpg)
➔ Reversing del protocolo de comunicación…
➔ Frecuencia
◆ Con el FCC-ID sabemos que va desde:
● 2.41 GHz
● 2.474 GHz
◆ Gracias FCC! ( y control remoto)
![Page 20: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/20.jpg)
➔ Reversing del protocolo de comunicación…
➔ Ancho de banda y bitrate
◆ Tenemos algunas formas de encontrarlo…
● Lo sacamos del blog :P
● Revisamos la señal
![Page 21: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/21.jpg)
➔ Reversing del protocolo de comunicación…
➔ Ancho de banda y bitrate
![Page 22: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/22.jpg)
➔ Reversing del protocolo de comunicación…
➔ Ancho de banda y bitrate (Manual del módulo)
Bandwidth 800 kHz para 250 kbps rate
![Page 23: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/23.jpg)
➔ Reversing del protocolo de comunicación…
➔ Canales en uso
◆ Que es un canal?
● Una forma de separar e identificar las frecuencias
● El manual indica una separación de 1 Mhz, lo que nos da 125 canales posibles (2.400 - 2.525 Ghz)
![Page 24: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/24.jpg)
➔ Reversing del protocolo de comunicación…
➔ Canales en uso
◆ Usamos el proyecto
◆ Cargamos en GNURadio
◆ Conectamos la y buscamos los canales (Son 4, como decía la caja)
![Page 25: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/25.jpg)
➔ Reversing del protocolo de comunicación…
➔ Canales en uso
Vamos cambiando el canal, usando el transmisory buscando picos en la señal
Canales:
![Page 26: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/26.jpg)
➔ Reversing del protocolo de comunicación…
➔ Address drone
◆ Como evitas el overlapping de drones?
● Usando canales distintos ( Limitado )
● Usando un identificador para cada drone
![Page 27: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/27.jpg)
➔ Reversing del protocolo de comunicación…
➔ Address drone
◆ Abrimos el template anterior de GNURadio, configuramos el canal
◆ Creamos un pipe y lo usamos en el template
◆ Corremos la tool y comenzamos a ver los paquetes de vuelo!
![Page 28: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/28.jpg)
➔ Reversing del protocolo de comunicación…
➔ Address drone
![Page 29: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/29.jpg)
➔ Reversing del protocolo de comunicación…
➔ Todo listo! Recapitulando...
◆ Ahora podemos interceptar paquetes de vuelo, solo cambio:
● Drone address
● Canales
◆ Lo demas no cambia!
![Page 30: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/30.jpg)
![Page 31: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/31.jpg)
➔ Reversing del protocolo de comunicación…
➔ Como se envia el paquete?
★
![Page 32: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/32.jpg)
➔ Reversing del protocolo de comunicación…
➔ Cual es el payload? 10 bytes
1. Acelerador motor2. Inclinacion (Adelante o atras) 3. Timón (Giro sobre eje) 4. Alerones (Inclinación izq o der)10. CRC (XOR de los primeros 9 bytes + 0x55)
★
![Page 33: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/33.jpg)
➔ Reversing del protocolo de comunicación…
➔ Ya esta! Tenemos todo listo para nuestro interceptor
◆ droneTelemetry.py
● Class DecoderSymaX5SW: Parsea cada byte del paquete de vuelo, devolviendo una acción
● Class DisplayDrone: Usando urwid muestra una interfaz gráfica con las acciones del drone!
![Page 34: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/34.jpg)
![Page 35: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/35.jpg)
![Page 37: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/37.jpg)
![Page 38: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/38.jpg)
➔ Reversing del protocolo de comunicación…
➔ Transmitir órdenes (Lo bueno!)...
◆ Necesitamos un modulo de transmision: NRF24
◆ Lo usamos por que es barato ($150), estandar y funciona con Arduino - Raspberry - Beaglebone.
◆ Las libs no son muy buenas que digamos, pero se la banca...
![Page 39: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/39.jpg)
➔ Reversing del protocolo de comunicación…
➔ Transmitir órdenes (Lo bueno!)...
![Page 40: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/40.jpg)
➔ Reversing del protocolo de comunicación…
➔ Un tip: Modo monitor NRF24
◆ Permite escuchar todos los paquetes, sin necesidad de especificar una dirección.
◆ Una fallo en la validación del address, 0x55 (Preambulo comun) es aceptado como address (Aunque no deberia)
★
![Page 41: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/41.jpg)
➔ Reversing del protocolo de comunicación…
➔ Transmitir órdenes (Lo bueno!)...
◆ Tenemos todos lo necesario para codear un transmisor (Ya reverseamos el protocolo)
◆ Usamos la lib RF24 ( )
◆ Tenemos que conectar bien el módulo (Parece joda, pero costó)
![Page 42: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/42.jpg)
➔ Reversing del protocolo de comunicación…
➔ Transmitir órdenes (Lo bueno!)...
◆ Recuerdan los 4 canales?
◆ En las pruebas resulta que transmitiendo en 1 canal es suficiente
◆ Nos simplifica un poco las cosas
![Page 43: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/43.jpg)
➔ Reversing del protocolo de comunicación…
➔ Transmitir órdenes (Lo bueno!)...
![Page 44: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/44.jpg)
➔ Reversing del protocolo de comunicación…
![Page 45: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/45.jpg)
➔ Reversing del protocolo de comunicación…
![Page 46: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/46.jpg)
![Page 47: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/47.jpg)
➔ Y la camara?
➔ 1 imagen vale mas que mil palabras dicen...
![Page 48: WHOAMI Ezequiel Tavella (@EzequielTBH) CTF, pentesting ... · Buscar el hardware adecuado Codear! ... Hay codigo harcodeado - incompleto No esta todo explicado! ... No hay seguridad](https://reader033.vdocuments.co/reader033/viewer/2022052722/5f0be2047e708231d432af13/html5/thumbnails/48.jpg)
➔ Reversing del protocolo de comunicación…
➔ Conclusiones
◆ Interceptamos los datos de vuelo sin problemas
◆ Tuvimos problemas con la transmisión, lo resolvimos con un power bank.
◆ No hay seguridad en la comunicación: ni cifrado, ni protocolo de asociación (El que tiene más potencia gana el control del drone)