pi-pwnbox-rogueap
Homemade Pwnbox :rocket: / Rogue AP :satellite: based on Raspberry Pi — WiFi Hacking Cheatsheets + MindMap :bulb:
Top Related Projects
The Rogue Access Point Framework
This is a multi-use bash script for Linux systems to audit wireless networks.
DEPRECATED, wifipumpkin3 -> https://github.com/P0cL4bs/wifipumpkin3
Fluxion is a remake of linset by vk496 with enhanced functionality.
*DEPRECATED* mana toolkit for wifi rogue AP attacks and MitM
Quick Overview
Pi-pwnbox-rogueap is a project that transforms a Raspberry Pi into a portable pentesting box and rogue access point. It automates the setup of various hacking and network analysis tools, creating a powerful and compact device for security testing and wireless network attacks.
Pros
- Easy setup process with automated installation scripts
- Comprehensive set of pre-configured tools for pentesting and network analysis
- Portable and low-cost solution using Raspberry Pi hardware
- Supports both Ethernet and Wi-Fi interfaces for versatile connectivity options
Cons
- Potential for misuse if not handled responsibly
- Limited processing power compared to full-fledged laptops or desktops
- Requires basic knowledge of Linux and networking concepts
- May require additional hardware (e.g., external Wi-Fi adapter) for optimal performance
Getting Started
-
Clone the repository:
git clone https://github.com/koutto/pi-pwnbox-rogueap.git
-
Navigate to the project directory:
cd pi-pwnbox-rogueap
-
Run the installation script:
sudo ./install.sh
-
Follow the on-screen prompts to configure your Raspberry Pi as a pwnbox and rogue access point.
-
Reboot your Raspberry Pi to apply all changes:
sudo reboot
After rebooting, your Raspberry Pi will be configured as a portable pentesting box and rogue access point, ready for security testing and network analysis.
Competitor Comparisons
The Rogue Access Point Framework
Pros of Wifiphisher
- More actively maintained with regular updates and contributions
- Supports a wider range of attack scenarios and phishing templates
- Better documentation and user guides available
Cons of Wifiphisher
- Requires more setup and configuration compared to Pi-pwnbox-rogueap
- May be more complex for beginners to use effectively
- Less focused on Raspberry Pi-specific implementations
Code Comparison
Pi-pwnbox-rogueap:
sudo ./pi-pwnbox-rogueap.sh -i wlan0 -c 6 -s "Free WiFi" -p "password123" -u "http://example.com"
Wifiphisher:
sudo wifiphisher -i wlan0 -e "Free WiFi" -p oauth-login --kwargs target_ap_bssid="00:11:22:33:44:55"
Both tools use command-line interfaces for execution, but Wifiphisher offers more customization options and attack scenarios. Pi-pwnbox-rogueap focuses on a simpler, more straightforward approach specifically tailored for Raspberry Pi devices.
While Pi-pwnbox-rogueap is designed as an all-in-one solution for Raspberry Pi, Wifiphisher provides a more versatile framework for various Wi-Fi attack scenarios across different platforms. The choice between the two depends on the user's specific needs, skill level, and target environment.
This is a multi-use bash script for Linux systems to audit wireless networks.
Pros of airgeddon
- More comprehensive suite of wireless attack tools and techniques
- Actively maintained with frequent updates and community contributions
- Supports a wider range of operating systems and distributions
Cons of airgeddon
- Steeper learning curve due to more complex features and options
- Requires more manual configuration and setup compared to pi-pwnbox-rogueap
Code Comparison
airgeddon:
if [ "$AIRGEDDON_AUTO_UPDATE" = "true" ]; then
if check_update_tools; then
echo -e "${yellow_color}[*]${normal_color} Airgeddon update available. Updating..."
update_airgeddon
fi
fi
pi-pwnbox-rogueap:
if [ "$INSTALL_AIRCRACK" = true ]; then
echo "[+] Installing Aircrack-ng..."
apt-get install -y aircrack-ng
fi
The airgeddon code snippet shows an auto-update feature, while pi-pwnbox-rogueap focuses on package installation. This reflects airgeddon's more dynamic and feature-rich nature compared to pi-pwnbox-rogueap's simpler setup approach.
DEPRECATED, wifipumpkin3 -> https://github.com/P0cL4bs/wifipumpkin3
Pros of WiFi-Pumpkin-deprecated
- More comprehensive set of attack modules and plugins
- User-friendly graphical interface for easier operation
- Active community support and contributions
Cons of WiFi-Pumpkin-deprecated
- Deprecated status may lead to lack of updates and potential security issues
- Requires more system resources due to graphical interface
- May have a steeper learning curve for beginners
Code Comparison
WiFi-Pumpkin-deprecated:
class Ui_MainWindow(QMainWindow):
def __init__(self, parent=None):
super(Ui_MainWindow, self).__init__(parent)
self.Main = QVBoxLayout()
self.setWindowTitle('WiFi-Pumpkin v' + self.version)
self.loadtheme(self.configure.XmlThemeSelected())
pi-pwnbox-rogueap:
#!/bin/bash
# Start Evil Twin attack
airbase-ng -e "$SSID" -c "$CHANNEL" "$INTERFACE" &
sleep 2
ifconfig at0 up
ifconfig at0 "$IP_ADDR"
route add -net "$NETWORK" netmask "$NETMASK" gw "$IP_ADDR"
The code snippets highlight the different approaches: WiFi-Pumpkin-deprecated uses a Python-based GUI, while pi-pwnbox-rogueap employs bash scripts for configuration and execution.
WiFi-Pumpkin-deprecated offers a more feature-rich and user-friendly experience but may be less maintainable due to its deprecated status. pi-pwnbox-rogueap, on the other hand, provides a simpler, script-based approach that may be easier to customize and maintain for advanced users.
Fluxion is a remake of linset by vk496 with enhanced functionality.
Pros of Fluxion
- More actively maintained with recent updates
- Larger community and contributor base
- Supports multiple attack vectors and customization options
Cons of Fluxion
- More complex setup and configuration process
- Requires more system resources to run effectively
- May have a steeper learning curve for beginners
Code Comparison
pi-pwnbox-rogueap:
sudo systemctl start hostapd
sudo systemctl start dnsmasq
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Fluxion:
source lib/APICore.sh
source lib/InterfaceUtils.sh
source lib/EvilTwin.sh
source lib/Handshake.sh
fluxion_header
The pi-pwnbox-rogueap code snippet shows a more straightforward approach to setting up a rogue access point using system commands. In contrast, the Fluxion code demonstrates a modular structure with separate libraries for different functionalities, indicating a more complex and feature-rich implementation.
*DEPRECATED* mana toolkit for wifi rogue AP attacks and MitM
Pros of mana
- More comprehensive set of tools and scripts for advanced wireless attacks
- Better documentation and community support
- Regularly updated with new features and bug fixes
Cons of mana
- Steeper learning curve for beginners
- Requires more system resources to run effectively
- May have compatibility issues with some hardware configurations
Code comparison
mana:
#!/bin/bash
source config.rc
start_noupstream
start_hostapd
start_dhcp
start_nat
pi-pwnbox-rogueap:
#!/bin/bash
source config.sh
setup_interface
start_hostapd
start_dnsmasq
enable_ip_forwarding
Both projects use similar bash scripts to set up rogue access points, but mana's implementation is generally more complex and feature-rich. pi-pwnbox-rogueap focuses on simplicity and ease of use for Raspberry Pi devices.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Pi-PwnBox :rocket: -RogueAP :satellite:
Homemade (headless) PwnBox / RogueAP based on Raspberry Pi & Alfa WiFi USB Adapters.
WiFi Hacking Cheatsheets & Mind Map :bulb:
Designed to be used for:
- On-site Red Team engagements,
- WiFi Security assessments,
- WiFi Attacks practice.
Table of Contents
Equipment used
- Raspberry Pi 3 Model B+
- Micro SD Memory Card 64 Go
- Raspberry Pi Case
- Alfa WiFi USB Adapter AWUS036NEH
- Alfa WiFi USB Adapter AWUS036ACH
- BrosTrend WiFi USB Adapter AC1L AC1200 (can be replaced by any adapter supporting AP mode)
- USB cable Male to Female
- Rii Mini Wireless Keyboard (optional)
- Powerbank
WiFi USB Adapters Overview
Device | Chipset | Usage | 802.11 | 2.4 Ghz | 5 Ghz | Kali out-of-box | Mon. Mode | Injec-tion | AP |
---|---|---|---|---|---|---|---|---|---|
Built-in Raspberry Pi 3 B+ WiFi chip | Broadcom 43430 | Connection to Internet (auto-start at boot if WiFi key added in config) | 802.11 b/g/n/ac | Y | Y | Y | N* | N* | Y |
BrosTrend AC1L AC1200 | Realtek RTL8812AU | Acces Point for Remote Access (auto-start at boot) | 802.11 a/b/g/n/ac | Y | Y | N | Y | N | Y |
Alfa AWUS036NEH | Ralink RT2870/3070 | WiFi Attacks | 802.11 b/g/n | Y | N | Y | Y | Y | Y |
Alfa AWUS036ACH | Realtek RTL8812AU | WiFi Attacks | 802.11 a/b/g/n/ac | Y | Y | Y | Y | Y | Y |
* would require nexmon patch to enable monitor mode and injection support on built-in Broadcom chip (but we do not need it for its usage here).
Installation
-
Download Kali Linux ARM Image for Raspberry Pi: https://www.offensive-security.com/kali-linux-arm-images/
-
Flash Kali Linux ARM Image for Rapberry Pi onto Micro SD Card.
-
Make sure to have Internet connection on PwnBox.
-
Download install scripts/configurations on the PwnBox:
git clone https://github.com/koutto/pi-pwnbox-rogueap.git
-
Important: Edit install script configuration at the top of
scripts/install-system.sh
file:- Choose Guacamole passwords.
- Set WiFi interfaces persistent names based on their MAC addresses:
wlxaabbccddeeff
for a device with MAC addressaa:bb:cc:dd:ee:ff
. - Set MAC addresses of
eth0
&wlan0
(built-in interfaces). - Set WiFi connection settings.
-
Run install script (will pause at the end of each step in order to allow for manual inspection of command outputs)
cd pi-pwnbox-rogueap/scripts ./install-system.sh
-
Reboot & check correct configuration of network interfaces:
ip a iwconfig
- Built-in wired and wireless interfaces should be named
eth0
andwlan0
respectively. - WiFi USB Adapters should use persistent naming (modern naming convention).
- AP (
PWNBOX_ADMIN
) should be started on appropriatewlx*
interface.
- Built-in wired and wireless interfaces should be named
-
Configure VNC-over-HTTP on Guacamole:
- Connect to Guacamole at http://<ip_pwnbox>:8080/guacamole/
- Go to guacadmin (top right) > Settings > Connections
- Click on New Connection
- Fill connection settings as follows:
- Name =
pwnbox-vnc
- Location =
ROOT
- Protocol =
VNC
- Maximum number of connections =
3
- Maximum number of connections =
3
- Guacamole Proxy Hostname =
127.0.0.1
- Guacamole Proxy Port =
4822
- Network Hostname =
127.0.0.1
- Network Port =
5901
- Authentication Password =
(password chosen at install when running install-system.sh)
- Color depth =
True color (32-bit)
- Name =
-
Change default credentials:
- Kali system credentials
- Guacamole credentials (via
http://<ip_pwnbox>:8080/guacamole/#/manage/mysql/users/guacadmin
)
PwnBox Network Configuration
Wireless Dedicated Administration Network
When booting, PwnBox automatically spawns an AP on one interface to allow for easy remote access:
- SSID =
PWNBOX_ADMIN
(Hidden SSID) - WPA2 Passphrase (PSK) =
Koutto!PwnB0x!
- IP AP = 10.0.0.1 (when connected to this network, PwnBox can be accessed at this IP)
- Network range = 10.0.0.1/24
LAN Network (Wireless or Wired)
When booting, PwnBox automatically connects to:
-
Wired network if Ethernet port is connected.
-
WiFi network (using built-in Raspberry Pi chip) if there is available wireless network with saved connection settings (in
/etc/wpa_supplicant.conf
). If you want to connect to a new WiFi network (not saved into PwnBox), it is necessary to add WPA passphrase of the network before:-
Access the PwnBox using another way, e.g.:
- Use wireless dedicated administration network (most convenient approach),
- Use wired network,
- Use monitor + (wireless) keyboard.
-
Add WPA passphrase to PwnBox local configuration:
wpa_passphrase <SSID> <passphrase> >> /etc/wpa_supplicant.conf
-
Test connection:
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf dhclient -v wlan0 ping 8.8.8.8
-
PwnBox Remote Access
PwnBox can be controlled through:
-
SSH Service (22/tcp):
ssh kali@<ip_pwnbox>
-
VNC-over-HTTP with Guacamole (8080/tcp):
http://<ip_pwnbox>:8080/guacamole
PwnBox's IP depends on the network you want to access it from:
- Via Wireless Dedicated Administration Network (i.e. connected to hidden SSID
PWNBOX_ADMIN
): IP is always10.0.0.1
. - Via LAN Network (wireless or wired): IP depends on the value allocated by DHCP server. IP can be found using
netdiscover
for example.
Note: Guacamole service might take a lot of resources (RAM) when running. If not used, it can be stopped using stop-guacamole.sh
script.
Usage
-
Most of the time, only SSH access is necessary. (CLI tools).
-
Additional tools are installed into /usr/share.
-
Tools with GUI or requiring spawning of multiple xterm (e.g. airgeddon) can be run through Guacamole.
-
Tools with Web UI (e.g. Kismet, Bettercap) can be started and accessed remotely.
WiFi Hacking Cheatsheets & Mind Map
Possible Upgrade
- Add 4G USB dongle for remote access to PwnBox using 4G cell network.
Top Related Projects
The Rogue Access Point Framework
This is a multi-use bash script for Linux systems to audit wireless networks.
DEPRECATED, wifipumpkin3 -> https://github.com/P0cL4bs/wifipumpkin3
Fluxion is a remake of linset by vk496 with enhanced functionality.
*DEPRECATED* mana toolkit for wifi rogue AP attacks and MitM
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot