forked from 6abd/horus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
executable file
·231 lines (202 loc) · 8.93 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# Main
from asyncio import subprocess
import sys # System stuff.
import os # Operating System functions.
from colorama import Fore
# For text colour.
# Modules
from . import apicon
# SECURITY.
# ENUMERATION.
import src.modules.recpull as recpull
# OSINT.
import src.modules.shodan as shodan
import src.modules.numlook as numlook
import src.modules.geolock as geolock
# CASE-GEN.
# SDB.
# Loki.
import src.modules.loki_keygen as loki_keygen
import src.modules.loki_discovery as loki_discovery
import src.modules.loki_encrypt as loki_encrypt
import src.modules.loki_decrypt as loki_decrypt
import src.modules.cryptotrace as cryptotrace
import src.modules.vt as vt
import src.modules.mactrace as mactrace
import src.modules.pvpn as pvpn
import src.modules.flightinfo as flightinfo
import src.modules.wigle as wigle
import src.modules.bankindex as bankindex
import src.modules.exif as exif
import src.modules.ytd as ytd
import src.modules.falcon as falcon
# FORENSICS.
# Config (Prints).
text = (f"{Fore.WHITE}") # Change the colour of text output in the client side
dividers = (f"{Fore.LIGHTRED_EX}") # Changes the [], | and : in the client side
success = (f"{Fore.WHITE}[{Fore.GREEN}SUCCESS{Fore.WHITE}]") # Success output.
successfully = (f"{Fore.WHITE}[{Fore.GREEN}SUCCESSFULLY{Fore.WHITE}]") # Successfully output.
failed = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}FAILED{Fore.WHITE}]") # Failed output.
prompt = (f"{Fore.WHITE}[{Fore.YELLOW}»{Fore.WHITE}]") # Prompt output.
notice = (f"{Fore.WHITE}[{Fore.YELLOW}!{Fore.WHITE}]") # Notice output.
question = (f"{Fore.WHITE}[{Fore.YELLOW}?{Fore.WHITE}]") # Alert output.
alert = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}!{Fore.WHITE}]") # Alert output.
exited = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}EXITED{Fore.WHITE}]") # Execited output.
disconnected = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}DISCONNECTED{Fore.WHITE}]") # Disconnected output.
command = (f"\n[{Fore.YELLOW}>_{Fore.WHITE}]: ") # Always asks for a command on a new line.
# Pre-run.
os.system("clear")
# Hide tracebacks - change to 1 for dev mode.
sys.tracebacklimit = 0
def main_script():
try:
def command(col, text):
print(f" {col}•{Fore.RESET} {text}")
def section(text):
print(f"{prompt} {Fore.LIGHTRED_EX}{text}{Fore.WHITE}")
print("\n")
print(f" -=-=-=-=-COMMANDS-=-=-=-=-")
section("SECURITY") #################
command(Fore.RED,
"Torshell | Drop into a Tor sub-shell, or connect to Tor.")
command(Fore.GREEN,
"Pvpn | Connect to a random Proton vpn.")
command(Fore.RED,
"Ovpn | Connect to a specified open vpn.")
section("ENUMERATION") #################
command(Fore.YELLOW,
"Fallenflare | Bypass cloudflare.")
command(Fore.GREEN,
"Recpull | Pulls a tracert, whois, dns, mx history & namp, custom-formatted.")
command(Fore.RED,
"Anonfile | Up/download from Anonfiles.")
command(Fore.RED,
"Onionshare | Up/download from Onionshare.")
section("OSINT") #################
command(Fore.GREEN,
"Shodan | Pull Shodan information from API.")
command(Fore.GREEN,
"WiGle | Use an API for SSID/BSSIDs stat, locations, & Bluetooth data.")
command(Fore.GREEN,
"Numlook | Look up validity, carriers, names of phone numbers globally.")
command(Fore.GREEN,
"Geolock | Shodan & auxiliary API based IP tracing & tracking.")
command(Fore.GREEN,
"Bankindex | Search up BIN/IIN, Sort Codes, Cheque details, etc.")
command(Fore.GREEN,
"Mactrace | Type in an MAC address to get the vendor or device.")
command(Fore.GREEN,
"Flightinfo | Real-time data; global flights, military status, route, etc.")
command(Fore.GREEN,
"Licenseinfo | Get information from a car license plate (Currently US Only).")
command(Fore.GREEN,
"Cryptotrace | Transaction information, & crypto-wallet tracing.")
command(Fore.RED,
"Dischook | Upload or pull information from a Discord server, or webhook.")
command(Fore.GREEN,
"Ytd | Download Youtube videos, in crystal clear format.")
command(Fore.RED,
"Leverage | You can leverage a suite of tools such as; Sherlock!")
section("CASE-GEN") ###################
command(Fore.YELLOW,
"Casegenerate | Build case files from skeleton docs for later population.")
command(Fore.RED,
"Casedelete | Delete a case from the system, & it's associated Loki key.")
section("SDB") ###########################
command(Fore.YELLOW,
"Create or search through your custom horus database built in SQL.")
section("Loki") ##########################
command(Fore.GREEN,
"Lokien/decrypt | En/decrypt a directory or file with Loki keys!")
command(Fore.GREEN,
"Lokigen | Generate a key for Loki to use for encryption.")
command(Fore.YELLOW,
"Lokichain | List all known Loki keys on a system, but not their directory.")
command(Fore.GREEN,
"Lokiprobe | Discover subdirectories and files of a chosen directory.")
command(Fore.RED,
"Lokivault | Access the Loki vault over terminal, move & re-arrange, etc.")
section("FORENSICS") ######################
command(Fore.YELLOW,
"Autodd | Create disc images & snapshots for later analysis, or mount one!")
command(Fore.GREEN,
"Exif | Check exif data on a file, or wipe it clean.")
command(Fore.GREEN,
"Vt | Connect to the virus-total API to scan, or screen files, links, etc.")
command(Fore.GREEN,
"Falcon | Packet analysis; sniff for your own in the terminal or use a capture file!")
print(f"\n{notice} Remember; run `apicon` command to configure the API database.")
option = input(f"{prompt}")
# SECURITY.
# ENUMERATION.
# OSINT.
if option.lower() == "shodan":
shodan.run_shodan()
os._exit(0)
if option.lower() == "numlook":
numlook.numlook()
os._exit(0)
if option.lower() == "geolock":
geolock.geolock()
os._exit(0)
if option.lower() == "cryptotrace":
cryptotrace.cryptotrace()
os._exit(0)
if option.lower() == "vt":
vt.vt()
os._exit(0)
if option.lower() == "pvpn":
pvpn.pvpn()
os._exit(0)
if option.lower() == "mactrace":
mactrace.mactrace()
os._exit(0)
if option.lower() == "flightinfo":
flightinfo.flightinfo()
os._exit(0)
if option.lower() == "wigle":
wigle.wigle()
os._exit(0)
if option.lower() == "bankindex":
bankindex.bankindex()
os._exit(0)
if option.lower() == "ytd":
ytd.ytd()
os._exit(0)
# CASE-GEN.
# SDB.
# Loki.
# FORENSICS.
# Loki.
if option.lower() == "lokigen":
loki_keygen.loki_keygen()
os._exit(0)
if option.lower() == "lokidiscovery":
loki_discovery.loki_discovery()
os._exit(0)
if option.lower() == "lokiencrypt":
loki_encrypt.loki_encrypt()
os._exit(0)
if option.lower() == "lokidecrypt":
loki_decrypt.loki_decrypt()
os._exit(0)
# FORENSICS.
# API config.
if option.lower() == "apicon":
apicon.apicon()
os._exit(0)
if option.lower() == "exif":
exif.exif()
os._exit(0)
if option.lower() == "falcon":
falcon.falcon()
os._exit(0)
if option.lower() == "recpull":
recpull.recpull()
os._exit(0)
except KeyboardInterrupt:
print(f'\n{Fore.YELLOW}You interrupted the program.{Fore.WHITE}')
try:
sys.exit(0)
except SystemExit:
os._exit(0)