FOOTHOLD Metodoloji Cheat-sheet
25

SMTP

linux

SMTP (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 ✓ EXAM-SAFE
nmap -p25,465,587 -sV -sC --script smtp-commands,smtp-open-relay,smtp-enum-users,smtp-ntlm-info -oA nmap_smtp_{{RHOST}} {{RHOST}}
SMTP servis/versiyon tespiti ve temel NSE scriptleri: desteklenen komutlar, open relay, kullanıcı enum ve NTLM bilgisi. HackTricks — Pentesting SMTP
netcat ✓ EXAM-SAFE
nc -nv {{RHOST}} 25
Banner grabbing — manuel bağlantı ile SMTP banner ve sunucu yazılımını (Postfix/Exim/Sendmail) görmek. HackTricks — Pentesting SMTP
telnet ✓ EXAM-SAFE
telnet {{RHOST}} 25
Manuel SMTP oturumu: EHLO/HELO, VRFY, EXPN, MAIL FROM / RCPT TO komutlarını elle denemek. HackTricks — Pentesting SMTP
smtp-user-enum ✓ EXAM-SAFE
smtp-user-enum -M VRFY -U {{WORDLIST}} -t {{RHOST}}
VRFY yöntemiyle geçerli sistem kullanıcılarını enumerate et. smtp-user-enum man page / Kali tools
smtp-user-enum ✓ EXAM-SAFE
smtp-user-enum -M RCPT -U {{WORDLIST}} -t {{RHOST}} -D {{DOMAIN}}
RCPT TO yöntemiyle kullanıcı enum (VRFY/EXPN kapalıysa en güvenilir yöntem); -D ile mail domain'i eklenir. smtp-user-enum man page / Kali tools
smtp-user-enum ✓ EXAM-SAFE
smtp-user-enum -M EXPN -U {{WORDLIST}} -t {{RHOST}}
EXPN yöntemiyle mail listeleri/alias üyelerini genişleterek kullanıcı enum. smtp-user-enum man page / Kali tools
swaks ✓ EXAM-SAFE
swaks --to {{USER}}@{{DOMAIN}} --from attacker@{{DOMAIN}} --server {{RHOST}} --body 'test'
swaks ile test maili göndererek mail teslimini ve relay davranışını doğrula. swaks documentation
swaks ✓ EXAM-SAFE
swaks --from attacker@evil.com --to victim@external.com --server {{RHOST}}
Open relay testi — sunucu hem gönderen hem alıcı dış domain olduğu halde maili kabul ederse açık relay var. HackTricks — Pentesting SMTP
swaks ✓ EXAM-SAFE user
swaks --to {{USER}}@{{DOMAIN}} --server {{RHOST}} --auth LOGIN --auth-user {{USER}} --auth-password {{PASS}}
Kimlik doğrulamalı (587/submission) gönderim — bulunan creds'lerle authenticated relay testi. swaks documentation

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ğilse 550 döner.
  • EXPN list: alias/mailing-list üyelerini açar.
  • RCPT TO: MAIL FROM verdikten sonra RCPT 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.
┌──

İlgili teknikler

┌──

Kaynaklar

0/15 set