7.smtp
I. Email Basics
Function: Handles and delivers email. Protocols:
SMTP (Simple Mail Transfer Protocol): Sending emails.
POP3 (Post Office Protocol 3): Receiving emails (typically removes from server).
IMAP4 (Internet Message Access Protocol 4): Receiving emails (keeps on server).
Ports:
SMTP: TCP/25 (unencrypted), TCP/465 (encrypted), TCP/587 (encrypted/STARTTLS)
POP3: TCP/110 (unencrypted), TCP/995 (encrypted)
IMAP4: TCP/143 (unencrypted), TCP/993 (encrypted)
Attack Vectors:
Misconfigurations (anonymous access, weak protocols).
User enumeration.
Password attacks (spraying, brute-forcing).
Exploiting vulnerabilities (e.g., open relay, CVE-2020-7247).
Credential reuse attacks.
Email spoofing/phishing.
II. Enumeration
MX Records (Mail Exchanger):
host -t MX <domain>
dig mx <domain>
MXToolbox website
DNSdumpster for passive recon
A Records (IP Address):
host -t A <mail_server>
dig A <mail_server>
SPF, DKIM, and DMARC Records:
dig txt <domain>
Nmap (for custom mail servers):
nmap -Pn -sV -sC -p25,143,110,465,587,993,995 <target_IP>
III. Misconfigurations
SMTP User Enumeration:
telnet <target_IP> 25
VRFY <username>
EXPN <mailing_list>
RCPT TO <username>
smtp-user-enum tool:
smtp-user-enum -M VRFY -U <user_list> -D <domain> -t <target_IP>
POP3 User Enumeration:
telnet <target_IP> 110
USER <username>
PASS <password>
IV. Cloud Enumeration
Office 365:
python3 o365spray.py --validate --domain <domain>
python3 o365spray.py --enum -U <user_list> --domain <domain>
Google Workspace Enumeration:
python3 enum_google.py --domain <domain>
V. Password Attacks
Hydra:
hydra -L <user_list> -P <password_list> <target_IP> <service>
Cloud Services (Office 365):
python3 o365spray.py --spray -U <user_list> -p <password> --count 1 --lockout 1 --domain <domain>
MailSniper (Office 365):
Invoke-Spray -Usernames <user_list> -Password <password> -OutFile results.txt
VI. Protocol-Specific Attacks
Open Relay:
nmap -p25 -Pn --script smtp-open-relay <target_IP>
swaks --from <sender> --to <recipient> --header 'Subject: <subject>' --body <body> --server <target_IP>
SMTP Spoofing (Manual Test):
telnet <target_IP> 25
HELO example.com
MAIL FROM:<spoofed@domain.com>
RCPT TO:<victim@domain.com>
DATA
Subject: Test
This is a spoofing test.
.
QUIT
VII. Latest Email Service Vulnerabilities
CVE-2020-7247 (OpenSMTPD):
RCE vulnerability (exploitable since 2018).
Affects OpenSMTPD up to version 6.6.2.
No authentication required.
Shodan.io for finding potentially vulnerable servers.
CVE-2021-27211 (Exim):
Improper validation of recipient address.
Can lead to RCE.
VIII. Additional Tools
Amass for passive DNS enumeration.
Shodan for discovering exposed mail servers.
TheHarvester for gathering email addresses.
Censys for advanced reconnaissance.
Last updated