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

9 Comments

  1. 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 ?

    🙂

  2. 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

  3. 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 ?

    🙂

  4. 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 ! 😀

  5. 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.

  6. 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

4 Trackbacks / Pingbacks

  1. Parrot: Mini drones = maxi problèmes - Geek Mag
  2. Parrot Bebop: convertir les fichiers .PUD en txt ou KML - Geek Mag
  3. Review Parrot Bebop 2: toutes les info sur le nouveau drone - Geek Mag
  4. Concours Watch Dogs 2: Parrot n'offre pas la remise aux gagnants - Geek Mag

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*