This is a repository for proof of concept of DJI Mini SE Hijacking explained in our paper:
Behind The Wings: The Case of Reverse Engineering and Drone Hijacking in DJI Enhanced Wi-Fi Protocol
[ Linux PC ] [ Router ] [ DRONE ]
puppeteer.py <---> puppet.c <---> DJI Mini SE
- In
drone.py
change thesrc_mac, dst_mac, bssid_mac
according to the victim controller and drone, also change thekey
to the correct key obtained. Thearp
andbeacon
is the raw unmodified UDP packet sent from remote to the drone collected from sniffing the communication. - Compile
puppet.c
and run it at OpenWRT router that has Ath9K chip with 5Mhz monitor mode support. - Run
puppeteer.py
, make surec_host
variable is the address of the router. - Hijack and control the drone with keyboard input, see
pupeteer.py
.