• Perspective
Publié le 16 mai 2018

Les parrots sont cuites

Introduction

Initialement spécialisée dans les objets connectés, l’entreprise française Parrot a commencé à se faire un nom dans l’industrie du drone à partir de 2010. La baisse des ventes a obligé la société à se baser uniquement sur le développement et la commercialisation de drones.

Dans les nombreux drones que la société a commercialisés, nous nous sommes penchés sur le modèle Parrot Bebop dans sa première mouture afin d’analyser son fonctionnement.

Afin de se démarquer de ses concurrents, Parrot a simplifié au maximum les commandes du drone de loisir en permettant son pilotage à distance via l’application FreeFlight Pro.

Faiblesses et exploitation

Après avoir démarré le Parrot Bebop premier du nom, il est possible via airodump-ng de s’apercevoir que, dès sa mise sous tension, le drone met à disposition un réseau Wi-Fi facilement reconnaissable : BebopDrone-XXXXXX (1)

BSSI_Drone_Parrot_airodump

De plus, le réseau Wi-Fi ne dispose d’aucune sécurité (réseau Open (2)). Cette absence de sécurité entraîne ainsi plusieurs vulnérabilités exploitables :

Prendre le contrôle du drone

Sur le Bebop, la gestion du pilote est relativement simple : premier arrivé premier servi.

Ainsi, le premier utilisateur se connectant à l’application sera alors en mesure de prendre les commandes du drone :

BSSI_Drone_Parrot_pilote

Les connexions suivantes n’auront pas accès aux commandes. Ceci afin d’empêcher un individu de prendre le contrôle du drone à l’insu du propriétaire  :

BSSI_Drone_Parrot_guest

Néanmoins, en cas de déconnexion du pilote, il est possible pour un individu de prendre les commandes du drone.

Plutôt que de patiemment attendre une éventuelle déconnexion, il est possible de forcer un peu les choses grâce à l’utilisation d’aireplay-ng de la suite aircrack-ng :

BSSI_Drone_Parrot_aireplay

Dès lors que le pilote est déconnecté, il est possible de s'y connecter et disposer des pleines commandes. Facile non ?

Voler les données présentes sur le drone

Si, pour une raison particulière, il n’était pas possible de désauthentifier le pilote légitime du drone, il reste néanmoins la possibilité de voler les données présentes sur le Bebop.

En effet, l’absence de sécurité sur la connexion Wi-Fi permet à n’importe qui de s’y connecter. Il est alors possible d’exploiter des vulnérabilités inhérentes au drone (services ouverts et/ou non sécurisés).

Dans le cas du Bebop, un serveur FTP semble être présent :

BSSI_Drone_Parrot_nmap

Configuré dans sa version par défaut, celui-ci autorise les connexions anonymes. Cela permet à n’importe qui d’accéder aux photos / vidéos prises pendant les heures de vol de drone :

BSSI_Drone_Parrot_filezilla

Ainsi, dans sa configuration initiale, il est relativement simple de dérober les données présentes sur le drone.

Conclusion

L’IoT, fait beaucoup parler de lui du fait de son insécurité et les attaques qui y sont liées.

Les drones rentrent dans cette catégorie et les exemples ci-dessus à l’encontre du Parrot Bebop ne font que renforcer l’idée que les configurations par défaut (bien trop souvent non sécurisées) peuvent facilement mettre en péril un équipement.

Le « déballer & utiliser » n’a pas encore pour vocation à fournir un service sécurisé et il est nécessaire de s’assurer que les meilleures pratiques en termes de sécurité soient respectées lors de l’installation ou du déploiement d’équipements.

Dans notre cas, le drone Parrot Bebop laisse la possibilité de sécuriser la connexion Wi-Fi via le protocole WPA (PS : 123456 n’est pas un bon mot de passe 😉 )

Article rédigé par
Régis Senet