Skip to content

Commit

Permalink
Merge pull request #83 from morpheuslord/Password_cracker_update
Browse files Browse the repository at this point in the history
Password Cracker Intigration update
  • Loading branch information
morpheuslord authored Dec 13, 2023
2 parents 656db19 + 1cb0074 commit 255e20b
Show file tree
Hide file tree
Showing 12 changed files with 317 additions and 262 deletions.
18 changes: 6 additions & 12 deletions GVA_gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from components.port_scanner import NetworkScanner
from components.jwt import JWTAnalyzer
from components.packet_analysis import PacketAnalysis
from components.subdomain import sub_enum
from components.subdomain import SubEnum

list_loc = "lists//default.txt"
load_dotenv()
Expand All @@ -23,7 +23,7 @@
packet_analysis = PacketAnalysis()
port_scanner = NetworkScanner()
jwt_analyzer = JWTAnalyzer()
sub_recon = sub_enum()
sub_recon = SubEnum()

customtkinter.set_appearance_mode("dark")
customtkinter.set_default_color_theme("dark-blue")
Expand All @@ -42,13 +42,12 @@
navigation_frame.pack(side="left", fill="y")


def application(attack, entry2, entry3, entry_ai, threads_val, entry5):
def application(attack, entry2, entry3, entry_ai, entry5):
try:
target = entry2.get()
profile = entry3.get() if entry3 else None
save_loc = entry5.get() if entry5 else None
ai_choices = entry_ai.get() if entry_ai else None
threads = threads_val.get() if threads_val else None

if attack == 'geo':
geo_output: str = geo_ip_recon.geoip(gkey, target)
Expand Down Expand Up @@ -88,10 +87,9 @@ def application(attack, entry2, entry3, entry_ai, threads_val, entry5):
)
output_save(output)
elif attack == 'pcap':
packet_analysis.PacketAnalyzer(
cap_loc=target,
save_loc=save_loc,
max_workers=int(threads)
packet_analysis.perform_full_analysis(
pcap_path=target,
json_path=save_loc,
)
output_save("Done")
except KeyboardInterrupt:
Expand Down Expand Up @@ -132,7 +130,6 @@ def select_frame_by_name(name):

entry3 = None
entry5 = None
threads_val = None
if name == "nmap":
entry3 = customtkinter.CTkEntry(master=frame, placeholder_text="Profile")
entry3.pack(pady=12, padx=10)
Expand All @@ -142,15 +139,12 @@ def select_frame_by_name(name):
elif name == "pcap":
entry5 = customtkinter.CTkEntry(master=frame, placeholder_text="Save Location")
entry5.pack(pady=12, padx=10)
threads_val = customtkinter.CTkEntry(master=frame, placeholder_text="Threads")
threads_val.pack(pady=12, padx=10)

button = customtkinter.CTkButton(master=frame, text="Run", command=lambda: application(
attack=name,
entry2=entry2,
entry3=entry3,
entry_ai=entry_ai,
threads_val=threads_val,
entry5=entry5
))
button.pack(pady=12, padx=10)
Expand Down
25 changes: 24 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ python gpt_vuln.py --target <IP/hostname/token> --attack dns
python gpt_vuln.py --target <HOSTNAME> --attack sub

# Specify target for Subdomain Enumeration no profile used custom list file
python gpt_vuln.py --target <HOSTNAME> --attack sub --list <PATH to FILE>
python gpt_vuln.py --target <HOSTNAME> --attack sub --sub_list <PATH to FILE>

# Specify target for geolocation lookup
python gpt_vuln.py --target <IP> --attack geo
Expand All @@ -145,6 +145,9 @@ python gpt_vuln.py --target <IP> --attack dns --ai llama /llama-api /bard / open
# Specify the AI to be used for JWT analysis
python gpt_vuln.py --target <token> --attack jwt --ai llama /llama-api /bard / openai <default>

# Password Cracker
python gpt_vuln.py --password_hash <HASH> --wordlist_file <FILE LOCATION> --algorithm <ALGO FROM THE HELP MENU> --parallel --complexity

# Interactive step by step cli interface
python gpt_vuln.py --menu True
```
Expand Down Expand Up @@ -485,6 +488,26 @@ Completed
└────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
```

#### Password Cracker Output

```
________________________
| GVA Usage in progress... |
========================
\
\
^__^
(oo)\_______
(__)\ )\/\
||----w |
|| ||
Cracking... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
╭────────────────────────────────────────────── The GVA Password Cracker ──────────────────────────────────────────────╮ │ │ │ │
│ Password Cracked! Password: legion │
│ │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```

# Usage GUI

The GUI uses customtkinter for the running of the code. The interface is straightforward the only thing required to remember is:
Expand Down
Binary file modified components/__pycache__/assets.cpython-311.pyc
Binary file not shown.
Binary file modified components/__pycache__/menus.cpython-311.pyc
Binary file not shown.
Binary file modified components/__pycache__/packet_analysis.cpython-311.pyc
Binary file not shown.
Binary file not shown.
8 changes: 0 additions & 8 deletions components/assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@ def help_menu() -> None:
"The target of the user", "None")
table.add_row("Domain List", "--list", "Path to text file",
"subdomain dictionary list", "Path")
table.add_row("Thread", "--thread", "INT",
"Number of threads for PCAP analysis", "200 (Default)")
table.add_row("Output", "--output", "Path to text file",
"Outputs the PCAP analysis", "Path")
table.add_row("Profile", "--profile", "INT (1-13)",
Expand Down Expand Up @@ -262,14 +260,8 @@ def print_output(self, attack_type: str, jdata: str, ai: str) -> Any:
console = Console()
console.print(table)

# CTkTable Widget by Akascape
# License: MIT
# Author: Akash Bora


class CTkTable(customtkinter.CTkFrame):
""" CTkTable Widget """

def __init__(
self,
master: any,
Expand Down
22 changes: 5 additions & 17 deletions components/menus.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,9 +346,8 @@ def pcap_menu(self) -> None:
table.add_column("Utility", style="green")
table.add_row("1", "Set Target file location")
table.add_row("2", "Set Output file location")
table.add_row("3", "Set Threads")
table.add_row("4", "Show options")
table.add_row("5", "Run Attack")
table.add_row("3", "Show options")
table.add_row("4", "Run Attack")
table.add_row("q", "Quit")
console.print(table)
self.option = input("Enter your choice: ")
Expand All @@ -373,20 +372,9 @@ def pcap_menu(self) -> None:
self.pcap_menu()
case "4":
clearscr()
table1 = Table()
table1.add_column("Options", style="cyan")
table1.add_column("Value", style="green")
table1.add_row("Target PCAP file", str(self.t))
table1.add_row("Output location", str(self.output_loc))
table1.add_row("Threads set", str(self.threads))
print(Panel(table1))
self.pcap_menu()
case "5":
clearscr()
packetanalysis.PacketAnalyzer(
cap_loc=self.t,
save_loc=self.output_loc,
max_workers=self.threads
packetanalysis.perform_full_analysis(
pcap_path=self.t,
json_path=self.output_loc,
)
case "q":
quit()
Expand Down
Loading

0 comments on commit 255e20b

Please sign in to comment.