SMTP Enumeration
Overview
Client (MUA) β Submission Agent (MSA) β Open Relay (MTA) β Mail Delivery Agent (MDA) β Mailbox (POP3/IMAP)SMTP Commands and Responses
Common SMTP Commands
# Basic SMTP commands
HELO/EHLO # Identify client to server (EHLO for Extended SMTP)
MAIL FROM # Specify sender
RCPT TO # Specify recipient
DATA # Begin message content
QUIT # Close connection
VRFY # Verify user exists
EXPN # Expand mailing list
AUTH PLAIN # Authentication (with ESMTP)
RSET # Reset connection
NOOP # No operation (prevent timeout)User Enumeration Commands
Default Configuration
Example Postfix Configuration
Dangerous Settings
Open Relay Configuration
Enumeration Techniques
1. Banner Grabbing and Initial Connection
2. SMTP Service Detection
3. HELO vs EHLO Testing
4. User Enumeration with VRFY
5. User Enumeration with EXPN
6. Email Sending Testing
5. Automated User Enumeration
Advanced Enumeration
Using Nmap NSE Scripts
Open Relay Testing
Manual Testing Session
Security Issues and Attack Vectors
1. User Enumeration
2. Open Relay
3. Information Disclosure
4. Authentication Bypass
5. Email Spoofing
Practical Examples
HTB Academy Style Enumeration
HTB Academy Lab Questions Examples
Wordlist-based User Enumeration
Enumeration Checklist
Initial Discovery
User Enumeration
Security Testing
Tools and Techniques
Essential SMTP Tools
Custom Scripts
Defensive Measures
Secure SMTP Configuration
Best Practices
Detection and Monitoring
Common Vulnerabilities
CVE Examples
Mitigation Strategies
Last updated