import_code("/root/BytesDev") import_code("/root/minifox") import_code("/root/Fox.so") cob=get_custom_object if get_shell.host_computer.public_ip == "servIp" then exit("You really thought you could run this on the main server and I WOULDN'T have protection against that?") ver = "2.8.3" internal_ver=1 fox=" _,-=._ /|_/|\n" fox=fox+" `-.} `=._,.-=-._., @ @._,\n" fox=fox+" `._ _,-. ) _,.-'\n" fox=fox+" ` G.m-""^m`m'\n" moto ="Make any system a FoxTrot!" logo = "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" logo = logo+" ______ ______ __ \n" logo = logo+" / ____/ ____ _ __ /_ __/ _____ ____ / /_\n" logo = logo+" / /_ / __ \ | |/_/ / / / ___/ / __ \ / __/\n" logo = logo+" / __/ / /_/ / _> < / / / / / /_/ // /_ \n" logo = logo+"/_/ \____/ /_/|_| /_/ /_/ \____/ \__/ \n" logo = logo+"-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" logo = logo+"v. "+ver+"\n" logo = logo+fox logo = logo+moto+"\n" logo = logo+"By Clover (discord.gg/9qFt4KJgtE)\n" print(logo) libs=FoxLib.General.LibFinder() mxf=libs.mxf cpf=libs.cpf if not mxf then exit("-={FATAL ERROR: Could not locate library 'metaxploit' in the system!}=-") mx=include_lib(mxf) print("Library 'metaxploit' v."+mx.load(mxf).version+" loaded successfully!") if not cpf then exit("-={FATAL ERROR: Could not locate library 'crypto' in the system!}=-") cp=include_lib(cpf) print("Library 'crypto' v."+mx.load(cpf).version+" loaded successfully!") apt = include_lib("/lib/aptclient.so") foxtrot=program_path scnln = "/usr/bin/ScanLan.exe" results=[] if not get_shell.host_computer.File(scnln) then scnln = current_path+"/ScanLan.exe" if not get_shell.host_computer.File(scnln) then scnln = null owner="Clover" if apt then inSource=apt.show("30.30.30.30") inSourceF=apt.show("32.165.47.151") if inSource == "30.30.30.30 repository not found" then apt.add_repo("30.30.30.30",1542) apt.update end if if inSourceF == "32.165.47.151 repository not found" then apt.add_repo("32.165.47.151") apt.update end if if typeof(apt.check_upgrade(mxf)) == "number" and apt.check_upgrade(mxf) then apt.install("metaxploit.so",parent_path(mxf)) if typeof(apt.check_upgrade(foxtrot)) == "number" and apt.check_upgrade(foxtrot) then print("FoxTrot updated! Autoupdating...\n") apt.install("FoxTrot",parent_path(foxtrot)) exit("Please re-launch FoxTrot") end if end if mx=include_lib(mxf) //login tfaa=function(fuser) out={} out.bool=1 cont=server.host_computer.File("/.FoxTrot/users/"+fuser+"/mail.enc").get_content cont=FoxLib.General.Deserialize(cont) print("Verify email - "+cont.verify+"") mconf=user_input("\_[: ") if Sha256(mconf) != cont.hashed then out.bool=0 out.err="Could not validate email" return out end if mail=mail_login if typeof(mail) == "string" then out.bool=0 out.err="-={FATAL ERROR: Could not send 2FA email}=-" return out end if tfan=floor(rnd*2000000) text="=-= ALERT -=-"+char(10)+"This is an automated alert sent by FoxTrot"+char(10)+"ACCOUNT LOGIN DETECTED"+char(10)+"Account: "+fuser+""+char(10)+"IP: "+get_shell.host_computer.public_ip+""+char(10)+"Time: ["+current_date+"]"+char(10)+"2FA: "+tfan+"" mail.send("null@null.null","FOXTROT ALERT",text) auth=user_input("\_[2FA: ") if auth != str(tfan) then out.bool=0 out.err="Incorrect 2FA code." return out end if return out end function login=function(fuser,fpass) if server.host_computer.File("/.FoxTrot/users/"+fuser) == null then exit("-={Could not verify your identity!}=-") userAcc=server.host_computer.File("/.FoxTrot/users/"+fuser+"/passwd.enc") userData = userAcc.get_content if Sha256(fpass) != userData then exit("-={Could not verify your identity!}=-") if server.host_computer.File("/.FoxTrot/users/"+fuser+"/license").get_content == "BAN" then exit("-={This account has been permanently banned.}=-") tfa=server.host_computer.File("/.FoxTrot/users/"+fuser+"/sec.lvl").get_content if tfa == "1" then x=tfaa(fuser) if not x.bool then exit x.err end if end function checklgn=function() out={} out.bool=1 fpass=user_input("\_[Password: ",1) if Sha256(fpass) != fdata.get_content then out.bool=0 out.err="-={Could not verify your identity}=-" return out end if if fconf.get_content == "1" then return tfaa(fuser) return out end function register=function() allowedChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" print("CAUTION: Be careful while creating an account! We cannot recover your password if you forget it!") globals.fuser=user_input("\_[Username: ") if fuser.len < 3 then print("Username too short!") wait(1) return 0 end if if fuser.len > 20 then print("Username too long!") wait(1) return 0 end if for chr in fuser if allowedChars.indexOf(chr) == null then print("Illegal characters used in username!") wait(1) return 0 end if end for if server.host_computer.File("/.FoxTrot/users/"+fuser) then print("That username is taken!") wait(1) return 0 end if globals.fpass=user_input("\_[Password: ",1) cpass=user_input("\_[Confirm: ",1) if cpass != fpass then print("Passwords do not match") wait(1) return 0 end if print("Redeem your license under account setting after registering") cont=server.host_computer.File("/.FoxTrot/used_licenses").get_content cont=FoxLib.General.Deserialize(cont) cont[fuser]="FREE" cont=FoxLib.General.Serialize(cont,1) server.host_computer.File("/.FoxTrot/used_licenses").set_content(cont) server.host_computer.create_folder("/.FoxTrot/users/",fuser) server.host_computer.touch("/.FoxTrot/users/"+fuser,"passwd.enc") server.host_computer.touch("/.FoxTrot/users/"+fuser,"mail.enc") server.host_computer.touch("/.FoxTrot/users/"+fuser,"modules") server.host_computer.touch("/.FoxTrot/users/"+fuser,"license") server.host_computer.touch("/.FoxTrot/users/"+fuser,"sec.lvl") server.host_computer.File("/.FoxTrot/users/").chmod("o-wrx",1) server.host_computer.File("/.FoxTrot/users/").chmod("g-wrx",1) server.host_computer.File("/.FoxTrot/users/").chmod("u-wrx",1) server.host_computer.File("/.FoxTrot/users/"+fuser+"/sec.lvl").set_content("0") server.host_computer.File("/.FoxTrot/users/"+fuser+"/passwd.enc").set_content(Sha256(fpass)) server.host_computer.File("/.FoxTrot/users/"+fuser+"/license").set_content("FREE") server.host_computer.File("/.FoxTrot/users/"+fuser+"/mail.enc").set_content("none") server.host_computer.File("/.FoxTrot/users/"+fuser+"/modules").set_content("[]") return 1 end function //end login getRandomIp=function() octets=[] for i in range(0,3) if i == 0 then octets.push(ceil(rnd*223)) else octets.push(floor(rnd*256)) end for return octets.join(".") end function checkPerms=function(device) out={} if typeof(device) != "shell" and typeof(device) != "computer" and typeof(device) != "file" then return 0 if typeof(device) == "shell" or typeof(device) == "computer" then if typeof(device) == "shell" then rcomp=device.host_computer else rcomp=device rfile=rcomp.File("/") ruser="guest" if rfile and rfile.has_permission("w") then ruser="root" else rfile=rcomp.File("/home") if rfile then for user in rfile.get_folders if user.name == "guest" then continue if user.has_permission("w") then ruser=user.name end for end if end if out.user=ruser out.lan=rcomp.local_ip out.pub=rcomp.public_ip end if return out end function exploit=@FoxLib.VulnV.Exploit compression=@FoxLib.General.Compression getExploits=function() globals.exploits=[] if server then e="" globals.dbfile=servdb.get_files[-1] for file in servdb.get_files if file.get_content.len > 1 then e=e+compression(file.get_content,"decompress") end for for line in e.split("/") if line == "" then continue newLib={} newLib.name=line.split("#")[0] newLib.ver=line.split("#")[1].split(char(10))[0] newLib.vulns=[] vulns=line.split(":") vulns.pull for l in vulns l=l.split("\n") if l[0] == "" then continue ex={"mem": 0, "vulns": []} ex.mem=l.pull for vuln in l if vuln == "" then continue ex.vulns.push(vuln) end for newLib.vulns.push(ex) end for exploits.push(newLib) end for return end if end function Scan=function() scanned=exploit(lmx,ml,args) for mem in scanned.db.exploits for ent in mem.vulns result=ent.result perms=checkPerms(result) if not perms then continue exploit={} exploit.obj=result exploit.user=perms.user exploit.mem=mem.mem exploit.exp=ent.vuln exploit.lan=perms.lan exploit.pub=perms.pub if exlib then exploit.port=exlib.name else exploit.port=expport if results.indexOf(exploit) != null then continue results.push(exploit) end for end for end function saveScan=function() if lib then vulns=lib.vulns for insec in vulns mem=insec.mem for vuln in insec.vulns exp=vuln if args then result=ml.overflow(mem,exp,args) else result=ml.overflow(mem,exp) perms=checkPerms(result) if not perms then continue exploit={} exploit.obj=result exploit.user=perms.user exploit.mem=mem exploit.exp=exp exploit.lan=perms.lan exploit.pub=perms.pub if exlib then exploit.port=exlib.name else exploit.port=expport if results.indexOf(exploit) != null then continue results.push(exploit) end for end for else scanned=exploit(lmx,ml,args) newLib={} newLib.name=scanned.db.name newLib.ver=scanned.db.ver newLib.vulns=[] for mem in scanned.db.exploits ex={} ex.mem=mem.mem ex.vulns=[] for ent in mem.vulns exp=ent.vuln ex.vulns.push(exp) result=ent.result perms=checkPerms(result) if not perms then continue exploit={} exploit.obj=result exploit.user=perms.user exploit.mem=mem.mem exploit.exp=exp exploit.lan=perms.lan exploit.pub=perms.pub if exlib then exploit.port=exlib.name else exploit.port=expport if results.indexOf(exploit) != null then continue results.push(exploit) end for newLib.vulns.push(ex) end for n="/"+newLib.name+"#"+newLib.ver+char(10) for vuln in newLib.vulns n=n+":"+vuln.mem+char(10)+vuln.vulns.join(char(10))+char(10) end for if server then if dbfile.get_content.len > 1 then if compression(compression(dbfile.get_content,"decompress")+n,"compress").len >= 160000 then server.host_computer.touch("/root/exploits","exp"+server.host_computer.File("/root/exploits").get_files.len+1) globals.dbfile=servdb.get_files[-1] end if end if end if if dbfile.get_content.len == 0 then dbfile.set_content(compression(n,"compress")) else dbfile.set_content(compression(compression(dbfile.get_content,"decompress")+n,"compress")) end if end function Sha256=@FoxLib.Crypto.Sha256 decrypt = @FoxLib.VulnV.Decipher printMenu=function(items) menu=[] for i in range(0,items.len-1) menu.push("\_["+(i+1)+"] "+items[i]+"") end for menu.push("\_[0] Exit") menu.push("|") print(menu.join("\n")) end function print("Connecting to FoxTrot servers. . .") proxy=get_shell.connect_service if typeof(proxy) != "shell" then exit("-={Error: Could not establish connection}=-") proxy.host_computer.touch("/var","system.bak") bak=proxy.host_computer.File("/var/system.bak") bak.set_content(FoxLib.General.rndstring(512)) bak.move("/var/system.log") wait(.2) log=proxy.host_computer.File("/var/system.log") log.chmod("o-wrx") log.chmod("g-wrx") log.chmod("u-wrx") server=proxy.connect_service if typeof(server) != "shell" then exit("-={Error: Could not establish connection}=-") print("Connection established!") if internal_ver != server.host_computer.File("/root/ver").get_content.val then exit("-={Error: Unsupported FoxTrot version.}=-") server.launch("/root/rcon") scp=cob.server.cp error=function(reason) out={} out.bool=0 out.err=reason return out end function if server.host_computer.File("/.FoxTrot/maintenance").get_content != "0" then exit("-={"+server.host_computer.File("/.FoxTrot/maintenance").get_content+"}=-") if launch_path != program_path then print("Invalid launch program detected, account may be compromised") wait(1) end if if params.len > 0 then fuser=params[0] if params.len > 1 then fpass=params[1] else fpass=user_input("\_[Password: ",1) login(fuser,fpass) else while 1 clear_screen print(logo) print("[Login] or [Register]") print("Run FoxTrot as such (foxtrot [username] [password]) to log in quicker!") print("Buy a license at www.unityfe.org!") opt=user_input("\_[: ").lower if opt == "login" then fuser=user_input("\_[Username: ") fpass=user_input("\_[Password: ",1) login(fuser,fpass) break end if if opt == "register" then check=register() if check then break end if end while end if fmods=server.host_computer.File("/.FoxTrot/users/"+fuser+"/modules") fdata=server.host_computer.File("/.FoxTrot/users/"+fuser+"/passwd.enc") fconf=server.host_computer.File("/.FoxTrot/users/"+fuser+"/sec.lvl") fmail=server.host_computer.File("/.FoxTrot/users/"+fuser+"/mail.enc") ls=server.host_computer.File("/.FoxTrot/users/"+fuser+"/license") servdb=server.host_computer.File("/root/exploits") clear=function() clear_screen print logo end function wait(2) while 1 opt=null clear print("/ Main menu") printMenu(["Hacks","Viruses","Utility","Security","Account","Shop","Credits"]) opt=user_input("\_[#: ") if opt == "0" then exit("-={Leaving FoxTrot, come back soon!}=-") if opt == "7" then print("/ Credits") print("\_[Clover] Developer and Publisher of FoxTrot") print("\_[RedFox.py] UI inspiration") print("\_[jhook/Plu70] MiniFoxOS piping code and minor command inspiration") print("\ Honorable mentions") print("\_[Trashed] Alpha testing") print("\_[tester_name_here] Alpha testing") print("\_[And you] for downloading FoxTrot!") user_input("\_[Press any key to exit:",0,1) opt=null end if //if opt == "6" then // while 1 // opt=null // clear // print("/ FoxTrot Module Shop") // mods=FoxLib.General.Deserialize(fmods.get_content) // if mods.indexOf("1") != null then break // // //hacks // if mods.indexOf("dict") == null then print("\_[DictSSH] 50 Bytes") // //virus // if mods.indexOf("0") == null and mods.indexOf("rsh") == null then print("\_[RSheller] 5 Bytes") // //sec // if mods.indexOf("vd") == null then print("\_[Fyrwall] 100 Bytes") // if mods.indexOf("fvpn") == null then print("\_[FoxVPN] 100 Bytes") // if mods.indexOf("corr") == null then print("\_[Corrupt] 5 Bytes") // print("|") // print("\_[0] Back") // opt=user_input("\_[: ").lower // if opt == "0" then;opt=null;break;end if // // if opt == "dictssh" then // if mods.indexOf("dict") != null then continue // print("YOU ARE PURCHASING : DictSSH : FOR : 50 Bytes : CONTINUE?") // opt=user_input("[y/N]$").lower // if opt != "y" then continue // output=Bytes.transfer(owner,"50") // if output.bool then // print(output.out) // else // print(output.err) // wait(2) // continue // end if // mods.push("dict") // fmods.set_content(str(mods)) // end if // // if opt == "fyrwall" then // if mods.indexOf("vd") != null then continue // print("YOU ARE PURCHASING : Fyrwall : FOR : 100 Bytes : CONTINUE?") // opt=user_input("[y/N]$").lower // if opt != "y" then continue // output=Bytes.transfer(owner,"100") // if output.bool then // print(output.out) // else // print(output.err) // wait(2) // continue // end if // mods.push("vd") // fmods.set_content(str(mods)) // end if // // if opt == "rsheller" then // if mods.indexOf("0") != null or mods.indexOf("rsh") != null then continue // print("YOU ARE PURCHASING : RSheller : FOR : 5 Bytes : CONTINUE?") // opt=user_input("[y/N]$").lower // if opt != "y" then continue // output=Bytes.transfer(owner,"5") // if output.bool then // print(output.out) // else // print(output.err) // wait(2) // continue // end if // mods.push("rsh") // fmods.set_content(str(mods)) // end if // // if opt == "foxvpn" then // if mods.indexOf("fvpn") != null then continue // print("YOU ARE PURCHASING : FoxVPN : FOR : 100 Bytes : CONTINUE?") // opt=user_input("[y/N]$").lower // if opt != "y" then continue // output=Bytes.transfer(owner,"100") // if output.bool then // print(output.out) // else // print(output.err) // wait(2) // continue // end if // mods.push("fvpn") // fmods.set_content(str(mods)) // end if // // if opt == "corrupt" then // if mods.indexOf("corr") != null then continue // print("YOU ARE PURCHASING : Corrupt : FOR : 5 Bytes : CONTINUE?") // opt=user_input("[y/N]$").lower // if opt != "y" then continue // output=Bytes.transfer(owner,"5") // if output.bool then // print(output.out) // else // print(output.err) // wait(2) // continue // end if // mods.push("corr") // fmods.set_content(str(mods)) // end if // end while //end if//shop if opt == "1" then while 1 opt=null clear print("/ Exploits and the like") printMenu(["MetaXploit","DictSSH"]) opt=user_input("\_[#: ") if opt == "0" then;opt=null;break;end if if opt == "1" then while 1 clear_screen print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print(" __ ___ __ _ __ __ _ __ ") print(" / |/ / ___ / /_ ____ _ | |/ / ____ / / ____ (_) / /_") print(" / /|_/ / / _ \ / __/ / __ `/ | / / __ \ / / / __ \ / / / __/") print(" / / / / / __// /_ / /_/ / / | / /_/ / / / / /_/ / / / / /_ ") print("/_/ /_/ \___/ \__/ \__,_/ /_/|_| / .___/ /_/ \____/ /_/ \__/ ") print(" /_/ ") print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print("Usage: [ REMOTE ] OR [ PRIVESC ] -=- [Back]") print("REMOTE - Remote attack, IP or DOMAIN") print("PRIVESC - Local attack, all libs in /lib") choice=user_input("\_[Choice: ") if choice.lower == "back" then break globals.results=[] globals.exlib=[] globals.expport=null quick=0 mls=[] if choice.lower == "privesc" then if not get_shell.host_computer.File("/lib") then continue for l in get_shell.host_computer.File("/lib").get_files l=l.path if typeof(mx.load(l)) == "MetaLib" then mls.push(mx.load(l)) end for else if choice.lower == "remote" then ip=user_input("\_[IP: ") if not ip.len then print("-={Error: Invalid IP}=-") wait(1) continue end if if ip[:3] == "www" then ip=nslookup(ip) if not is_valid_ip(ip) then print("-={Error: Invalid IP}=-") wait(1) continue end if islan=is_lan_ip(ip) router=get_router(ip) if islan then router=get_router if not router then print("-={Error: Invalid IP}=-") wait(1) continue end if rver=router.kernel_version fwr=router.firewall_rules if islan then ports=router.device_ports(ip) else ports=router.used_ports end if ips=[] if ip != router.local_ip then hport=router.device_ports(router.local_ip)[0] m={} m.ip=router.local_ip m.ports=[hport] ips.push(m) m=null end if fwinfo="action port source dest" for rules in fwr fwinfo=fwinfo+"\n"+rules end for extinfo=""+ip+"" info="lan port status service version" print(extinfo) if fwr then print(format_columns(fwinfo)) for port in ports inm=0 for m in ips if m.ip == port.get_lan_ip then m.ports.push(port) inm=1 end if end for if not inm then m={} m.ip=port.get_lan_ip m.ports=[port] ips.push(m) end if end for for m in ips ports=m.ports mip=m.ip info=info+"\n"+mip+" /" if mip[-2:] == ".1" then info=info+"\n |0 routed router "+rver for port in ports service=router.port_info(port) status="routed" if port.is_closed then status="closed" info=info+"\n |"+port.port_number+" "+status+" "+service end for end for if not islan or ip[-2:] == ".1" then; for sub in router.devices_lan_ip subIn=0 for m in ips if sub == m.ip then subIn=1 end for if subIn then continue info=info+"\n"+sub end for;end if print(format_columns(info)+"\n") whoisinfo=whois(ip).split("\n") print("WhoIs results") if whoisinfo.len < 3 then print("Could not perform WhoIs operation") else print(""+whoisinfo[0]+"
"+whoisinfo[1]+"
"+whoisinfo[2]+"") end if expport=user_input("\_[Port#: ") if expport.lower == "back" then break globals.expport=expport.to_int if typeof(expport) != "number" then print("-={Error: Invalid port number}=-") wait(1) continue end if ns=mx.net_use(ip,expport) if not ns then print("-={Error: Could not establish net session}=-") wait(1) continue end if mls.push(ns.dump_lib) else continue end if print("Exploit arguments, for password change exploit or local ip with router exploits") print("Leave blank for normal exploits") args=user_input("\_[Args: ") if args.lower == "back" then break if args == "" then args=null if not mls.len then print("-={Error: No exploits found}=-") wait(1) continue end if for ml in mls globals.ml=ml print("Scanning lib: "+ml.lib_name+" v."+ml.version) if server then getExploits lib=null for dblib in exploits if ml.lib_name == dblib.name and ml.version == dblib.ver then lib=dblib break end if end for //mods=FoxLib.General.Deserialize(fmods.get_content) //if mods.indexOf("1") == null and mods.indexOf("0") == null and not quick then // print("Quick exploit? (10 Bytes)") // quick=user_input("[y/N]$").lower // if quick == "y" then quick=2 else quick=0 //else // quick=1 //end if //if quick == 2 then // output=Bytes.transfer(owner,"10") // if output.bool then // print(output.out) // quick=1 // else // print(output.err) // quick=0 // end if //end if //if quick then // server.launch("/root/rcon") // cmx=cob.server.mx //else // cmx=mx //end if cmx=mx end if globals.lmx=cmx if quick then getExploits lib=null for dblib in exploits if ml.lib_name == dblib.name and ml.version == dblib.ver then lib=dblib break end if end for saveScan() else Scan() end if end for rinfo=[["[Num]","[Object]","[Perms]","[Lan]","[PubIP]","[Port]"].join(" ")] num=1 for ex in results rinfo.push(["["+num+"]",ex.obj,ex.user,ex.lan,ex.pub,ex.port+""].join(" ")) num=num+1 end for print(format_columns(rinfo.join("\n"))) while 1 if results.len == 0 then print("-={No exploits found}=-") wait(1) break end if ind=user_input("\_[Num#: ") if ind.lower == "back" then break ind=ind.to_int if typeof(ind) != "number" then print("-={Invalid exploit number}=-") wait(1) continue end if if ind <= 0 or ind > results.len then print("-={Invalid exploit number}=-") wait(1) continue end if ind=ind-1 ex=results[ind] shell=ex.obj user=ex.user minifox(shell,user) break end while end while end if if opt == "2" then //mods=FoxLib.General.Deserialize(fmods.get_content) //if mods.indexOf("1") == null and mods.indexOf("dict") == null then // print("Could not verify ownership of this module! Please purchase it in the Shop") // wait(2) // continue //end if while 1 clear_screen print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print(" ____ _ __ _____ _____ __ __") print(" / __ \ (_) _____ / /_ / ___/ / ___/ / / / /") print(" / / / / / / / ___/ / __/ \__ \ \__ \ / /_/ / ") print(" / /_/ / / / / /__ / /_ ___/ / ___/ / / __ / ") print("/_____/ /_/ \___/ \__/ /____/ /____/ /_/ /_/ ") print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print("Usage: [IP_or_DOMAIN] -=- [Back]") ip=user_input("\_[IP: ") if ip.lower == "back" then break if ip[:3] == "www" then ip=nslookup(ip) islan=is_lan_ip(ip) check=get_router(ip) if islan then check=get_router if not check then print("-={Error: Invalid IP}=-") wait(1) continue end if port=user_input("\_[Port: ") if port.lower == "back" then break port=port.to_int if typeof(port) != "number" then print("-={Error: Invalid port}=-") wait(1) continue end if ns=mx.net_use(ip,port) if not ns then print("-={Error: Invalid port}=-") wait(1) continue end if if ns.dump_lib.lib_name != "libssh.so" then print("-={Error: Invalid port}=-") wait(1) continue end if user=user_input("\_[User: ") passwds=server.host_computer.File("/root/passwds") passwd=[] for file in passwds.get_files cont=FoxLib.General.Compression(file.get_content,"decompress").split(char(10)) passwd=passwd+cont end for pnum=passwd.len num=1 for pass in passwd if pass=="" then continue print("Attempting password "+pass+" "+num+"/"+pnum+"") num=num+1 attempt=get_shell.connect_service(ip,port,user,pass,"ssh") if typeof(attempt) == "shell" then print("-=-= Password found! "+pass+" =-=-") minifox(attempt) end if end for print("-={Error: Could not establish connection}=-") wait(1) break end while end if end while end if//exploits if opt == "2" then while 1 opt=null clear print("/ Viruses") printMenu(["RSheller"]) opt=user_input("\_[: ") if opt == "0" then;opt=null;break;end if if opt == "1" then //mods=FoxLib.General.Deserialize(fmods.get_content) //if mods.indexOf("1") == null and mods.indexOf("0") == null and mods.indexOf("rsh") == null then // print("Could not verify ownership of this module! Please purchase it in the Shop") // wait(2) // continue //end if while 1 opt=null clear_screen print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print(" ____ _____ __ __ __ ") print(" / __ \ / ___/ / /_ ___ / / / / ___ _____") print(" / /_/ / \__ \ / __ \ / _ \ / / / / / _ \ / ___/") print(" / _, _/ ___/ / / / / // __/ / / / / / __/ / / ") print("/_/ |_| /____/ /_/ /_/ \___/ /_/ /_/ \___/ /_/ ") print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print("it is HIGHLY RECOMMENDED to NOT RUN an RShell Client on your home system!"+char(10)) print("RShell Interface REQUIRES the system to have the hackshop RShell server running!"+char(10)) print("it is HIGHLY RECOMMENDED to NOT RUN an RShell Server on your home system!") print("/ RSheller Menu") printMenu(["Interface","Infect"]) opt=user_input("\_[#: ") if opt == "0" then;opt=null;break;end if if opt == "1" then shells=[] check=include_lib("/lib/librshell.so") if not check then print("-={librshell.so not found, bailing out}=-") wait(1) continue end if while shells.len == 0 shells=mx.rshell_server end while opt=null print(shells.len+" shells") rsinfo="num pubip locip user\n" for i in shells rsinfo=rsinfo+char(10)+(__i_idx+1)+"| "+i.host_computer.public_ip+" "+i.host_computer.local_ip+" "+checkPerms(i).user end for print(format_columns(rsinfo)) while not opt or opt > shells.len or opt <= 0 opt=user_input("\_[Num#: ") if opt.lower == "back" then break opt=opt.to_int end while if typeof(opt) != "number" then continue print("Starting shell #"+opt+"") minifox(shells[opt-1],checkPerms(shells[opt-1]).user) opt=null end if if opt == "2" then ip=user_input("\_[RShell Server IP: ") port=user_input("\_[RShell port: ") if port.lower == "back" then continue port=port.to_int if typeof(port) != "number" then print("-={Error: Invalid port}=-") wait(1) continue end if taskname=user_input("\_[Process name: ") mx.rshell_client(ip,port,taskname) end if end while end if end while end if//viruses if opt == "3" then while 1 opt=null clear print("/ Utilities") printMenu(["Sniffer"]) opt=user_input("\_[: ") if opt == "0" then;opt=null;break;end if if opt == "1" then while 1 clear_screen print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print(" _____ _ ____ ____ ") print(" / ___/ ____ (_) / __/ / __/ ___ _____") print(" \__ \ / __ \ / / / /_ / /_ / _ \ / ___/") print(" ___/ / / / / / / / / __/ / __/ / __/ / / ") print("/____/ /_/ /_/ /_/ /_/ /_/ \___/ /_/ ") print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print("Usage: [ Save Encode.src Y/N ] -=- [Back]") opt=user_input("[Y/n]$").lower if opt == "back" then break if opt != "n" then save=1 else save=0 print("Waiting for network activity...") sniff=mx.sniffer(save) print(sniff) user_input("Press any key to continue") end while end if end while end if//utils while if opt == "4" then while 1 opt=null clear print("/ System Security") printMenu(["Fyrwall","FoxVPN","Corrupt"]) opt=user_input("\_[: ") if opt == "0" then;opt=null;break;end if if opt == "1" then //mods=FoxLib.General.Deserialize(fmods.get_content) //if mods.indexOf("1") == null and mods.indexOf("vd") == null then // print("Could not verify ownership of this module! Please purchase it in the Shop") // wait(2) // continue //end if while 1 clear_screen print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print(" ______ __ __") print(" / ____/ __ __ _____ _ __ ____ _ / / / /") print(" / /_ / / / / / ___/| | /| / / / __ `/ / / / / ") print(" / __/ / /_/ / / / | |/ |/ / / /_/ / / / / / ") print("/_/ \__, / /_/ |__/|__/ \__,_/ /_/ /_/ ") print(" /____/ ") print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print("Usage: [ -s / -h ] -=- [Back]") print("WARNING - Secure HOME removes permissions from EVERYTHING, forcing you to use sudo -s for everything. Be careful") print("-s: secure SERVER") print("-h: secure HOME") print("Make sure you use the right one!") if active_user != "root" then print("-={Error: Root user required}=-") wait(1) break end if opt=user_input("\_[: ").lower if opt == "back" then break if opt != "-s" and opt != "-h" then print("-={Error: Invalid selection}=-") wait(1) continue end if if opt == "-b" then home=1 if opt == "-s" then home=0 if user_mail_address then home=1 print("Fyrwall Security") print("Securing system...") comp=get_shell.host_computer if comp.File("/etc/passwd") then comp.File("/etc/passwd").delete if comp.File("/etc/apt/sources.txt") and comp.File("/etc/apt/sources.txt").has_permission("r") and comp.File("/etc/apt/sources.txt").has_permission("w") then sources=comp.File("/etc/apt/sources.txt") r=sources.get_content.split("\n") r[1]=" ""official_server"": false," sources.set_content(r.join(char(10))) end if root=comp.File("/") root.chmod("o-wrx",1) root.chmod("g-wrx",1) root.chmod("u-wrx",1) root.set_owner("root",1) root.set_group("root",1) if home then root.chmod("g+x",1) if comp.File("/usr/bin") then comp.File("/usr/bin").chmod("g+rx",1) else if comp.File("/home") then comp.File("/home").delete end if if comp.File("/lib/kernel_module.so") then comp.File("/lib/kernel_module.so").delete print("System secured") wait(1) break end while end if if opt == "2" then //mods=FoxLib.General.Deserialize(fmods.get_content) //if mods.indexOf("1") == null and mods.indexOf("fvpn") == null then // print("Could not verify ownership of this module! Please purchase it in the Shop") // wait(2) // continue //end if while 1 clear_screen print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print(" ______ _ __ ____ _ __") print(" / ____/ ____ _ __| | / / / __ \ / | / /") print(" / /_ / __ \ | |/_/| | / / / /_/ / / |/ / ") print(" / __/ / /_/ / _> < | |/ / / ____/ / /| / ") print("/_/ \____/ /_/|_| |___/ /_/ /_/ |_/ ") print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print("Connecting to VPN. . .\n") wait(0.1) print("Ensuring secure connection. . .\n") wait(0.1) print("Clearing logs. . .\n") wait(0.1) print("Reticulating splines. . .\n") wait(0.1) print("Connected!") print("Usage: [user@password] [IP] [port]") creds=user_input("\_[: ") if creds.lower == "back" then break creds=creds.split(" ") if creds.len != 3 then print("-={Error: Invalid credentials}=-") wait(1) break end if ip=creds[1] if not get_router(ip) then print("-={Error: Invalid credentials}=-") wait(1) break end if port=creds[-1].to_int if typeof(port) != "number" then print("-={Error: Invalid credentials}=-") wait(1) break end if if creds[0].split("@").len != 2 then print("-={Error: Invalid credentials}=-") wait(1) break end if user=creds[0].split("@")[0] password=creds[0].split("@")[1] print("Establishing secure tunnel through VPN. . .") ssh=server.connect_service(ip,port,user,password,"ssh") if typeof(ssh) != "shell" then print("-={Error: Could not connect}=-") wait(1) break end if print("Connected!") ssh.start_terminal exit end while end if if opt == "3" then //if fmods.get_content != "max" and fmods.get_content.split(",").indexOf("corr") == null then // print("Could not verify ownership of this module! Please purchase it in the Shop section!") // wait(2) // continue //end if while 1 clear_screen print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print(" ______ __ ") print(" / ____/ ____ _____ _____ __ __ ____ / /_") print(" / / / __ \ / ___/ / ___/ / / / / / __ \ / __/") print("/ /___ / /_/ / / / / / / /_/ / / /_/ // /_ ") print("\____/ \____/ /_/ /_/ \__,_/ / .___/ \__/ ") print(" /_/ ") print("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-") print("Usage: [Continue Y/N]") if active_user != "root" then print("-={Error: Root user required}=-") wait(1) break end if conf=user_input("[y/N]$").lower if conf != "y" then break comp=get_shell.host_computer var=comp.File("/var") print("Fyrwall Security Logging Prevention") print("Corrupting logs. . .") comp.touch("/var","system.bak") log=comp.File("/var/system.log") p=null if log then p=log.permissions[1:] log.delete end if bak=comp.File("/var/system.bak") if bak then bak.set_content(FoxLib.General.rndstring(512)+char(10)+"Fyrwall Security Logging Prevention") bak.move("/var","system.log") end if wait(.2) log=comp.File("/var/system.log") if log then if log.size.to_int < 1000 then print("Log corruption successful.") log.chmod("u-wrx") log.chmod("g-wrx") log.chmod("o-wrx") if p then up=p[:3].replace("-","") gp=p[3:-3].replace("-","") op=p[-3:].replace("-","") else p=get_shell.host_computer.File("/var").permissions[1:] up=p[:3].replace("-","") gp=p[3:-3].replace("-","") op=p[-3:].replace("-","") end if log.chmod("u+"+up) log.chmod("g+"+gp) log.chmod("o+"+op) else print("Log corruption failure.") end if end if wait(1) break end while end if end while end if //security if opt == "5" then while 1 opt=null clear print("/ Account Management") print("\_[Username]: "+fuser+"") seclevel=fconf.get_content if seclevel == "1" then seclevel="2FA" else seclevel="none" print("\_[Security level]: "+seclevel+"") printMenu(["Security Settings", "Mail Settings", "License Settings", "Delete Account"]) opt=user_input("\_[#: ") if opt == "0" then;opt=null;break;end if if opt == "1" then while 1 opt=null clear_screen print("/ Security settings") printMenu(["Set security level","Change password"]) opt=user_input("\_[#: ") if opt == "0" then;opt=null;break;end if if opt == "1" then if fmail.get_content == "none" then print("-={Error: Email required}=-") wait(1) continue end if x=checklgn if not x.bool then print(x.err) wait(1) continue end if while 1 opt=null clear_screen print("/ Set security level") printMenu(["2FA","NONE"]) setlevel=user_input("\_[: ") if setlevel == "0" then break if setlevel != "1" and setlevel != "2" then break if setlevel == "2" then setlevel="0" fconf.set_content(setlevel) wait(1) break end while end if if opt == "2" then opt=null x=checklgn if not x.bool then print(x.err) wait(1) continue end if newPass=user_input("\_[New password: ",1) confirm=user_input("\_[Confirm: ",1) if newPass != confirm then print("-={Error: Passwords do not match}=-") wait(1) continue end if userData=Sha256(newPass) fdata.set_content(userData) print("Password successfully changed") wait(1) continue end if end while end if if opt == "2" then while 1 opt=null clear_screen print("/ Mail settings") if fmail.get_content != "none" then cmail=FoxLib.General.Deserialize(fmail.get_content).verify else cmail="none" print("\_[Current Email]: "+cmail+"") printMenu(["Change Email"]) opt=user_input("\_[#: ") if opt == "0" then;opt=null;break;end if if opt == "1" then x=checklgn if not x.bool then print(x.err) wait(1) continue end if fmaila=user_input("\_[New email: ") if fmaila.split("@").len != 2 then fmail.set_content("none") fconf.set_content("0") print("Set email to none") wait(1) continue end if print("Email password is not saved, it is only used to verify email ownership") fmaill=user_input("\_[Password: ",1) if typeof(mail_login(fmaila,fmaill)) == "string" then print("-={Could not verify email ownership}=-") wait(1) continue end if nmail={} nmail.verify=fmaila[0]+("*"*(fmaila.indexOf("@")-1))+fmaila[fmaila.indexOf("@"):] nmail.hashed=Sha256(fmaila) nmail=FoxLib.General.Serialize(nmail) fmail.set_content(nmail) print("Successfully saved email") wait(1) continue end if end while end if //if opt == "3" then // while 1 // opt=null // clear_screen // print("/ License management") // discount=0 // mods=FoxLib.General.Deserialize(fmods.get_content) // if mods.indexOf("0") != null then discount=discount+200 // if mods.indexOf("dict") != null then discount=discount+50 // if mods.indexOf("vd") != null then discount=discount+100 // if mods.indexOf("rsh") != null then discount=discount+5 // if mods.indexOf("fvpn") != null then discount=discount+100 // if mods.indexOf("corr") != null then discount=discount+5 // cLicense="Free access" // if ls.get_content[0] == "V" then cLicense="Default access" // if ls.get_content[:3] == "ALL" then cLicense="All access" // if ls.get_content[:3] == "DEV" then cLicense="Developer" // print("\_[Current license]: "+cLicense+"") // printMenu(["Upgrade license","Redeem license"]) // opt=user_input("\_[#: ") // if opt == "0" then;opt=null;break;end if // if opt == "1" then // if cLicense=="All access" or cLicense=="Developer" then // print("Cannot upgrade license further!") // wait(1) // continue // end if // if cLicense=="Free access" then printMenu(["Default access - 20 Bytes","All access - 100 Bytes"]) else printMenu(["All access - 80 Bytes"]) // opt=user_input("\_[: ") // if opt == "0" then;opt=null;break;end if // if opt == "1" and cLicense=="Default access" then // opt=null // price=str(1000-discount) // print("YOU ARE PURCHASING : ALL ACCESS UPGRADE : FOR "+price+" Bytes : CONTINUE?") // opt=user_input("[y/N]$").lower // if opt != "y" then continue // output=Bytes.transfer(owner,price) // if output.bool then // print("Upgrade successful!") // else // print(""+output.err+"") // wait(1) // continue // end if // fmods.set_content("[""1""]") // newLicense="ALL"+FoxLib.General.rndstring(1)+"-"+FoxLib.General.rndstring(8)+"-"+FoxLib.General.rndstring(8) // ls.set_content(newLicense) // cont=server.host_computer.File("/.FoxTrot/used_licenses").get_content // cont=FoxLib.General.Deserialize(cont) // cont.fuser=newLicense // cont=FoxLib.General.Serialize(cont,1) // server.host_computer.File("/.FoxTrot/used_licenses").set_content(cont) // print("REMEMBER YOUR LICENSE KEY! IT MAY BE USED FOR ACCOUNT OWNERSHIP VERIFICATION") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // user_input("Press enter to continue") // wait(1) // continue // end if // if opt == "1" and cLicense=="Free access" then // opt=null // print("YOU ARE PURCHASING : DEFAULT ACCESS UPGRADE : FOR 200 Bytes : CONTINUE?") // opt=user_input("[y/N]$").lower // if opt != "y" then continue // output=Bytes.transfer(owner,"200") // if output.bool then // print("Upgrade successful!") // else // print(""+output.err+"") // wait(1) // continue // end if // fmods.set_content("[""0""]") // newLicense="V"+FoxLib.General.rndstring(3)+"-"+FoxLib.General.rndstring(8)+"-"+FoxLib.General.rndstring(8) // ls.set_content(newLicense) // cont=server.host_computer.File("/.FoxTrot/used_licenses").get_content // cont=FoxLib.General.Deserialize(cont) // cont.fuser=newLicense // cont=FoxLib.General.Serialize(cont,1) // server.host_computer.File("/.FoxTrot/used_licenses").set_content(cont) // print("REMEMBER YOUR LICENSE KEY! IT MAY BE USED FOR ACCOUNT OWNERSHIP VERIFICATION") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // user_input("Press enter to continue") // wait(1) // continue // end if // if opt == "2" and cLicense=="Free access" then // opt=null // print("YOU ARE PURCHASING : ALL ACCESS UPGRADE : FOR 1000 Bytes : CONTINUE?") // opt=user_input("[y/N]$").lower // if opt != "y" then continue // output=Bytes.transfer(owner,"1000") // if output.bool then // print("Upgrade successful!") // else // print(""+output.err+"") // wait(1) // continue // end if // fmods.set_content("[""1""]") // newLicense="ALL"+FoxLib.General.rndstring(1)+"-"+FoxLib.General.rndstring(8)+"-"+FoxLib.General.rndstring(8) // ls.set_content(newLicense) // cont=server.host_computer.File("/.FoxTrot/used_licenses").get_content // cont=FoxLib.General.Deserialize(cont) // cont.fuser=newLicense // cont=FoxLib.General.Serialize(cont,1) // server.host_computer.File("/.FoxTrot/used_licenses").set_content(cont) // print("REMEMBER YOUR LICENSE KEY! IT MAY BE USED FOR ACCOUNT OWNERSHIP VERIFICATION") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // print("License key: "+newLicense+"") // user_input("Press enter to continue") // wait(1) // continue // end if // end if // // if opt == "2" then // if cLicense=="All access" or cLicense=="Developer" then // print("Cannot upgrade license further!") // wait(1) // continue // end if // print("If you didn't mean to enter this meny, type ""Back"" to return") // newKey=user_input("\_[License: ") // if newKey.lower == "back" then continue // if cLicense == "Default access" and newKey[0] == "V" then // print("-={Error: Cannot redeem license of same access type!}=-") // wait(1) // continue // end if // licenses = server.host_computer.File("/.FoxTrot/open_licenses").get_content // licenses = FoxLib.General.Deserialize(licenses) // if licenses.indexOf(newKey) == null then // print("-={Error: Could not validate license}=-") // wait(1) // continue // end if // licenses.remove(newKey) // licenses = FoxLib.General.Serialize(licenses,1) // if newKey[0] == "V" then // mods=["0"]+mods // if mods.indexOf("rsh") != null then mods.remove("rsh") // fmods.set_content(str(mods)) // end if // if newKey[:3] == "ALL" or newKey[:3] == "DEV" then fmods.set_content("[""1""]") // // cont=server.host_computer.File("/.FoxTrot/used_licenses").get_content // cont=FoxLib.General.Deserialize(cont) // cont[fuser]=newKey // cont=FoxLib.General.Serialize(cont,1) // ls.set_content(newKey) // server.host_computer.File("/.FoxTrot/open_licenses").set_content(licenses) // server.host_computer.File("/.FoxTrot/used_licenses").set_content(cont) // // print("License updated to "+newKey+"") // print("Save your license key in a safe spot! It may be used for account ownership verification!") // user_input("Press any key to continue",0,1) // wait(1) // continue // end if // end while //end if if opt == "4" then x=checklgn if not x.bool then print(x.err) wait(1) break end if print("ACCOUNT DELETION") print("Caution: You will lose your license forever! This is not a refund! This action is not reversable!") opt=user_input("[y/N]$").lower if opt != "y" then continue server.host_computer.File("/.FoxTrot/users/"+fuser).delete cont=server.host_computer.File("/.FoxTrot/used_licenses").get_content cont=FoxLib.General.Deserialize(cont) if cont.indexOf(fuser) != null then cont.remove(fuser) cont=FoxLib.General.Serialize(cont,1) server.host_computer.File("/.FoxTrot/used_licenses").set_content(cont) exit("Account deleted. Goodbye.") end if end while end if end while