Skip to content

Commit 7223d1b

Browse files
Merge pull request #29 from tpegl/fix/add_helpers
2 parents 87c4482 + c87be89 commit 7223d1b

23 files changed

+811
-948
lines changed

src/main.py

Lines changed: 101 additions & 192 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
# For text colour.
88

99
# Modules
10-
from . import apicon
1110
# SECURITY.
1211
# ENUMERATION.
1312
import src.modules.recpull as recpull
@@ -33,22 +32,9 @@
3332
import src.modules.exif as exif
3433
import src.modules.ytd as ytd
3534
import src.modules.falcon as falcon
36-
# FORENSICS.
37-
38-
39-
# Config (Prints).
40-
text = (f"{Fore.WHITE}") # Change the colour of text output in the client side
41-
dividers = (f"{Fore.LIGHTRED_EX}") # Changes the [], | and : in the client side
42-
success = (f"{Fore.WHITE}[{Fore.GREEN}SUCCESS{Fore.WHITE}]") # Success output.
43-
successfully = (f"{Fore.WHITE}[{Fore.GREEN}SUCCESSFULLY{Fore.WHITE}]") # Successfully output.
44-
failed = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}FAILED{Fore.WHITE}]") # Failed output.
45-
prompt = (f"{Fore.WHITE}[{Fore.YELLOW}»{Fore.WHITE}]") # Prompt output.
46-
notice = (f"{Fore.WHITE}[{Fore.YELLOW}!{Fore.WHITE}]") # Notice output.
47-
question = (f"{Fore.WHITE}[{Fore.YELLOW}?{Fore.WHITE}]") # Alert output.
48-
alert = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}!{Fore.WHITE}]") # Alert output.
49-
exited = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}EXITED{Fore.WHITE}]") # Execited output.
50-
disconnected = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}DISCONNECTED{Fore.WHITE}]") # Disconnected output.
51-
command = (f"\n[{Fore.YELLOW}>_{Fore.WHITE}]: ") # Always asks for a command on a new line.
35+
36+
from . import apicon
37+
from .utils import print_hero, PROMPT
5238

5339
# Pre-run.
5440
os.system("clear")
@@ -57,180 +43,103 @@
5743
sys.tracebacklimit = 0
5844

5945

60-
6146
def main_script():
47+
try:
48+
print_hero()
49+
option = input(f"{PROMPT} ")
50+
# SECURITY.
51+
# ENUMERATION.
52+
# OSINT.
53+
if option.lower() == "shodan":
54+
shodan.run_shodan()
55+
sys.exit(0)
56+
57+
if option.lower() == "numlook":
58+
numlook.numlook()
59+
sys.exit(0)
60+
61+
if option.lower() == "geolock":
62+
geolock.geolock()
63+
sys.exit(0)
64+
65+
if option.lower() == "cryptotrace":
66+
cryptotrace.cryptotrace()
67+
sys.exit(0)
68+
69+
if option.lower() == "vt":
70+
vt.vt()
71+
sys.exit(0)
72+
73+
if option.lower() == "ovpn":
74+
ovpn.ovpn()
75+
sys.exit(0)
76+
77+
if option.lower() == "pvpn":
78+
pvpn.pvpn()
79+
sys.exit(0)
80+
81+
if option.lower() == "mactrace":
82+
mactrace.mactrace()
83+
sys.exit(0)
84+
85+
if option.lower() == "flightinfo":
86+
flightinfo.flightinfo()
87+
sys.exit(0)
88+
89+
if option.lower() == "wigle":
90+
wigle.wigle()
91+
sys.exit(0)
92+
93+
if option.lower() == "bankindex":
94+
bankindex.bankindex()
95+
sys.exit(0)
96+
97+
if option.lower() == "ytd":
98+
ytd.ytd()
99+
sys.exit(0)
100+
# CASE-GEN.
101+
# SDB.
102+
# Loki.
103+
# FORENSICS.
104+
105+
# Loki.
106+
if option.lower() == "lokigen":
107+
loki_keygen.loki_keygen()
108+
sys.exit(0)
109+
110+
if option.lower() == "lokidiscovery":
111+
loki_discovery.loki_discovery()
112+
sys.exit(0)
113+
114+
if option.lower() == "lokiencrypt":
115+
loki_encrypt.loki_encrypt()
116+
sys.exit(0)
117+
118+
if option.lower() == "lokidecrypt":
119+
loki_decrypt.loki_decrypt()
120+
sys.exit(0)
121+
# FORENSICS.
122+
# API config.
123+
if option.lower() == "apicon":
124+
apicon.apicon()
125+
sys.exit(0)
126+
127+
if option.lower() == "exif":
128+
exif.exif()
129+
sys.exit(0)
130+
131+
if option.lower() == "falcon":
132+
falcon.falcon()
133+
sys.exit(0)
134+
135+
if option.lower() == "recpull":
136+
recpull.recpull()
137+
sys.exit(0)
138+
139+
140+
except KeyboardInterrupt:
141+
print(f'\n{Fore.YELLOW}You interrupted the program.{Fore.WHITE}')
62142
try:
63-
def command(col, text):
64-
print(f" {col}{Fore.RESET} {text}")
65-
def section(text):
66-
print(f"{prompt} {Fore.LIGHTRED_EX}{text}{Fore.WHITE}")
67-
print("\n")
68-
print(f" -=-=-=-=-COMMANDS-=-=-=-=-")
69-
section("SECURITY") #################
70-
command(Fore.RED,
71-
"Torshell | Drop into a Tor sub-shell, or connect to Tor.")
72-
command(Fore.GREEN,
73-
"Pvpn | Connect to a random Proton vpn.")
74-
command(Fore.YELLOW,
75-
"Ovpn | Connect to a specified open vpn.")
76-
section("ENUMERATION") #################
77-
command(Fore.YELLOW,
78-
"Fallenflare | Bypass cloudflare.")
79-
command(Fore.GREEN,
80-
"Recpull | Pulls a tracert, whois, dns, mx history & namp, custom-formatted.")
81-
command(Fore.RED,
82-
"Anonfile | Up/download from Anonfiles.")
83-
command(Fore.RED,
84-
"Onionshare | Up/download from Onionshare.")
85-
section("OSINT") #################
86-
command(Fore.GREEN,
87-
"Shodan | Pull Shodan information from API.")
88-
command(Fore.GREEN,
89-
"WiGle | Use an API for SSID/BSSIDs stat, locations, & Bluetooth data.")
90-
command(Fore.GREEN,
91-
"Numlook | Look up validity, carriers, names of phone numbers globally.")
92-
command(Fore.GREEN,
93-
"Geolock | Shodan & auxiliary API based IP tracing & tracking.")
94-
command(Fore.GREEN,
95-
"Bankindex | Search up BIN/IIN, Sort Codes, Cheque details, etc.")
96-
command(Fore.GREEN,
97-
"Mactrace | Type in an MAC address to get the vendor or device.")
98-
command(Fore.GREEN,
99-
"Flightinfo | Real-time data; global flights, military status, route, etc.")
100-
command(Fore.GREEN,
101-
"Licenseinfo | Get information from a car license plate (Currently US Only).")
102-
command(Fore.GREEN,
103-
"Cryptotrace | Transaction information, & crypto-wallet tracing.")
104-
command(Fore.RED,
105-
"Dischook | Upload or pull information from a Discord server, or webhook.")
106-
command(Fore.GREEN,
107-
"Ytd | Download Youtube videos, in crystal clear format.")
108-
command(Fore.RED,
109-
"Leverage | You can leverage a suite of tools such as; Sherlock!")
110-
section("CASE-GEN") ###################
111-
command(Fore.YELLOW,
112-
"Casegenerate | Build case files from skeleton docs for later population.")
113-
command(Fore.RED,
114-
"Casedelete | Delete a case from the system, & it's associated Loki key.")
115-
section("SDB") ###########################
116-
command(Fore.YELLOW,
117-
"Create or search through your custom horus database built in SQL.")
118-
section("Loki") ##########################
119-
command(Fore.GREEN,
120-
"Lokien/decrypt | En/decrypt a directory or file with Loki keys!")
121-
command(Fore.GREEN,
122-
"Lokigen | Generate a key for Loki to use for encryption.")
123-
command(Fore.YELLOW,
124-
"Lokichain | List all known Loki keys on a system, but not their directory.")
125-
command(Fore.GREEN,
126-
"Lokiprobe | Discover subdirectories and files of a chosen directory.")
127-
command(Fore.RED,
128-
"Lokivault | Access the Loki vault over terminal, move & re-arrange, etc.")
129-
section("FORENSICS") ######################
130-
command(Fore.YELLOW,
131-
"Autodd | Create disc images & snapshots for later analysis, or mount one!")
132-
command(Fore.GREEN,
133-
"Exif | Check exif data on a file, or wipe it clean.")
134-
command(Fore.GREEN,
135-
"Vt | Connect to the virus-total API to scan, or screen files, links, etc.")
136-
command(Fore.GREEN,
137-
"Falcon | Packet analysis; sniff for your own in the terminal or use a capture file!")
138-
print(f"\n{notice} Remember; run `apicon` command to configure the API database.")
139-
140-
option = input(f"{prompt} ")
141-
# SECURITY.
142-
# ENUMERATION.
143-
# OSINT.
144-
if option.lower() == "shodan":
145-
shodan.run_shodan()
146-
os._exit(0)
147-
148-
if option.lower() == "numlook":
149-
numlook.numlook()
150-
os._exit(0)
151-
152-
if option.lower() == "geolock":
153-
geolock.geolock()
154-
os._exit(0)
155-
156-
if option.lower() == "cryptotrace":
157-
cryptotrace.cryptotrace()
158-
os._exit(0)
159-
160-
if option.lower() == "vt":
161-
vt.vt()
162-
os._exit(0)
163-
164-
if option.lower() == "ovpn":
165-
ovpn.ovpn()
166-
os._exit(0)
167-
168-
if option.lower() == "pvpn":
169-
pvpn.pvpn()
170-
os._exit(0)
171-
172-
if option.lower() == "mactrace":
173-
mactrace.mactrace()
174-
os._exit(0)
175-
176-
if option.lower() == "flightinfo":
177-
flightinfo.flightinfo()
178-
os._exit(0)
179-
180-
if option.lower() == "wigle":
181-
wigle.wigle()
182-
os._exit(0)
183-
184-
if option.lower() == "bankindex":
185-
bankindex.bankindex()
186-
os._exit(0)
187-
188-
if option.lower() == "ytd":
189-
ytd.ytd()
190-
os._exit(0)
191-
# CASE-GEN.
192-
# SDB.
193-
# Loki.
194-
# FORENSICS.
195-
196-
# Loki.
197-
if option.lower() == "lokigen":
198-
loki_keygen.loki_keygen()
199-
os._exit(0)
200-
201-
if option.lower() == "lokidiscovery":
202-
loki_discovery.loki_discovery()
203-
os._exit(0)
204-
205-
if option.lower() == "lokiencrypt":
206-
loki_encrypt.loki_encrypt()
207-
os._exit(0)
208-
209-
if option.lower() == "lokidecrypt":
210-
loki_decrypt.loki_decrypt()
211-
os._exit(0)
212-
# FORENSICS.
213-
# API config.
214-
if option.lower() == "apicon":
215-
apicon.apicon()
216-
os._exit(0)
217-
218-
if option.lower() == "exif":
219-
exif.exif()
220-
os._exit(0)
221-
222-
if option.lower() == "falcon":
223-
falcon.falcon()
224-
os._exit(0)
225-
226-
if option.lower() == "recpull":
227-
recpull.recpull()
228-
os._exit(0)
229-
230-
231-
except KeyboardInterrupt:
232-
print(f'\n{Fore.YELLOW}You interrupted the program.{Fore.WHITE}')
233-
try:
234-
sys.exit(0)
235-
except SystemExit:
236-
os._exit(0)
143+
sys.exit(0)
144+
except SystemExit:
145+
sys.exit(0)

src/modules/bankindex.py

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,13 @@
33
import sys
44
import json
55
import requests
6-
from colorama import Fore # For text colour.
7-
8-
# Config (Prints).
9-
text = (f"{Fore.WHITE}") # Change the colour of text output in the client side
10-
dividers = (f"{Fore.LIGHTRED_EX}") # Changes the [], | and : in the client side
11-
success = (f"\n{Fore.WHITE}[{Fore.GREEN}SUCCESS{Fore.WHITE}] Program executed sucessfully.") # Success output.
12-
successfully = (f"{Fore.WHITE}[{Fore.GREEN}SUCCESSFULLY{Fore.WHITE}]") # Successfully output.
13-
response = (f"{Fore.WHITE}[{Fore.GREEN}+{Fore.WHITE}]")
14-
failed = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}FAILED{Fore.WHITE}]") # Failed output.
15-
prompt = (f"{Fore.WHITE}[{Fore.YELLOW}»{Fore.WHITE}]") # Prompt output.
16-
notice = (f"{Fore.WHITE}[{Fore.YELLOW}!{Fore.WHITE}]") # Notice output.
17-
question = (f"{Fore.WHITE}[{Fore.YELLOW}?{Fore.WHITE}]") # Alert output.
18-
alert = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}!{Fore.WHITE}]") # Alert output.
19-
exited = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}EXITED{Fore.WHITE}]") # Execited output.
20-
disconnected = (f"{Fore.WHITE}[{Fore.LIGHTRED_EX}DISCONNECTED{Fore.WHITE}]") # Disconnected output.
21-
command = (f"\n[{Fore.YELLOW}>_{Fore.WHITE}]: ") # Always asks for a command on a new line.
6+
7+
from ..utils import (
8+
QUESTION,
9+
SUCCESS,
10+
print_notice,
11+
print_response
12+
)
2213

2314
# Pre-run.
2415
os.system("clear")
@@ -35,24 +26,23 @@
3526
# Program.
3627
def bankindex():
3728

38-
bin = input(f"{question} Enter a BIN/IIN number: ")
29+
bin_num = input(f"{QUESTION} Enter a BIN/IIN number: ")
3930

40-
request = requests.get(f"https://neutrinoapi.net/bin-lookup?bin-number={bin}", headers = {"User-ID": user, "API-Key": key}).json()
31+
request = requests.get(f"https://neutrinoapi.net/bin-lookup?bin-number={bin_num}", headers = {"User-ID": user, "API-Key": key}).json()
4132

4233
print("")
4334

44-
print(f"{notice} Checking BIN/IIN number: {bin}")
45-
46-
print(f"{response} Card Brand: {request['card-brand']}")
47-
print(f"{response} Card Category: {request['card-category']}")
48-
print(f"{response} Card Type: {request['card-type']}")
49-
print(f"{response} Country: {request['country']}")
50-
print(f"{response} Commercial: {request['is-commercial']}")
51-
print(f"{response} Prepaid: {request['is-prepaid']}")
52-
print(f"{response} Issuer: {request['issuer']}")
53-
print(f"{response} Validity: {request['valid']}")
54-
55-
print(success)
35+
print_notice(f"Checking BIN/IIN number: {bin_num}")
36+
print_response(f"Card Brand: {request['card-brand']}")
37+
print_response(f"Card Category: {request['card-category']}")
38+
print_response(f"Card Type: {request['card-type']}")
39+
print_response(f"Country: {request['country']}")
40+
print_response(f"Commercial: {request['is-commercial']}")
41+
print_response(f"Prepaid: {request['is-prepaid']}")
42+
print_response(f"Issuer: {request['issuer']}")
43+
print_response(f"Validity: {request['valid']}")
44+
45+
print(SUCCESS)
5646
# Run module_name module.
5747
if __name__ == '__main__':
5848
bankindex()

0 commit comments

Comments
 (0)