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
This commit is contained in:
Hardik Zinzuvadiya 2026-03-15 14:04:39 +05:30
parent 048699d8b2
commit cce4606d0e
6 changed files with 333 additions and 5 deletions

View file

@ -93,6 +93,41 @@ class Toolsley(HackingTool):
super().__init__(installable=False, runnable=False)
class Volatility3(HackingTool):
TITLE = "Volatility 3 (Memory Forensics)"
DESCRIPTION = (
"The world's most widely used memory forensics framework.\n"
"Usage: python3 vol.py -f memory.dmp windows.pslist"
)
INSTALL_COMMANDS = [
"git clone https://github.com/volatilityfoundation/volatility3.git",
"cd volatility3 && pip install --user -r requirements.txt",
]
PROJECT_URL = "https://github.com/volatilityfoundation/volatility3"
def run(self):
from config import get_tools_dir
import subprocess
from rich.prompt import Prompt
dump = Prompt.ask("Enter path to memory dump")
plugin = Prompt.ask("Enter plugin", default="windows.pslist")
subprocess.run(
["python3", "vol.py", "-f", dump, plugin],
cwd=str(get_tools_dir() / "volatility3"),
)
class Binwalk(HackingTool):
TITLE = "Binwalk (Firmware Analysis)"
DESCRIPTION = (
"Analyze, reverse engineer, and extract firmware images.\n"
"Usage: binwalk -e firmware.bin"
)
INSTALL_COMMANDS = ["pip install --user binwalk"]
RUN_COMMANDS = ["binwalk --help"]
PROJECT_URL = "https://github.com/ReFirmLabs/binwalk"
class ForensicTools(HackingToolsCollection):
TITLE = "Forensic tools"
TOOLS = [
@ -100,7 +135,9 @@ class ForensicTools(HackingToolsCollection):
Wireshark(),
BulkExtractor(),
Guymager(),
Toolsley()
Toolsley(),
Volatility3(),
Binwalk(),
]
if __name__ == "__main__":

View file

@ -214,6 +214,98 @@ class Breacher(HackingTool):
)
class TheHarvester(HackingTool):
TITLE = "theHarvester (OSINT)"
DESCRIPTION = (
"Gather emails, names, subdomains, IPs and URLs from public sources.\n"
"Usage: theHarvester -d example.com -b all"
)
INSTALL_COMMANDS = [
"git clone https://github.com/laramies/theHarvester.git",
"cd theHarvester && pip install --user -r requirements/base.txt",
]
RUN_COMMANDS = ["cd theHarvester && python3 theHarvester.py -h"]
PROJECT_URL = "https://github.com/laramies/theHarvester"
class Amass(HackingTool):
TITLE = "Amass (Attack Surface Mapping)"
DESCRIPTION = (
"In-depth subdomain enumeration and attack surface mapping.\n"
"Usage: amass enum -d example.com"
)
SUPPORTED_OS = ["linux"]
REQUIRES_GO = True
INSTALL_COMMANDS = [
"go install -v github.com/owasp-amass/amass/v4/...@master",
]
RUN_COMMANDS = ["amass -h"]
PROJECT_URL = "https://github.com/owasp-amass/amass"
class Masscan(HackingTool):
TITLE = "Masscan (Fast Port Scanner)"
DESCRIPTION = (
"Fastest internet port scanner — 10 million packets/sec.\n"
"Usage: masscan -p1-65535 <IP> --rate=1000"
)
SUPPORTED_OS = ["linux"]
INSTALL_COMMANDS = ["sudo apt-get install -y masscan"]
RUN_COMMANDS = ["masscan --help"]
PROJECT_URL = "https://github.com/robertdavidgraham/masscan"
class RustScan(HackingTool):
TITLE = "RustScan (Modern Port Scanner)"
DESCRIPTION = (
"Scans all 65k ports in 3 seconds, passes results to nmap automatically.\n"
"Usage: rustscan -a <IP> -- -sV"
)
SUPPORTED_OS = ["linux"]
INSTALL_COMMANDS = [
"curl -sLO https://github.com/RustScan/RustScan/releases/latest/download/rustscan_2.3.0_amd64.deb",
"sudo dpkg -i rustscan_2.3.0_amd64.deb",
]
RUN_COMMANDS = ["rustscan --help"]
PROJECT_URL = "https://github.com/RustScan/RustScan"
class Holehe(HackingTool):
TITLE = "Holehe (Email → Social Accounts)"
DESCRIPTION = (
"Check if an email address is registered on 120+ websites.\n"
"Usage: holehe user@example.com"
)
INSTALL_COMMANDS = ["pip install --user holehe"]
RUN_COMMANDS = ["holehe --help"]
PROJECT_URL = "https://github.com/megadose/holehe"
class Maigret(HackingTool):
TITLE = "Maigret (Username OSINT)"
DESCRIPTION = (
"Collect a dossier on a person by username across 3000+ sites.\n"
"Usage: maigret <username>"
)
INSTALL_COMMANDS = ["pip install --user maigret"]
RUN_COMMANDS = ["maigret --help"]
PROJECT_URL = "https://github.com/soxoj/maigret"
class Httpx(HackingTool):
TITLE = "httpx (HTTP Toolkit)"
DESCRIPTION = (
"Fast multi-purpose HTTP probing tool.\n"
"Usage: httpx -l urls.txt -status-code -title -tech-detect"
)
REQUIRES_GO = True
INSTALL_COMMANDS = [
"go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest",
]
RUN_COMMANDS = ["httpx -h"]
PROJECT_URL = "https://github.com/projectdiscovery/httpx"
class InformationGatheringTools(HackingToolsCollection):
TITLE = "Information gathering tools"
TOOLS = [
@ -231,7 +323,14 @@ class InformationGatheringTools(HackingToolsCollection):
SecretFinder(),
Shodan(),
PortScannerRanger(),
Breacher()
Breacher(),
TheHarvester(),
Amass(),
Masscan(),
RustScan(),
Holehe(),
Maigret(),
Httpx(),
]
if __name__ == "__main__":

View file

@ -41,11 +41,25 @@ class ChromeKeyLogger(HackingTool):
PROJECT_URL = "https://github.com/UndeadSec/HeraKeylogger"
class PwncatCS(HackingTool):
TITLE = "pwncat-cs (Reverse Shell Handler)"
DESCRIPTION = (
"Post-exploitation platform — manages reverse/bind shells with automation.\n"
"Handles file upload/download, persistence, privilege escalation.\n"
"Usage: pwncat-cs -lp 4444"
)
SUPPORTED_OS = ["linux", "macos"]
INSTALL_COMMANDS = ["pip install --user pwncat-cs"]
RUN_COMMANDS = ["pwncat-cs --help"]
PROJECT_URL = "https://github.com/calebstewart/pwncat"
class PostExploitationTools(HackingToolsCollection):
TITLE = "Post exploitation tools"
TOOLS = [
Vegile(),
ChromeKeyLogger()
ChromeKeyLogger(),
PwncatCS(),
]
if __name__ == "__main__":

View file

@ -109,6 +109,90 @@ class Dirb(HackingTool):
subprocess.run(["sudo", "dirb", uinput])
class Nuclei(HackingTool):
TITLE = "Nuclei (Vulnerability Scanner)"
DESCRIPTION = (
"Fast, template-based vulnerability scanner used by 50k+ security teams.\n"
"Usage: nuclei -u https://example.com"
)
REQUIRES_GO = True
INSTALL_COMMANDS = [
"go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest",
"nuclei -update-templates",
]
RUN_COMMANDS = ["nuclei -h"]
PROJECT_URL = "https://github.com/projectdiscovery/nuclei"
class Ffuf(HackingTool):
TITLE = "ffuf (Web Fuzzer)"
DESCRIPTION = (
"Fast web fuzzer — content discovery, parameter fuzzing, vhost discovery.\n"
"Usage: ffuf -w wordlist.txt -u https://example.com/FUZZ"
)
REQUIRES_GO = True
INSTALL_COMMANDS = [
"go install -v github.com/ffuf/ffuf/v2@latest",
]
RUN_COMMANDS = ["ffuf -h"]
PROJECT_URL = "https://github.com/ffuf/ffuf"
class Feroxbuster(HackingTool):
TITLE = "Feroxbuster (Directory Brute Force)"
DESCRIPTION = (
"Fast, recursive content discovery tool written in Rust.\n"
"Usage: feroxbuster -u https://example.com -w wordlist.txt"
)
SUPPORTED_OS = ["linux"]
INSTALL_COMMANDS = [
"curl -sL https://raw.githubusercontent.com/epi052/feroxbuster/main/install-nix.sh "
"| sudo bash -s /usr/local/bin",
]
RUN_COMMANDS = ["feroxbuster -h"]
PROJECT_URL = "https://github.com/epi052/feroxbuster"
class Nikto(HackingTool):
TITLE = "Nikto (Web Server Scanner)"
DESCRIPTION = (
"Scan web servers for dangerous files, outdated software, misconfigurations.\n"
"Usage: nikto -h https://example.com"
)
SUPPORTED_OS = ["linux"]
INSTALL_COMMANDS = ["sudo apt-get install -y nikto"]
RUN_COMMANDS = ["nikto -Help"]
PROJECT_URL = "https://github.com/sullo/nikto"
class Wafw00f(HackingTool):
TITLE = "wafw00f (WAF Detector)"
DESCRIPTION = (
"Fingerprint and identify Web Application Firewalls (WAF).\n"
"Usage: wafw00f https://example.com"
)
INSTALL_COMMANDS = [
"git clone https://github.com/EnableSecurity/wafw00f.git",
"cd wafw00f && pip install --user .",
]
RUN_COMMANDS = ["wafw00f --help"]
PROJECT_URL = "https://github.com/EnableSecurity/wafw00f"
class Katana(HackingTool):
TITLE = "Katana (Web Crawler)"
DESCRIPTION = (
"Next-generation crawling and spidering framework from ProjectDiscovery.\n"
"Usage: katana -u https://example.com"
)
REQUIRES_GO = True
INSTALL_COMMANDS = [
"go install -v github.com/projectdiscovery/katana/cmd/katana@latest",
]
RUN_COMMANDS = ["katana -h"]
PROJECT_URL = "https://github.com/projectdiscovery/katana"
class WebAttackTools(HackingToolsCollection):
TITLE = "Web Attack tools"
DESCRIPTION = ""
@ -119,7 +203,13 @@ class WebAttackTools(HackingToolsCollection):
CheckURL(),
Blazy(),
SubDomainTakeOver(),
Dirb()
Dirb(),
Nuclei(),
Ffuf(),
Feroxbuster(),
Nikto(),
Wafw00f(),
Katana(),
]
if __name__ == "__main__":

View file

@ -154,6 +154,52 @@ class Howmanypeople(HackingTool):
REQUIRES_WIFI = True
class Airgeddon(HackingTool):
TITLE = "Airgeddon (Wireless Attack Suite)"
DESCRIPTION = (
"Multi-use bash script for auditing wireless networks.\n"
"Covers WPA/WPA2, WEP, WPS, PMKID, evil twin, handshake capture and more."
)
SUPPORTED_OS = ["linux"]
REQUIRES_WIFI = True
INSTALL_COMMANDS = [
"git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git",
]
RUN_COMMANDS = ["cd airgeddon && sudo bash airgeddon.sh"]
PROJECT_URL = "https://github.com/v1s1t0r1sh3r3/airgeddon"
class Hcxdumptool(HackingTool):
TITLE = "hcxdumptool (PMKID Capture)"
DESCRIPTION = (
"Capture packets and PMKID hashes from WLAN devices.\n"
"Usage: hcxdumptool -i <iface> -o capture.pcapng --enable_status=1"
)
SUPPORTED_OS = ["linux"]
REQUIRES_WIFI = True
INSTALL_COMMANDS = [
"git clone https://github.com/ZerBea/hcxdumptool.git",
"cd hcxdumptool && make && sudo make install",
]
RUN_COMMANDS = ["hcxdumptool --help"]
PROJECT_URL = "https://github.com/ZerBea/hcxdumptool"
class Hcxtools(HackingTool):
TITLE = "hcxtools (PMKID/Hash Conversion)"
DESCRIPTION = (
"Convert captured WLAN packets to hashcat/JtR-compatible format.\n"
"Usage: hcxpcapngtool -o hashes.txt capture.pcapng"
)
SUPPORTED_OS = ["linux"]
INSTALL_COMMANDS = [
"git clone https://github.com/ZerBea/hcxtools.git",
"cd hcxtools && make && sudo make install",
]
RUN_COMMANDS = ["hcxpcapngtool --help"]
PROJECT_URL = "https://github.com/ZerBea/hcxtools"
class WirelessAttackTools(HackingToolsCollection):
TITLE = "Wireless attack tools"
TOOLS = [
@ -166,6 +212,9 @@ class WirelessAttackTools(HackingToolsCollection):
EvilTwin(),
Fastssh(),
Howmanypeople(),
Airgeddon(),
Hcxdumptool(),
Hcxtools(),
]

View file

@ -92,13 +92,52 @@ class showme(HackingTool):
console.print(panel)
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"
class WordlistGeneratorTools(HackingToolsCollection):
TITLE = "Wordlist Generator"
TOOLS = [
Cupp(),
WlCreator(),
GoblinWordGenerator(),
showme()
showme(),
Hashcat(),
JohnTheRipper(),
Haiti(),
]
def show_info(self):