Creating a Kali VM with Wireshark and Arduino IDE for Capturing and Analyzing BLE Packets

Bluetooth Low Energy (BLE) is a widely used technology in modern devices, from fitness trackers to smart home devices. Capturing and analyzing BLE packets can be essential for security research, debugging, and development. In this blog post, we will guide you through creating a Kali Linux Virtual Machine (VM) with Wireshark and Arduino IDE to capture and analyze BLE packets. Additionally, we will highlight some other tools available in Kali Linux, such as Ubertooth, that can further enhance your BLE analysis capabilities.

Step 1: Setting Up a Kali Linux VM

Kali Linux is a powerful platform for security testing and comes pre-installed with numerous tools for network analysis, including Wireshark. To get started:

  1. Download and Install VirtualBox:
    • Visit the VirtualBox website and download the latest version for your operating system.
    • Install VirtualBox following the on-screen instructions.
  2. Download the Kali Linux ISO:
    • Go to the Kali Linux official website and download the latest ISO file.
  3. Create a New Virtual Machine:
    • Open VirtualBox and click on "New" to create a new VM.
    • Name your VM (e.g., "Kali Linux BLE Analysis") and select "Linux" and "Debian (64-bit)" as the type and version, respectively.
    • Allocate at least 2 GB of RAM (4 GB recommended) and create a virtual hard disk (20 GB recommended).
  4. Install Kali Linux:
    • Start the VM and select the Kali Linux ISO as the startup disk.
    • Follow the installation prompts to set up Kali Linux. Choose your preferred language, region, and configure the user account.
    • Once the installation is complete, restart the VM and log in to your new Kali Linux environment.

Step 2: Installing Wireshark and Arduino IDE

Wireshark and Arduino IDE are essential tools for capturing and analyzing BLE packets. Here's how to install them on your Kali Linux VM:

  1. Update Package Lists:
    • Open a terminal and run the following commands to update your package lists: sudo apt update && sudo apt upgrade.
  2. Install Wireshark:
    • Install Wireshark using the package manager: sudo apt install wireshark.
    • Add your user to the wireshark group to capture packets without root privileges: sudo usermod -aG wireshark $USER.
  3. Install Arduino IDE:
    • Download the latest version of Arduino IDE from the Arduino website.
    • Extract the downloaded file and run the installation script: tar -xvf arduino--linux64.tar.xz && cd arduino- && sudo ./install.sh.

Step 3: Capturing BLE Packets with Wireshark

With Wireshark installed, you can start capturing BLE packets. Follow these steps:

  1. Start Wireshark:
    • Open Wireshark from the applications menu or by typing wireshark in the terminal.
  2. Select the Capture Interface:
    • Choose your Bluetooth interface from the list of available network interfaces. It is usually labeled something like hci0.
  3. Apply BLE Filters:
    • To focus on BLE traffic, apply the following filters in Wireshark: btatt, l2cap, (!(_ws.col.protocol == "HCI_CMD")) && !(_ws.col.protocol == "HCI_EVT"), (_ws.col.protocol == "HCI_EVT") && (frame.len == 22), btatt.opcode == 0x52 and btatt.value contains 0a:00:09:00.
  4. Start Capturing:
    • Click the start button to begin capturing BLE packets. Perform some BLE activities with your devices to generate traffic.
  5. Analyze Captured Packets:
    • Use Wireshark's features to inspect individual packets, filter specific types of traffic, and analyze the BLE communication.

Step 4: Installing and Using Additional Tools

Kali Linux comes with several additional tools that can enhance your BLE analysis capabilities. Here are a few notable ones:

  1. Ubertooth:
    • Ubertooth is an open-source 2.4 GHz wireless development platform suitable for Bluetooth experimentation.
    • To install Ubertooth, run: sudo apt install ubertooth.
    • Ubertooth can be used to capture Bluetooth packets over the air, offering capabilities beyond standard Bluetooth dongles.
  2. Bluetooth Stack Utilities:
    • Kali Linux includes various utilities for working with Bluetooth stacks, such as bluez, which can be installed using: sudo apt install bluez.
  3. GATTacker:
    • GATTacker is a tool for performing man-in-the-middle attacks on BLE devices.
    • Install GATTacker by following the instructions on its GitHub page.

Conclusion

Creating a Kali Linux VM with Wireshark and Arduino IDE is a powerful setup for capturing and analyzing BLE packets. With these tools, you can dive deep into BLE communications, troubleshoot issues, and enhance the security of your BLE devices. Additionally, tools like Ubertooth and others available in Kali Linux can further expand your capabilities in BLE analysis and research. Happy hacking!


Feel free to share your experiences and any additional tips in the comments below. If you have any questions or need further assistance, don't hesitate to ask!