Hacking Tools

Drone-Hacking-Tool : A Comprehensive Guide To Ethical Drone Security Testing

Drone Hacking Tool is a GUI tool that works with a USB Wifi adapter and HackRF One for hacking drones.

Drones, as a high mobility item that can be carried around easily and launched, are becoming cheaper and more popular among the public, they can be seen almost anywhere nowadays.

However, the drone built-in flying cameras could use for illegal usage like candid photos on private property. This shows drones clearly present risks to public safety and personal privacy.

Therefore, we are working on using wireless connection methods (Wi-Fi, GPS) to hack it and take over.

In this project, our goal is to capture drones to stop users with malicious intent for proof of concept and a sense of accomplishment.

Before To Start

Software

Operating System Selection

Due to Robot Operating System (ROS) Kinetic primarily targeting Ubuntu 16.04, so we advise using Ubuntu 16.04 for running this tool.

Install ROS

Before you start using this tool, you must install Robot Operating System (ROS) Kinetic on your Ubuntu. For more information, please click here.

Install ROS Driver

Please install the driver for ROS to communicate with the drone. The driver called tello_driver and bebop_autonomy.

In this tool, we tested DJI Tello and Parrot Bebop 2 works with this tool, users can use this tool for takeoff, landing and viewing the live camera content.

You may also install another ROS driver for hacking other drones, but you need to edit the source code and we cannot promise it can work with this tool.

Install Aircrack–ng Suite

Aircrack-ng is a security software related to 802.11 standard wireless network analysis.

Our tool relies on the Aircrack-ng suite for wireless network detection, capturing four-way handshake packets, and implementing a Wi-Fi deauthentication attack.

Install Hackrf Utility

This utility is used to communicate with your HackRF One.

Python Version And Installed Modules

This tool is built on Python 3.8 and works with the following modules:

  • Tkinter – GUI interface
  • pandas – analysis CVS data
  • paramiko – SSH connection
  • ipaddress – checking whether or not a string represents a valid IP address

Hardware

HackRF One

HackRF One from Great Scott Gadgets is a Software Defined Radio peripheral capable of transmission or reception of radio signals from 1 MHz to 6 GHz. For more information, please visit the official website.

In this tool, we are using HackRF One to perform a fake GPS attack to force the drone to land or fly away from the fake GPS signal covered area.

USB Wifi Adapter

NOT all Wi-Fi adapter is compatible with the Aircrack-ng suite. Please read this tutorial to help you select a compatible Wi-Fi adapter.

The Remote Server (Optional)

You may be using a laptop or virtual machine to run this tool, but the performance of most of the laptops is not enough for cracking WiFi passwords.

So, this tool can use an SSH connection to the remote server with the powerful GPU performance and use hashcat to reduce the time for cracking passwords.

Launch The Tool

For launching the tool, please type in the following command on the terminal:

python3 drone_hacking_tool.py

For more information click here.

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

groupdel Command in Linux: Remove a Group and Audit Files

The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…

13 hours ago

wc Command in Linux: Count Lines, Words, Characters, and Bytes

The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…

13 hours ago

top Command in Linux: Monitor Processes and Resource Usage

The top command in Linux provides a real-time view of running processes and system resource usage. From…

14 hours ago

usermod Command in Linux: Modify User Accounts and Groups

The usermod command in Linux modifies existing user account attributes. You can use it to manage group…

14 hours ago

sort Command in Linux: Sort Text, Numbers, Columns, and More

The sort command in Linux reads lines from files or standard input and writes them to standard…

2 days ago

wall Command in Linux: Broadcast Messages to Logged-In Users

The wall command in Linux sends a message to the terminals of all currently logged-in users. The…

2 days ago