Ground Control Station Discovery - nicholasaleks/Damn-Vulnerable-Drone GitHub Wiki

Locating ground control stations by detecting communication signals or network presence.

Damn Vulnerable Drone > Attack Scenarios > Reconnaissance > Ground Control Station Discovery

Description

The whole goal here is to witness both the source and destination for MAVLink telemetry and commands to determine the IP address for the ground control stations. You should be able to see commands and telemetry flowing between the companion computer and GCS IPs while the drone is flying around.

Resources


⚠️ Solution Guide (Non-WiFi Mode)

Step 1. Ensure Docker Bridge Connection

Verify you are connected to the Docker bridge network:

ip addr show

You should have a bridge interface with an IP in the 10.13.0.0/24 range.


Step 2. Host Discovery

Use Nmap to scan the Docker network range, excluding known IPs:

nmap -sn 10.13.0.0/24 --exclude 10.13.0.1,10.13.0.5

This helps identify active hosts, including potential GCS machines.


Step 3. Generate/Listen for MAVLink Traffic

Connect to the drone and use flight controls to generate MAVLink telemetry. Then, in Wireshark apply this filter:

mavlink_proto

From here, you should see traffic from 10.13.0.3 (companion computer) to 10.13.0.4 (likely GCS).


Step 4. Filter GCS Packets

In Wireshark, refine your capture with:

mavlink_proto && ip.src == 10.13.0.4

This will isolate telemetry and command traffic from the GCS.


⚠️ Solution Guide (WiFi Mode)

Step 1. Ensure Docker Bridge Connection

Check your active interfaces:

ip addr show

You should see a bridge address in the 10.13.0.0/24 range.


Step 2. Host Discovery

Use Nmap to discover devices in the WiFi range:

nmap -sn 192.168.13.0/24

This should surface devices including the GCS and drone nodes.


Step 3. Generate/Listen for MAVLink Traffic

Use flight state buttons to stimulate MAVLink telemetry. In Wireshark, apply this filter:

mavlink_proto

You should observe traffic from 192.168.13.1 (companion) and 192.168.13.14 (GCS).


Step 4. Filter GCS Packets

To specifically observe traffic from the GCS, apply this Wireshark filter:

mavlink_proto && ip.src == 192.168.13.14

This isolates command and telemetry packets from the ground control station.

⚠️ **GitHub.com Fallback** ⚠️