2025-10-14 06:02:18 +00:00
|
|
|
import os
|
|
|
|
|
import subprocess
|
|
|
|
|
|
|
|
|
|
from rich.panel import Panel
|
|
|
|
|
from rich.prompt import Prompt
|
2026-03-15 13:56:07 +00:00
|
|
|
from rich.table import Table
|
2025-10-14 06:02:18 +00:00
|
|
|
from rich import box
|
|
|
|
|
|
2026-03-15 08:25:04 +00:00
|
|
|
from core import HackingTool, HackingToolsCollection, console
|
2025-10-14 06:02:18 +00:00
|
|
|
|
2020-08-14 11:11:59 +00:00
|
|
|
|
|
|
|
|
class Cupp(HackingTool):
|
|
|
|
|
TITLE = "Cupp"
|
2026-03-15 08:24:03 +00:00
|
|
|
# Bug 24 fix: DESCRIPTION was copy-pasted from WlCreator — completely wrong
|
|
|
|
|
DESCRIPTION = "Common User Passwords Profiler — generates personalized wordlists based on target info."
|
2020-08-14 11:11:59 +00:00
|
|
|
INSTALL_COMMANDS = ["git clone https://github.com/Mebus/cupp.git"]
|
2021-12-09 11:02:13 +00:00
|
|
|
RUN_COMMANDS = ["cd cupp && python3 cupp.py -i"]
|
2020-12-26 16:29:52 +00:00
|
|
|
PROJECT_URL = "https://github.com/Mebus/cupp"
|
2020-08-14 11:11:59 +00:00
|
|
|
|
2025-10-14 06:02:18 +00:00
|
|
|
def show_info(self):
|
|
|
|
|
panel = Panel(
|
|
|
|
|
f"[bold purple]{self.TITLE}[/bold purple]\n\n"
|
|
|
|
|
f"[cyan]{self.DESCRIPTION}[/cyan]\n\n"
|
|
|
|
|
f"[green]Repository:[/green] [underline blue]{self.PROJECT_URL}[/underline blue]",
|
|
|
|
|
border_style="purple",
|
|
|
|
|
box=box.ROUNDED,
|
|
|
|
|
)
|
|
|
|
|
console.print(panel)
|
|
|
|
|
|
2020-08-14 11:11:59 +00:00
|
|
|
|
|
|
|
|
class WlCreator(HackingTool):
|
|
|
|
|
TITLE = "WordlistCreator"
|
|
|
|
|
DESCRIPTION = "WlCreator is a C program that can create all possibilities" \
|
2022-06-15 11:07:23 +00:00
|
|
|
" of passwords,\n and you can choose Length, Lowercase, " \
|
2020-08-14 11:11:59 +00:00
|
|
|
"Capital, Numbers and Special Chars"
|
2026-03-15 08:25:05 +00:00
|
|
|
INSTALL_COMMANDS = ["git clone https://github.com/Z4nzu/wlcreator.git"]
|
2020-08-14 11:11:59 +00:00
|
|
|
RUN_COMMANDS = [
|
|
|
|
|
"cd wlcreator && sudo gcc -o wlcreator wlcreator.c && ./wlcreator 5"]
|
|
|
|
|
PROJECT_URL = "https://github.com/Z4nzu/wlcreator"
|
|
|
|
|
|
2025-10-14 06:02:18 +00:00
|
|
|
def show_info(self):
|
|
|
|
|
panel = Panel(
|
|
|
|
|
f"[bold purple]{self.TITLE}[/bold purple]\n\n"
|
|
|
|
|
f"[cyan]{self.DESCRIPTION}[/cyan]\n\n"
|
|
|
|
|
f"[green]Repository:[/green] [underline blue]{self.PROJECT_URL}[/underline blue]",
|
|
|
|
|
border_style="purple",
|
|
|
|
|
box=box.ROUNDED,
|
|
|
|
|
)
|
|
|
|
|
console.print(panel)
|
|
|
|
|
|
2020-08-14 11:11:59 +00:00
|
|
|
|
|
|
|
|
class GoblinWordGenerator(HackingTool):
|
|
|
|
|
TITLE = "Goblin WordGenerator"
|
|
|
|
|
DESCRIPTION = "Goblin WordGenerator"
|
|
|
|
|
INSTALL_COMMANDS = [
|
2026-03-15 08:25:05 +00:00
|
|
|
"git clone https://github.com/UndeadSec/GoblinWordGenerator.git"]
|
2020-08-14 11:11:59 +00:00
|
|
|
RUN_COMMANDS = ["cd GoblinWordGenerator && python3 goblin.py"]
|
|
|
|
|
PROJECT_URL = "https://github.com/UndeadSec/GoblinWordGenerator.git"
|
|
|
|
|
|
2025-10-14 06:02:18 +00:00
|
|
|
def show_info(self):
|
|
|
|
|
panel = Panel(
|
|
|
|
|
f"[bold purple]{self.TITLE}[/bold purple]\n\n"
|
|
|
|
|
f"[cyan]{self.DESCRIPTION}[/cyan]\n\n"
|
|
|
|
|
f"[green]Repository:[/green] [underline blue]{self.PROJECT_URL}[/underline blue]",
|
|
|
|
|
border_style="purple",
|
|
|
|
|
box=box.ROUNDED,
|
|
|
|
|
)
|
|
|
|
|
console.print(panel)
|
|
|
|
|
|
2020-08-14 11:11:59 +00:00
|
|
|
|
|
|
|
|
class showme(HackingTool):
|
|
|
|
|
TITLE = "Password list (1.4 Billion Clear Text Password)"
|
|
|
|
|
DESCRIPTION = "This tool allows you to perform OSINT and reconnaissance on " \
|
|
|
|
|
"an organisation or an individual. It allows one to search " \
|
|
|
|
|
"1.4 Billion clear text credentials which was dumped as " \
|
|
|
|
|
"part of BreachCompilation leak. This database makes " \
|
|
|
|
|
"finding passwords faster and easier than ever before."
|
|
|
|
|
INSTALL_COMMANDS = [
|
2026-03-15 08:25:05 +00:00
|
|
|
"git clone https://github.com/Viralmaniar/SMWYG-Show-Me-What-You-Got.git",
|
2020-08-14 11:11:59 +00:00
|
|
|
"cd SMWYG-Show-Me-What-You-Got && pip3 install -r requirements.txt"
|
|
|
|
|
]
|
|
|
|
|
RUN_COMMANDS = ["cd SMWYG-Show-Me-What-You-Got && python SMWYG.py"]
|
|
|
|
|
PROJECT_URL = "https://github.com/Viralmaniar/SMWYG-Show-Me-What-You-Got"
|
|
|
|
|
|
2025-10-14 06:02:18 +00:00
|
|
|
def show_info(self):
|
|
|
|
|
panel = Panel(
|
|
|
|
|
f"[bold purple]{self.TITLE}[/bold purple]\n\n"
|
|
|
|
|
f"[cyan]{self.DESCRIPTION}[/cyan]\n\n"
|
|
|
|
|
f"[green]Repository:[/green] [underline blue]{self.PROJECT_URL}[/underline blue]",
|
|
|
|
|
border_style="purple",
|
|
|
|
|
box=box.ROUNDED,
|
|
|
|
|
)
|
|
|
|
|
console.print(panel)
|
|
|
|
|
|
2020-08-14 11:11:59 +00:00
|
|
|
|
Phase 10: Add modern tools across 6 categories
Information Gathering (+7):
theHarvester, Amass, Masscan, RustScan, Holehe, Maigret, httpx
Web Attack (+6):
Nuclei, ffuf, Feroxbuster, Nikto, wafw00f, Katana
Wordlist/Password (+3):
Hashcat, John the Ripper, haiti
Wireless Attack (+3):
Airgeddon, hcxdumptool, hcxtools
Forensics (+2):
Volatility3, Binwalk
Post Exploitation (+1):
pwncat-cs
2026-03-15 08:34:39 +00:00
|
|
|
class Hashcat(HackingTool):
|
|
|
|
|
TITLE = "Hashcat (Password Cracker)"
|
|
|
|
|
DESCRIPTION = (
|
|
|
|
|
"World's fastest GPU/CPU password recovery tool — supports 300+ hash types.\n"
|
|
|
|
|
"Usage: hashcat -m 0 -a 0 hashes.txt wordlist.txt"
|
|
|
|
|
)
|
|
|
|
|
SUPPORTED_OS = ["linux"]
|
|
|
|
|
INSTALL_COMMANDS = ["sudo apt-get install -y hashcat"]
|
|
|
|
|
RUN_COMMANDS = ["hashcat --help"]
|
|
|
|
|
PROJECT_URL = "https://github.com/hashcat/hashcat"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class JohnTheRipper(HackingTool):
|
|
|
|
|
TITLE = "John the Ripper"
|
|
|
|
|
DESCRIPTION = (
|
|
|
|
|
"Open-source password security auditing and recovery tool.\n"
|
|
|
|
|
"Usage: john --wordlist=wordlist.txt hashfile"
|
|
|
|
|
)
|
|
|
|
|
SUPPORTED_OS = ["linux"]
|
|
|
|
|
INSTALL_COMMANDS = ["sudo apt-get install -y john"]
|
|
|
|
|
RUN_COMMANDS = ["john --help"]
|
|
|
|
|
PROJECT_URL = "https://github.com/openwall/john"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Haiti(HackingTool):
|
|
|
|
|
TITLE = "haiti (Hash Type Identifier)"
|
|
|
|
|
DESCRIPTION = (
|
|
|
|
|
"Identify hash types — supports 300+ algorithms.\n"
|
|
|
|
|
"Usage: haiti <hash>"
|
|
|
|
|
)
|
|
|
|
|
REQUIRES_RUBY = True
|
|
|
|
|
INSTALL_COMMANDS = ["gem install haiti-hash"]
|
|
|
|
|
RUN_COMMANDS = ["haiti --help"]
|
|
|
|
|
PROJECT_URL = "https://github.com/noraj/haiti"
|
|
|
|
|
|
|
|
|
|
|
2020-08-14 11:11:59 +00:00
|
|
|
class WordlistGeneratorTools(HackingToolsCollection):
|
|
|
|
|
TITLE = "Wordlist Generator"
|
|
|
|
|
TOOLS = [
|
|
|
|
|
Cupp(),
|
|
|
|
|
WlCreator(),
|
|
|
|
|
GoblinWordGenerator(),
|
Phase 10: Add modern tools across 6 categories
Information Gathering (+7):
theHarvester, Amass, Masscan, RustScan, Holehe, Maigret, httpx
Web Attack (+6):
Nuclei, ffuf, Feroxbuster, Nikto, wafw00f, Katana
Wordlist/Password (+3):
Hashcat, John the Ripper, haiti
Wireless Attack (+3):
Airgeddon, hcxdumptool, hcxtools
Forensics (+2):
Volatility3, Binwalk
Post Exploitation (+1):
pwncat-cs
2026-03-15 08:34:39 +00:00
|
|
|
showme(),
|
|
|
|
|
Hashcat(),
|
|
|
|
|
JohnTheRipper(),
|
|
|
|
|
Haiti(),
|
2020-08-14 11:11:59 +00:00
|
|
|
]
|
2025-10-14 06:02:18 +00:00
|
|
|
|
|
|
|
|
def show_info(self):
|
|
|
|
|
header = Panel(f"[bold white on purple] {self.TITLE} [/bold white on purple]",
|
|
|
|
|
border_style="purple", box=box.DOUBLE)
|
|
|
|
|
console.print(header)
|
|
|
|
|
table = Table(box=box.SIMPLE, show_header=True, header_style="bold purple")
|
|
|
|
|
table.add_column("#", justify="center", style="cyan", width=4)
|
|
|
|
|
table.add_column("Tool", style="bold")
|
|
|
|
|
table.add_column("Description", style="dim", overflow="fold")
|
|
|
|
|
|
|
|
|
|
for idx, t in enumerate(self.TOOLS, start=1):
|
|
|
|
|
desc = getattr(t, "DESCRIPTION", "") or ""
|
|
|
|
|
table.add_row(str(idx), t.TITLE, desc)
|
|
|
|
|
|
|
|
|
|
table.add_row("[red]99[/red]", "[bold red]Exit[/bold red]", "Return to previous menu")
|
|
|
|
|
console.print(table)
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
tools = WordlistGeneratorTools()
|
|
|
|
|
tools.show_info()
|
2026-03-15 08:25:04 +00:00
|
|
|
tools.show_options()
|