Password Spraying
Attempt a single password against multiple user accounts to avoid account lockouts while testing for weak credentials.
Password spraying is less noisy than brute forcing and respects account lockout policies by trying one password across many users.
Quick Reference
# NetExec SMB spray |
NetExec (CrackMapExec) Spraying
# SMB password spray |
Kerbrute
# Password spray |
Hydra
# SSH spray |
Medusa
# SSH spray |
Metasploit
# SMB spray |
Office 365 Spraying
# Validate domain |
Common Passwords to Try
# Seasonal passwords |
Credential Stuffing
# Hydra with user:pass list |
Default Credentials
# Search default credentials database |
Common Workflow
# Step 1: Enumerate users |
Notes
Password Spraying vs Brute Force:
Password Spraying: One password, many users
- Respects lockout policies
- Less noisy
- Higher success rate with common passwords
Brute Force: Many passwords, one user
- Triggers lockout policies
- Very noisy
- Higher detection risk
Account Lockout Considerations:
Always check lockout policy before spraying:
nxc smb 10.10.10.10 -u username -p password --pass-pol |
Typical policies:
- Lockout threshold: 3-5 attempts
- Lockout duration: 30 minutes
- Observation window: 30 minutes
Spraying Strategy:
- Try 1 password per user
- Wait for lockout window to reset (30+ minutes)
- Try next password
- Repeat
Best Passwords to Try:
Based on common patterns:
- Season + Year + Symbol:
Summer2024! - Company + Year + Symbol:
CompanyName2024! - Welcome + Number + Symbol:
Welcome1! - Password + Number + Symbol:
Password123!
Time-Based Patterns:
- Current season
- Current year
- Current month
- Upcoming season
OSINT for Password Generation:
- Company name
- Industry terms
- Location
- Sports teams
- Common phrases
Detection Avoidance:
- Spray during business hours
- Use realistic delays (30-60 minutes)
- Limit attempts per user
- Rotate source IPs if possible
- Use valid user accounts
Success Indicators:
NetExec:
[+]= Valid credentialsPwn3d!= Admin access
Kerbrute:
VALID LOGIN= Success
Hydra:
[22][ssh] host: 10.10.10.10 login: admin password: Password123!
Post-Spray Actions:
Once valid credentials found:
- Verify access level
- Check for admin rights
- Enumerate accessible systems
- Document credentials
- Continue enumeration
Tools Comparison:
- NetExec: Best for Windows/AD environments
- Kerbrute: Fast Kerberos pre-auth spraying
- Hydra: Multi-protocol support
- O365spray: Office 365 specific
- Medusa: Alternative to Hydra
Legal and Ethical:
- Only spray with authorization
- Respect lockout policies
- Document all attempts
- Avoid DoS conditions
- Follow rules of engagement