Hack du Bebop Parrot: un drone avec des failles de sécurité

Le Bebop de Parrot présente deux défauts majeurs en terme de sécurité:
– Le hotspot wifi embarqué ne propose aucune solution protection (vous pouvez ajouter le WEP comme indiqué ici)
– L’accès root n’est protégé par aucun  mot de passe

Quel sont les conséquences?
Si vous êtes victime d’une intrusion sur le réseau wifi de votre drone, cela permettra à l’attaquant de gagner énormément de temps pour détourner votre drone. Ainsi, il faudra seulement quelques minutes à un assaillant pour prendre les commandes de votre Bebop. En effet, il suffit de lancer une attaque de « dés-authentification » à l’aide des outils adéquat tel que Aireplay-ng qui permet l’envoi de « paquets deauth » vers la cible.  Ceci aura pour effet de libérer l’accès au réseau sans fil du Bebop. Du fait de l’absence d’authentification cela permet à l’attaquant de se reconnecter à votre place et donc soit de piloter avec l’application officiel FreeFlight soit de rentrer dans le système embarqué. Une fois la console Linux ouverte avec un compte ayant l’accès root par défaut, il devient possible d’arrêter des services ou effacer des fichiers… ce qui entraînera l’arrêt des moteurs et un  crash immédiat.

Voici une démo en vidéo qui a  été réalisé sur un AR Drone via le package d’outils Skyjack créé par Samy Kamkar. Le fonctionnement est le même sur Bebop.

Une fois connecté sur le Bebop,il suffit d’ouvrir une session telnet avec l’adresse IP du Bebop: 192.168.42.1 (dans notre exemple à l’aide de Putty)

hack_drone_parrot_bebop_putty
Vous voilà avec un accès complet en ligne de commande (CLI)
A partir de là, vous pouvez utiliser la commande Linux: « ps » qui permet de lister tous les services actif. Vous  pouvez filtrer par exemple sur un service sensible: dragon-prog

ps -ef |grep dragon

Cela vous permet  de récupérer le pid

Vous pouvez ensuite tuer le process
kill -9 ID (dans notre exemple 813)

Cela aura pour effet de couper immédiatement les quatre moteurs…

Bebop_Parrot_telnet_CLI_kill

Dragon-prog gère l’ensemble du Bebop, il existe tout un tas d’option pour le lancement qui permette d’influer sur un certain nombre de paramètres, effectuer des diagnostic avec des modes verbeux et debub.

Ici par exemple, des info directement affichées dans l’app Freeflight
Freeflight_debug_mod

13 Responses to Hack du Bebop Parrot: un drone avec des failles de sécurité

  1. […] Bebop drone: – Décollage avec prise d’altitude brutale…et un drone incontrolable – wifi non sécurisé permettant d’intercepter le drone d’un tiers et d’en prendre les commandes. Problème déjà existant sur l’AR Drone avec l’application SkyJack dédié au piratage wifi des drones Parrot. De plus l’accès root au Linux embarqué n’est protégé par aucun mot de passe. Plus d’info ici. […]

  2. […] je l’ai expliqué dans un précédent article, il est possible d’accéder aux fichiers de configuration du Bebop depuis une console […]

  3. Ludo dit :

    Qu’est-il possible de faire pour protéger la connexion ?

  4. Eric78 dit :

    J’ai rajouté une page dans le wiki qui explique comment activer une protection WEP.
    http://geekmag.fr/wiki/doku.php?id=fr_activer_wep

    • Ludo dit :

      Merci Eric !!
      Je découvre ta réponse maintenant seulement, merci pour tes explications…
      Continue à explorer, c’est utile à tous !!

  5. Vinc26 dit :

    Salut 🙂 Pourrais-tu nous conseiller un site ou un tuto pour apprendre comment utiliser telnet pour modifier un fichier de configuration par exemple, ou se balader dans la hiérarchie du bebop ?

    🙂

  6. Eric78 dit :

    Salut Vinc,
    Regardes le wiki, j’ai déjà écrit pas mal de doc à ce sujet
    http://geekmag.fr/wiki/doku.php?id=bebop
    http://geekmag.fr/wiki/doku.php?id=hack

    Le wiki contient tout ce qui concerne les fichiers du Bebop.
    Pour tout ce qui éditer un fichier, se déplacer dans l’arborescence, c’est du Linux classique, tu peux utiliser toutes les commandes de base
    cd
    ls
    vi

    Donc tu peux chercher sur tous les sites spécialisés en Linux
    http://doc.ubuntu-fr.org/tutoriel/console_commandes_de_base

  7. Vinc26 dit :

    Grand merci pour ta réponse.

    Je cherche maintenant à récupérer sur mon Mac (pour analyse) l’intégralité du contenu du bebop (tout le system linux etc…).
    – Dois-je modifier un fichier de configuration pour que le ftp me donne accès à la racine du bebop ?
    – Ou dois-je passer par une clef usb branchée dessus ? Et y accéder en telnet ? (ça me paraît compliqué)

    A moins qu’il existe sur le net une archive d’un contenu du bebop en 1.98.10 déjà disponible ?

    🙂

  8. Vinc26 dit :

    Bon, j’ai eu un gros soucis pendant la copie… je t’ai envoyé un message sur FB. Si tu as une minutes ; sinon dis moi. Je comprendrai. En tous cas, j’ai trouvé des choses intéressantes coté qualité d’image… Mais il faut que je me perfectionne en unix ! 😀

  9. Chris dit :

    Hi. I’ve accidentally reset my Bebop by holding the power button for 10 seconds and now all the videos are gone. I haven’t recorded anything since. Please help me recover them.

  10. quin.jeanphilippe dit :

    Bonsoir,

    merci pour toutes ces informations, mais accéder via Telnet au Bebop (même bleu), n’est pas aussi simple que décrit: méconnaissance des commandes de base et inquiétude de ne pouvoir revenir en arrière.
    N’y a t’il pas une procédure plus automatique pour introduire un mot de passe/protection ?
    En fait, moi c’est juste pour voler, pas pour faire du Telnet… Merci. JPHI

  11. […] (modes 1, 2, 3 et 4 expliqués ici). La moins bonne nouvelle, c’est que la connexion reste en wifi non sécurisé ce qui vous expose à des risques de piratage en plein […]

  12. […] 3.2.0 ayant apporté le support WPA), il n’y avait aucune sécurité ce qui permettait de pirater facilement tous les drones de la marque même en plein vol. (AR Drones, Bebop 1 & […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *