Grey Hack

Grey Hack

27 ratings
Full Automated Wi-Fi Hacking Tool
By tihpuher
"It's never been so easy to hack Wi-Fi before!"
   
Award
Favorite
Favorited
Unfavorite
Introduction
This automatic script was created both for teaching and inspiration for beginners in programming, and for ordinary players who want something interesting :)

UPD: version updated [14.01.2022]
fawfht.src
Full Automated Wi-Fi Hacking Tool

globals.cp = current_path globals.shell = get_shell() globals.comp = globals.shell.host_computer line = function() print("<color=green><b>[@@@] ##########################################</b></color>\n") end function pfc = function(text) return print(format_columns(text)) end function clear = function() return clear_screen end function error = function(str) print("<color=red><b>[ERR]:</b></color> " + str) end function message = function() return "<b>[MSG]:</b> " end function crypto = include_lib("/lib/crypto.so") if not crypto then crypto = include_lib(cp + "/crypto.so") if not crypto then return error("Can't find crypto library") loading = function() cnt = 0 while( cnt < 1 ) clear_screen print("<color=#058100>Loading...</color>") wait(0.1) clear_screen print("Loading...") wait(0.1) clear_screen cnt = cnt + 1 end while end function loading c = globals.comp if c.wifi_networks("wlan0")[0] != null then interface="wlan0" end if if c.wifi_networks("eth0")[0] != null then interface="eth0" end if print("<b> ______ __ ________ _ _ _______ </b>") print("<b> | ____/\ \ / / ____| | | |__ __| </b>") print("<b> | |__ / \ \ /\ / /| |__ | |__| | | | </b>") print("<b> | __/ /\ \ \/ \/ / | __| | __ | | | </b>") print("<b> | | / ____ \ /\ / | | | | | | | | </b>") print("<b> |_|/_/ \_\/ \/ |_| |_| |_| |_| </b>\n") print(" <b>Full Automated Wi-Fi Hacking Tool</b>\n") devices = c.network_devices.trim.split(" ") line pfc("[#] [INTERFACE] [CHIPSET] [MONITOR]\n" + "[0] [" + devices[0] + "] [" + devices[1] + "] [" + devices[2] + "]\n") line fh1 = 420000 fh2 = 420000 networks = [] networks = c.wifi_networks(interface) netlen = networks.len bssid = "" essid = "" bss = range(1, netlen) pwr = range(1, netlen) ess = range(1, netlen) ack = range(1, netlen) infonet = range(1, netlen) tack = "" countnet = "" bestnet = "" for net in networks acks = ceil(300000/net.split(" ")[1].remove("%").val) if acks < fh2 then essid = net.split(" ")[2] fh2 = acks end if end for for net in networks countnet = networks.indexOf(net) acks = ceil(300000/net.split(" ")[1].remove("%").val) if acks < fh1 then bssid = net.split(" ")[0] fh1 = acks end if if countnet != netlen then bss[countnet] = net.split(" ")[0] pwr[countnet] = net.split(" ")[1] ess[countnet] = net.split(" ")[2] ack[countnet] = acks end if if countnet == 0 then infonet = "[#] [ESSID] [BSSID] [ACKs] [POWER] [STRENGTH]\n\n" end if if essid == net.split(" ")[2] then infonet = infonet + "[" + countnet + "] [" + net.split(" ")[2] + "] [" + net.split(" ")[0] + "] [" + acks + "] [" + net.split(" ")[1] + "] <color=red>[STRONGEST]</color>\n" tack = acks bestnet = countnet else if pwr[countnet].remove("%").val >= 63 then infonet = infonet + "[" + countnet + "] [" + net.split(" ")[2] + "] [" + net.split(" ")[0] + "] [" + acks + "] [" + net.split(" ")[1] + "] [STRONG]\n" else if pwr[countnet].remove("%").val >= 42 then infonet = infonet + "[" + countnet + "] [" + net.split(" ")[2] + "] [" + net.split(" ")[0] + "] [" + acks + "] [" + net.split(" ")[1] + "] [MEDIUM]\n" else if pwr[countnet].remove("%").val < 42 then infonet = infonet + "[" + countnet + "] [" + net.split(" ")[2] + "] [" + net.split(" ")[0] + "] [" + acks + "] [" + net.split(" ")[1] + "] [WEAK]\n" end if if acks != tack then acks = tack end if end for pfc(infonet) line f = c.File(current_path+"/file.cap") if f then f.delete print(message + "Starting device monitoring...\n") crypto.airmon("start", interface) line check = false while( check == false ) selectnet = user_input(message + "If you want to auto-select the <b>strongest</b> network - press <b>Enter</b>.\n" + message + "If you want to select <b>manually</b>, then type <b>number</b> of network: ", false, false).to_int print(" ") line if typeof(selectnet) == "number" and selectnet >= 0 and selectnet <= netlen then print(message + "You have selected <b>" + ess[selectnet] + "</b> network.\n") print(message + "Target value of ACKs: [" + ack[selectnet] + "]\n") if ack[selectnet] <= 7000 then print(message + "Estimated time: 1-2 minutes...\n") else print(message + "Estimated time: 5-10 minutes, but if strength is too low then wait so long...\n") end if check = true else if selectnet == "" then selectnet = bestnet print(message + "You have selected <b>" + essid + "</b> network.\n") print(message + "Target value of ACKs: <b>[" + acks + "]</b>\n") if acks <= 7000 then print(message + "Estimated time: 1-2 minutes...\n") else print(message + "Estimated time: 5-10 minutes, but if strength is too low then wait so long...\n") end if check = true else error("Invalid data type, please try again!") check = false end if end while line print(message + "Aireplay started working.") if essid == ess[bestnet] then r1 = crypto.aireplay(bssid,essid,acks) else r1 = crypto.aireplay(bss[selectnet], ess[selectnet], ack[selectnet]) end if wait(1) if typeof(r1) == "string" then error("Variable [r1] is string") exit(message + "Terminated! r1 variable is string! Please check the code!") end if pass = crypto.aircrack(current_path+"/file.cap") if pass == "" then error("Variable [pass] is null") exit(message + "Terminated! Password not found! Please try again!") end if print(message + "Aireplay finished working.\n") line f = c.File(current_path+"/file.cap") if f then f.delete print(message + "Stopping device monitoring...\n") crypto.airmon("stop", interface) line check = false while( check == false ) quest = user_input(message + "Do you want to connect to the network (y/n)? ", false, true) if quest == "y" or quest == "Y" then if essid == ess[bestnet] then c.connect_wifi(interface, bssid, essid, pass) print("\n" + message + "You are connected to the network <color=red><b>" + essid + "</b></color>. Password: <color=red><b>" + pass + "</b></color>") check = true else c.connect_wifi(interface, bss[selectnet], ess[selectnet], pass) print("\n" + message + "You are connected to the network <color=red><b>" + ess[selectnet] + "</b></color>. Password: <color=red><b>" + pass + "</b></color>") check = true end if else if quest == "n" or quest == "N" then if essid == ess[bestnet] then print("\n" + message + "You are not connected to the network <color=red><b>" + essid + "</b></color>. Password: <color=red><b>" + pass + "</b></color>") check = true else print("\n" + message + "You are not connected to the network <color=red><b>" + ess[selectnet] + "</b></color>. Password: <color=red><b>" + pass + "</b></color>") check = true end if else error("Invalid data type, please try again!") check = false end if end while exit("\n" + message + "Goodbye hacker! Have a nice day!\n")
multidec.src (beta)
Auto multi-decipher. Pretty simple script. (BETA version)

cryptools = include_lib("/lib/crypto.so") if not cryptools then include_lib(current_path + "/crypto.so") else if not cryptools then exit("Error: Missing crypto library") end if GetPassword = function(userPass) if userPass.len != 2 then exit("decipher: " + file.path + " wrong syntax") password = cryptools.decipher(userPass[1]) return password end function if params.len != 1 or params[0] == "-h" or params[0] == "--help" then exit(command_info("decipher_usage")) origFile = params[0] file = get_shell.host_computer.File(origFile) if not file then exit("decipher: can't find " + origFile) if not file.has_permission("r") then exit("can't read file. Permission denied") if file.get_content.len == 0 then exit("decipher: no users found") lines = file.get_content.split("\n") password = null if lines.len == 1 then userPass = lines[0].split(":") password = GetPassword(userPass) else print("Multiple users found.") numLine = 1 for line in lines if line.len > 0 then print(numLine + ": " + line) numLine = numLine + 1 end if end for print("\n") allDone = 0 while( allDone < numLine ) userPass = lines[allDone].split(":") allDone = allDone + 1 print("Selected user: " + userPass[0] + "\nDeciphering...") password = GetPassword(userPass) if not password then exit("Can't find password :(") print("password found! => " + password + "\n") end while end if
Please feedback hackers!
If you want to improve this script... BE FREE! SHARE! COMMENT!


...
31 Comments
Torax Outlaw Feb 28 @ 3:50am 
I'm using this script, but it does not autoconnect once completed and I chose yes for it to autoconnect. I have to manually crack the wifi network myself.
Synergist Jan 5, 2024 @ 4:13am 
Excellent code, thanks for sharing this.

to the error being experienced by @vhsfernandes2008

on line 160, 190 and 200
"if essid == ess[bestnet] then"

essid was used to find "bestnet", and is never changed, so this will always be true.
This makes the script always crack and use "bestnet".

changing this to:
"if ess[selectnet] == ess[bestnet] then"

for all of these lines, fixes this issue.

Hope this helps.
vhsfernandes2008 Nov 7, 2023 @ 8:23am 
even if i put to no connect in final he connect anyway
vhsfernandes2008 Nov 7, 2023 @ 8:22am 
uh when i execute the script just go on best whatever i chose the 1 2 3 4 options he always go on the best
Codesidian Apr 5, 2022 @ 2:47pm 
For the automated wifi hacking script, It's missing
essid = ess[selectnet]
acks = ack[selectnet]
on line 140 before setting check = true. Otherwise it'll just stay on the default essid, acks values.
Dudz Jan 26, 2022 @ 6:57am 
Awesome! PERFECT!!! Thank you so much for this!!!! Apreciated

for decipher, I guess user preference, I use


crypto = include_lib("/lib/crypto.so")
info = params[0].split(":")
result = crypto.decipher(info[1])
print(info[0]+" "+result)

(I would have use the formatting for code, but I have no idea how to use with [])
tihpuher  [author] Jan 18, 2022 @ 3:03pm 
NEW VERSION UPDATED
tihpuher  [author] Jan 15, 2022 @ 8:48am 
@Jackson, i'll check it out. Confirmed. Error in 20% of cases. I rewrite the code.
Jackson Jan 15, 2022 @ 3:43am 
Hey, appreciate your work. Tried to build ist myself by followoiing your code. I got a Type Error on the change monitoring_mode of airmon, when the programs starts to monitor. Seems like it doesn't like the var of the intr.
tihpuher  [author] Jan 14, 2022 @ 3:48am 
@Dudz, script updated again & code polished. File.cap not needed now. Now script create text file with credentials of network.