Skip to content

πŸ›œ A wardriving plugin for pwnagotchi. Saves all networks seen and uploads data to Wigle.net once internet is available

License

Notifications You must be signed in to change notification settings

cyberartemio/wardriver-pwnagotchi-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›œ Wardriver Pwnagotchi plugin

Discord server GitHub Release GitHub issues GitHub License

A simple plugin for wardriving on your pwnagotchi. It saves all networks seen by bettercap, not only the ones whose handshakes has been collected. In this version all the operations are done through the plugin's webui. Inside of it, you can see the current wardriving session stats, global stats (including your WiGLE profile), all networks seen by your pwnagotchi and also plot the networks on map.

You can still upload automatically the sessions to WiGLE, but you can also uploads them manually using the webui.

Join our crew and start sailing with us! πŸ΄β€β˜ οΈ

Open https://wigle.net/stats#groupstats, search for "The crew of the Black Pearl" and click "join"

πŸš€ Installation

Important

This plugin requires a GPS module attached to your pwnagotchi. You also need to activate and configure the gps plugin (or another plugin that configures bettercap gps function).

If you want to enable WiGLE upload, you need a valid API key.

  1. Login inside your pwnagotchi using SSH:
ssh pi@10.0.0.2
  1. Go to custom_plugins directory where all custom plugins of your Pwnagotchi are stored:
cd /path/to/custom_plugins/directory
  1. Download the plugin code:
wget https://github.com/cyberartemio/wardriver-pwnagotchi-plugin/archive/main.zip
  1. Extract files and remove useless files:
unzip main.zip &&
mv wardriver-pwnagotchi-plugin-main/wardriver.py . &&
mv wardriver-pwnagotchi-plugin-main/wardriver_assets .&&
rm -r wardriver-pwnagotchi-plugin-main main.zip
  1. Edit your configuration file (/etc/pwnagotchi/config.toml) and add the following:
# Enable the plugin
main.plugins.wardriver.enabled = true
# Path where SQLite db will be saved
main.plugins.wardriver.path = "/root/wardriver"
# Enable UI status text
main.plugins.wardriver.ui.enabled = true
# Enable UI icon
main.plugins.wardriver.ui.icon = true
# Set to true if black background, false if white background
main.plugins.wardriver.ui.icon_reverse = false
# Position of UI status text
main.plugins.wardriver.ui.position.x = 7
main.plugins.wardriver.ui.position.y = 95
# Enable WiGLE automatic file uploading
main.plugins.wardriver.wigle.enabled = true
# WiGLE API key (encoded)
main.plugins.wardriver.wigle.api_key = "xyz..."
# Enable commercial use of your reported data
main.plugins.wardriver.wigle.donate = false
# OPTIONAL: networks whitelist aka don't log these networks
main.plugins.wardriver.whitelist = [
    "network-1",
    "network-2"
]
# NOTE: SSIDs in main.whitelist will always be ignored
  1. Restart daemon service:
sudo systemctl restart pwnagotchi

Done! Now the plugin is installed and is working.

✨ Usage

Once configured, the plugin works autonomously and you don't have to do anything. Check the sections below to learn more about how it works.

πŸš— Wardriving

Everytime bettercap refresh the access points list (normally every 2 minutes more or less), the plugin will log the new networks seen along with the latitude, longitude and altitude. Each time the service is restarted a new session will be created. If you have enabled it, the plugin will display the total number of networks of the current session on the pwnagotchi display.

If you don't want some networks to be logged, you can add the SSID inside wardriver.whitelist array in the config. Wardriver does not report networks whose SSID is contained within the local and global whitelist.

Note: the SSIDs inside the main.whitelist array will always be ignored.

🌐 WiGLE automatic upload

If you have enabled it, once internet is available, the plugin will upload all previous session files on WiGLE. Please note that the current session will not be uploaded as it is considered still in progress. Don't worry, it'll be uploaded the next time your pwnagotchi starts with internet connection.

If you just want to upload sessions to WiGLE manually you can still do it. All you have to do, is configuring your api key and use the corresponding button in the sessions tab of the web ui. You can also download the CSV file locally for a specific session.

❀️ Contribution

If you need help or you want to suggest new ideas, you can open an issue here or you can join my Discord server using this invite.

If you want to contribute, you can fork the project and then open a pull request.

About

πŸ›œ A wardriving plugin for pwnagotchi. Saves all networks seen and uploads data to Wigle.net once internet is available

Topics

Resources

License

Stars

Watchers

Forks

Languages