Skip to content

🐬 My fork of Wall of Flippers that can run as a systemd daemon/background process also

License

Notifications You must be signed in to change notification settings

cyberartemio/Wall-of-Flippers

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Wall of Flippers

Wall of Flippers

🐬 A simple and easy way to find Flipper Zero Devices and Bluetooth Low Energy Based Attacks 🐬

🐬 Documentation written by @k3yomi 🐬

avatar kofi

k3yomi (Project Maintainer)

avatar kofi

Emilia (jbohack) (Contributor)

GitHub Repo stars GitHub forks GitHub issues GitHub pull requests Discord Shield

wof

Table of Contents





🐬 Introduction

Wall of Flippers (WoF) is a python based project involving the discovery of the Flipper Zero device and the identification of potential Bluetooth advertisment attacks. Please keep in mind that these two types of detections may not be related. Also the code is quite messy and not up to my standards. Will be updating and cleaning up some code in the future. Feel free to submit pull requests if you would like to contribute!

🐬 Current features and future updates

  • Discover Flipper Zero Devices (Bluetooth must be enabled)
  • Flipper Name Discovery
  • Flipper Address Discovery
  • Flipper "Identifier" Discovery ( Transparent, White, & Black Flipper Detection)
  • Ability to archive past flipper zero devices discovered
  • Auto-install functionality for Debian Linux and Windows
  • Ability to identify potential Bluetooth advertisment attacks
    • Suspected Advertisment Attacks
    • iOS Crash Advertisment Attack (Patched as of the latest iOS update)
    • iOS Popup advertisment Attacks
    • Samsung and Andorid BLE Advertisment Attacks
    • Windows Swift Pair Advertisment Attacks
    • LoveSpouse Advertisment Attacks (Denial of Pleasure)
  • Capture the Flippers (CTF) - A simple CTF to collect Flipper Zero devices
    • Leaderboard
    • Hosting Support (Local and Public)
    • Ability to add custom challenges
    • Point System and Scoring
    • Username and Key System
  • BLE Advertisments
    • Ability to send custom BLE advertisments
  • BLE External / Internal Adapter Support
    • Linux Supported
    • Windows Supported
  • Chromium Web Bluetooth Support
  • iOS/Android Detection (Pairing)
  • Animations (Looking for ascii artists)
  • Nuclear Fusion Implementation

🐬 Videos and Articles

Talking Sasquach - Wall of Flippers Busts Flipper Zero BLE Spammers Red Handed!

BleepingComputer - β€˜Wall of Flippers’ detects Flipper Zero Bluetooth spam attacks

🐬 Installing and Requirements

A few things are required to properly run Wall of Flippers. We Recommend a Raspberry Pi as it's compact and portable! It's also required to have a chipset or a USB adapter that supports Bluetooth Low Energy. At this current time, there is limited support for Wall of Flippers on Windows. Hence we recommend using a linux based operating system as that has been used for testing and development. For BLE advertising, I recommened an external USB adapter as the internal adapter on the Raspberry Pi is not powerful enough to send BLE advertisments long range.

How to install

Debian Linux Install Guide

Debian Linux Install Guide

Wall of Flippers on debian linux is currently one of the best ways to run Wall of Flippers. Mostly due to it being stable and having a lot of support for BLE. To start off, it is highly recommened to follow all instructions we provide unless you know what you are doing. To get started, we need to set up the directory and install the required packages.

Step 1: Full system upgrade / update

Before we continue with the installation, we need to make sure our system is up to date. To do this update through the command line.

sudo apt-get update && sudo apt-get upgrade -y

Step 2: Git Clone and Git Installiation

To start off, we need to clone the repository and install the required packages. To do this, we need to run the following commands in the terminal. However, if you do not have git installed, you can simply install it by running this command (apt package manager only):

sudo apt-get install git
git clone https://www.github.com/K3YOMI/Wall-of-Flippers
cd ./Wall-of-Flippers

Step 3: Installing python (python3)

Installing python3 is required to run wall of flippers and installs it's dependencies. The command below will install python3 for you.

sudo apt-get install python3

Step 4: Setting up and Installing the required packages (Multiple Ways)

Installing the required packets and dependencies can be done in three ways with this install. You can choose to use the terminal with the commands below, use requirements.txt, or you use the easy install script within Wall of Flippers. The choice is up to you depending on your preference. To get started with the terminal way. We will use these commands below.

sudo apt-get install libglib2.0-dev
sudo apt-get install python3-bluez
python3 -m venv .venv
source .venv/bin/activate

################## PACKAGES ########################
# requirement.txt method
python3 -m pip install -r requirements.txt
# command method
python3 -m pip install bluepy
python3 -m pip install requests
python3 -m pip install git+https://github.com/pybluez/pybluez.git#egg=pybluez
################## PACKAGES ########################

deactivate

If you would like to use the easy install script, you can use the following commands below.

bash wof.sh

You should get a prompt upon startup, about setting up a managed environment, feel free to let it do for you. Then once an environemnet is complete run wof.sh again and press 4 for the auto install process.

Step 5: Running Wall of Flippers

Once you have finished with all the dependencies and requirements, you can now run Wall of Flippers. To do this, you can run the following command below.

bash wof.sh

Please keep note that running Wall of Flippers requires elevated privileges. Hence the sudo command. If you do not want to run Wall of Flippers with elevated privileges, you can run the following command below.

sudo chmod +x WallofFlippers.py
./WallofFlippers.py
Fedora Linux Install Guide

Fedora Install Guide

To start off, is is highly recommened to follow all instructions we provide unless you know what you are doing. To get started, we need to set up the directory and install the required packages.

Step 1: Full system upgrade / update

Before we continue with the installation, we need to make sure our system is up to date. To do this update through the command line.

sudo dnf update && sudo dnf upgrade -y

Step 2: Git Clone and Git Installiation

To start off, we need to clone the repository and install the required packages. To do this, we need to run the following commands in the terminal. However, if you do not have git installed, you can simply install it by running this command (apt package manager only):

sudo dnf install git
git clone https://www.github.com/K3YOMI/Wall-of-Flippers
cd ./Wall-of-Flippers

Step 3: Installing python (python3)

Installing python3 is required to run wall of flippers and installs it's dependencies. The command below will install python3 for you.

sudo dnf install python3

Step 4: Setting up and Installing the required packages (Multiple Ways)

Installing the required packets and dependencies can be done in three ways with this install. You can choose to use the terminal with the commands below, use requirements.txt, or you use the easy install script within Wall of Flippers. The choice is up to you depending on your preference. To get started with the terminal way. We will use these commands below.

sudo dnf install glib2-devel
sudo dnf install python3-bluez
python3 -m venv .venv
source .venv/bin/activate

################## PACKAGES ########################
# requirement.txt method
python3 -m pip install -r requirements.txt
# command method
python3 -m pip install bluepy
python3 -m pip install requests
python3 -m pip install git+https://github.com/pybluez/pybluez.git#egg=pybluez
################## PACKAGES ########################

deactivate

If you would like to use the easy install script, you can use the following commands below.

bash wof.sh

You should get a prompt upon startup, about setting up a managed environment, feel free to let it do for you. Then once an environemnet is complete run wof.sh again and press 4 for the auto install process.

Step 5: Running Wall of Flippers

Once you have finished with all the dependencies and requirements, you can now run Wall of Flippers. To do this, you can run the following command below.

bash wof.sh

Please keep note that running Wall of Flippers requires elevated privileges. Hence the sudo command. If you do not want to run Wall of Flippers with elevated privileges, you can run the following command below.

sudo chmod +x WallofFlippers.py
./WallofFlippers.py
Windows Install Guide

Windows Install Guide

Windows is currently not fully supported. However, you can still run Wall of Flippers on Windows. A few missing features like the ability to detect advertisment attacks and ability to send advertisments. However the detection of the Flipper Zero device is still supported. To get started, we will need to clone the repository and install the required packages. To do this, we need to run the following commands in the command prompt. However, if you do not have git installed, you can simply install it by downloading it from the official website.

Step 1: Git Clone and Git Installiation

Download and install git from here. Once you have downloaded it, you can now run the following commands below.

git clone https://www.github.com/K3YOMI/Wall-of-Flippers
cd ./Wall-of-Flippers

Step 2: Installing python and pip (python / pip)

This step is quite straightforward as we will be installing python and pip. To do this, we will need to download the latest version of python from the official website. Once you have downloaded the installer, you can run it and install python. Please make sure to check the box that says Add Python to PATH. This will allow you to run python from the command prompt. Once you have installed python, you can now install the required packages. To do this, we will need to run the following commands below.

pip install bleak
pip install requests

Alternatively, you can use the requirements.txt file to install the required packages. To do this, we will need to run the following commands below.

pip install -r requirements.txt

If you would like to use the easy install script, you can use the following commands below.

python WallofFlippers.py

You should get a prompt upon startup, press 4 for the easy install and follow the directions and prompts for the install.

If you are having issues with pip being not recognized as a command, please refer to this question on Stack Overflow.

Step 3: Running Wall of Flippers

Once you have finished with all the dependencies and requirements, you can now run Wall of Flippers. To do this, you can run the following command below.

python WallofFlippers.py

Please keep note that this is a watered down version of Wall of Flippers. Hence the lack of features. If you would like to run the full version of Wall of Flippers, please refer to the Linux Install Guide above.

Pwnagotchi Install Guide

Pwnagotchi Install Guide

You can run Wall of Flippers on Pwnagotchi to scan and save flippers data that your little friend find near them.

Step 1: Clone the repo

Login as root on your Pwnagotchi and run:

cd /root && git clone https://www.github.com/cyberartemio/Wall-of-Flippers && cd Wall-of-Flippers

Step 2: Install Python dependencies

Create virtual environment and install Python dependencies.

python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt && deactivate

Step 3: Systemd daemon

Create the systemd service in /etc/systemd/system/wof.service.

[Unit]
Description=WallofFlippers - A simple and easy way to find Flipper Zero Devices and Bluetooth Low Energy Based Attacks

[Service]
ExecStart=/root/Wall-of-Flippers/.venv/bin/python /root/Wall-of-Flippers/WallofFlippers.py --no-ui wof -d 0
WorkingDirectory=/root/Wall-of-Flippers/
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=wof
User=root
Group=root
Environment="PYTHONUNBUFFERED=1"

[Install]
WantedBy=multi-user.target

Then run:

systemctl daemon-reload

Step 4: Start daemon

To start Wall of Flippers daemon, run:

systemctl start wof

If you want to start the daemon on boot, run:

systemctl enable wof

Once you start the daemon, Wall of Flippers should be running and scanning for nearby Flippers. You can check the status by running:

systemctl status wof

Step 5: Install plugin (optional)

If you want to see the data of Wall of Flippers on you Pwnagotchi screen, install CyberArtemio's wof-pwnagotchi-plugin. Follow the installation steps here.

Issues and Fixes

If you encounter any issues or bugs, please report them to us on our github page. We will try our best to fix them as soon as possible. If you would like to contribute to the project, please feel free to make a pull request. We will review it and merge it if it is a good addition to the project. We will be starting a discord server soon for support and development. Please keep an eye out for that. Thank you for your support and we hope you enjoy this project! <3

Common Errors and Fixes

No such file or directory /sys/class/bluetooth

If the /sys/class/bluetooth directory is not present on your system, it may indicate that the Bluetooth subsystem is not properly detected or enabled. To check if you have the right hardware, please run:

sudo service bluetooth status

If the status is dead you may not have a valid bluetooth chipset or adapter present. If inactive, you can enable the service using this command

sudo service bluetooth restart

Notice

This project isn't the solution to combat the Flipper Zero device or any form of BLE attacks. THIS DOES NOT MITIGATE OR STOP ANYTHING!!! However, the flipper zero device is a great tool for learning and understanding the inctracies of the cyberworld. Now for the detections for this project, we heavily rely on the advertisments that the Flipper Zero sends out for detection. While a user can do many things to avoid being detected by Wall of Flippers. (Depending if the Identifier method gets worked around) We highly advise using this project for an end all solution. While not all bluetooth attacks are sent from only the flipper, it's a good start to understand the world of bluetooth and the attacks that can be accomplished with simple devices.

We hope you enjoy this project and we hope you take the time to learn and build off of this. We are always looking for contributions and new ideas. Thank you for looking at this project and we hope you enjoy it!

k3yomi and emilia0001

Contributors

This project was made possible by the following people. Please make sure to check them out and support them! <3

K3YOMI nescapp jbohack OnlyNandan cyberartemio AleksaMCode elliotwutingfeng
K3YOMI nescapp jbohack OnlyNandan cyberartemio AleksaMCode elliotwutingfeng

Credits

AppleJuice BLE Advertisment Data
ecto-1a
ECTO-1A

Stargazers over time

Stargazers over time

About

🐬 My fork of Wall of Flippers that can run as a systemd daemon/background process also

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages

  • Python 99.9%
  • Shell 0.1%