SMTP
linuxSMTP (25/465/587) banner grabbing, kullanıcı enumerasyonu (VRFY/EXPN/RCPT), open relay testi ve swaks ile mail gönderimi. OSCP'de genelde kullanıcı adı toplama ve open relay tespiti için kullanılır.
Komutlar
nmap -p25,465,587 -sV -sC --script smtp-commands,smtp-open-relay,smtp-enum-users,smtp-ntlm-info -oA nmap_smtp_{{RHOST}} {{RHOST}} nc -nv {{RHOST}} 25 telnet {{RHOST}} 25 smtp-user-enum -M VRFY -U {{WORDLIST}} -t {{RHOST}} smtp-user-enum -M RCPT -U {{WORDLIST}} -t {{RHOST}} -D {{DOMAIN}} smtp-user-enum -M EXPN -U {{WORDLIST}} -t {{RHOST}} swaks --to {{USER}}@{{DOMAIN}} --from attacker@{{DOMAIN}} --server {{RHOST}} --body 'test' swaks --from attacker@evil.com --to victim@external.com --server {{RHOST}} swaks --to {{USER}}@{{DOMAIN}} --server {{RHOST}} --auth LOGIN --auth-user {{USER}} --auth-password {{PASS}} Genel Bakış
SMTP (25/tcp, ayrıca 465 SMTPS ve 587 submission) bir mail transfer servisidir. OSCP kapsamında SMTP’nin asıl değeri kullanıcı adı enumerasyonu (sonradan POP3/IMAP/SSH/web brute-force için username listesi sağlar) ve open relay tespitidir. Nadiren doğrudan RCE veren CVE’ler de çıkar (ör. Exim, Sendmail clamav/shellshock).
Enumeration
Önce banner’a bak: nc veya telnet ile bağlanıp dönen 220 satırından yazılımı (Postfix, Exim, Sendmail, Microsoft ESMTP) ve versiyonu not et. EHLO attacker.local gönderip desteklenen extension’ları (AUTH, STARTTLS, SIZE, VRFY) listele. nmap’in smtp-commands scripti bunu otomatikleştirir.
Kullanıcı enum üç komutla yapılır:
- VRFY user: kullanıcı geçerliyse
250, değilse550döner. - EXPN list: alias/mailing-list üyelerini açar.
- RCPT TO:
MAIL FROMverdikten sonraRCPT TO:<user>ile teslim edilebilirliği test eder. VRFY/EXPN kapalı olduğunda en güvenilir yöntemdir.
smtp-user-enum bu üç modu otomatik dener. Yanıt kodlarına göre ayrım yap; bazı sunucular var olmayan kullanıcıya da 250 döndürür (catch-all), bu durumda enum güvenilmezdir.
Open Relay
Dış domainden dış domaine mail kabul edilirse sunucu açık relay’dir (spam/phishing pivotu). swaks ile --from ve --to farklı dış domainler verip yanıtı izle; 250 Ok teslim kabulü relay açık demektir.
Exploitation / Auth
587 (submission) portunda AUTH LOGIN/PLAIN varsa, başka serviste bulduğun creds’i burada da dene (parola tekrarı). Authenticated SMTP bazen internal mail okuma/gönderme ve phishing pivotu sağlar. Eski Exim/Sendmail sürümlerinde versiyona özel public exploit (searchsploit) kontrol et — bunlar genelde restricted sayılır.
Pivot / Loot Notları
- Elde edilen kullanıcı listesini POP3/IMAP/SSH/SMB brute-force ve AS-REP roasting için sakla.
- Mail header’larında internal hostname, IP ve yazılım versiyonu sızabilir.
- Open relay’i internal phishing ile credential harvesting’e çevirebilirsin (yazılı izin dahilinde).
- VRFY/RCPT catch-all davranışını mutlaka tek bilinen-yanlış kullanıcıyla kalibre et.