Blackhat Eu19 Arsenal
Blackhat Eu19 Arsenal
• Introduction
• Background
• Quick start
• Module creation
• Scenarios
• Conclusion
Hacking drones with DroneSploit
• Introduction
• Scope
• Objectives
• Background
• Quick start
• Module creation
• Scenarios
• Conclusion
Hacking drones with DroneSploit
3. Automate attacks
Added value
• Introduction
• Background
• Drone architecture
• WiFi attacks
• Common security issues
• Quick start
• Module creation
• Scenarios
• Conclusion
Hacking drones with DroneSploit
• OS :
• Busybox
• Toybox
• Fly control App :
• APK
• IPA
• Protocols :
• Fly control (proprietary / MAVLink / …)
• RTSP (video streaming)
• FTP (for file/update transfer)
• Telnet
Hacking drones with DroneSploit
• Deauthentication
• Can be sent by an AP to a rogue station
• Can also be spoofed for deauthenticating a target station
• Can cause a new WPA handshake
• Introduction
• Background
• Quick start
• Startup
• Scanning
• Password guessing
• Using modules
• Module creation
• Scenarios
• Conclusion
Hacking drones with DroneSploit
DroneSploit :
• Based on Sploitkit
• Metasploit-like
• Easy to use
(extended auto-completion and validation)
• OO plugin architecture
Hacking drones with DroneSploit
• Start : Terminal
• Actions :
1. Start the framework
$ python3 main.py
2. Get help
dronesploit > help
• End State :
DroneSploit started
Hacking drones with DroneSploit
DEMO TIME
Hacking drones with DroneSploit
• Actions :
1. Set iface in monitor mode
dronesploit > toggle wlp4s0
• End State :
Interface in monitor mode
Targets acquired
Hacking drones with DroneSploit
DEMO TIME
Hacking drones with DroneSploit
• Actions :
1. Enter the cracking module
dronesploit > use
auxiliary/wifi/wpa2psk_crack
• End State :
Password guessed
Connected to target
Hacking drones with DroneSploit
DEMO TIME
Hacking drones with DroneSploit
• Actions :
1. Connect to a target
dronesploit > connect [target]
2. Enter a module
dronesploit > use …
3. Show options
dronesploit exploit(…) > show options
4. Run it
dronesploit exploit(…) > run
• End State :
Module’s output
Hacking drones with DroneSploit
DEMO TIME
Hacking drones with DroneSploit
• Introduction
• Background
• Quick start
• Module creation
• Options/functionalities
• Structuring
• Writing
• Scenarios
• Conclusion
Hacking drones with DroneSploit
Sploitkit
• Proxy classes :
• Holding shared configuration options
• Implementing common functionalities
• Subclasses :
• Holding specific options
• Model-specific particularities
DroneSploit
Hacking drones with DroneSploit
• Imports :
• Sploitkit : from sploitkit import Config, Option
• DroneSploit : from lib.[drones|wifi] import …
• Methods:
• Before loading / after unloading the module : .preload() / .postload()
• Before / after running the module : .prerun() / .postrun()
Hacking drones with DroneSploit
• Introduction
• Background
• Quick start
• Module creation
• Scenarios
• Hobbico C-me
• Hobbico Flitt
• DJI Tello
• Conclusion
Hacking drones with DroneSploit
DEMO TIME
Hacking drones with DroneSploit
DEMO TIME
Hacking drones with DroneSploit
DEMO TIME
Hacking drones with DroneSploit
• Introduction
• Background
• Quick start
• Module creation
• Scenarios
• Conclusion
• Objectives
• Further work
Hacking drones with DroneSploit
3. Automate attacks
WiFi attacks
Drone-specific attacks
Hacking drones with DroneSploit