🐬 A simple and easy way to find Flipper Zero Devices and Bluetooth Low Energy Based Attacks 🐬
🐬 Documentation written by @k3yomi 🐬
- Introduction
- Features
- Install Guide
- Issues and Fixes
- Common Errors and Fixes
- Our Statement
- Credits and Packages
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!
- 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
- Animations (Looking for ascii artists)
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 USBadapter
that supports Bluetooth Low Energy. At this current time, there islimited
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.
Documentation coming soon!
Documentation coming soon!
Documentation coming soon!
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 BTLE. 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.
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
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
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
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#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.
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 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.
Download Link: https://git-scm.com/downloads
Once you have downloaded git, you can now run the following commands below.
git clone https://www.github.com/K3YOMI/Wall-of-Flippers
cd ./Wall-of-Flippers
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.
Download Link: https://www.python.org/downloads/
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 below:
https://stackoverflow.com/questions/23708898/pip-is-not-recognized-as-an-internal-or-external-command
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.
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
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. Ifinactive
, you can enable the service using this command
sudo service bluetooth restart
This project isn't the solution to combat the Flipper Zero device or any form of btle 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
This project was made possible by the following people. Please make sure to check them out and support them! <3
Project Maintainer | Project Contributor | AppleJuice BLE Advertisment Data |
---|---|---|
k3yomi | emilia0001 | Ecto-1A |