Tutorials

SMTP Enumeration – Appunti Approfonditi

SMTP Simple Mail Transfer Protocol è comunemente utilizzato per l'invio di email e spesso risulta esposto su internet. Enumerare SMTP è utile per: - Determinare la versione del server in uso

#enumeration

SMTP Enumeration – Appunti Approfonditi

Introduzione

SMTP (Simple Mail Transfer Protocol) è comunemente utilizzato per l'invio di email e spesso risulta esposto su internet. Enumerare SMTP è utile per:

  • Determinare la versione del server in uso
  • Scoprire utenti validi che possono essere sfruttati per l'accesso SSH o attacchi successivi
  • Identificare eventuali vulnerabilità

1. Porte SMTP comuni

  • 25 – Standard SMTP (spesso usato anche per relaying interno)
  • 465 – SMTP over SSL
  • 587 – SMTP con STARTTLS (autenticazione sicura)

2. Preparazione dell'ambiente

Avvio del servizio Postgres per Metasploit

bash
service postgresql start

Verifica stato del database

bash
db_status

Impostare l'indirizzo IP globale

bash
setg RHOSTS <ip_target>

3. Ricerca moduli SMTP in Metasploit

Ricerca generale:

bash
search smtp

Ricerca focalizzata sui moduli ausiliari:

bash
search type:auxiliary name:smtp

4. Moduli utili per SMTP Enumeration

4.1 Version Check

bash
use auxiliary/scanner/smtp/smtp_version

Questo modulo rileva la versione del servizio SMTP in esecuzione.

4.2 Ricerca vulnerabilità sulla versione SMTP

bash
search versione_smtp
searchsploit <versione_smtp>

Verificare la versione enumerata e consultare il database Exploit-DB per possibili exploit pubblici.

4.3 Enumerazione utenti SMTP

bash
use auxiliary/scanner/smtp/smtp_enum

#### Parametri consigliati:

bash
set USER_FILE /usr/share/metasploit-framework/data/wordlists/unix_users.txt
set RPORT 25
run

Il modulo invia comandi come VRFY o EXPN per determinare se gli utenti esistono sulla macchina. Utile per scoprire account reali da sfruttare per brute-force via SSH.


5. Esempio completo di flusso operativo

bash
service postgresql start
db_status
setg RHOSTS 192.168.1.100
search smtp
use auxiliary/scanner/smtp/smtp_version
run
searchsploit Postfix 2.9.6
use auxiliary/scanner/smtp/smtp_enum
set USER_FILE users.txt
run

6. Note importanti

  • Il modulo smtp_enum può generare traffico sospetto. Usarlo solo in ambiti controllati o autorizzati.
  • Alcuni server SMTP moderni non rispondono a comandi VRFY/EXPN per motivi di sicurezza.
  • Un utente trovato con smtp_enum può essere testato per l'accesso SSH.

7. Approfondimenti utili

  • Analisi banner SMTP con nc o telnet:
bash
telnet <ip> 25

Osservare il banner iniziale e inviare:

bash
EHLO test
VRFY user
  • Utilizzo di tool alternativi: smtp-user-enum, nmap -p25 --script smtp-enum-users

Conclusione

L'enumerazione del servizio SMTP rappresenta una fase fondamentale nel footprinting e information gathering. Se configurato male, può rivelare utenti validi e fornire informazioni preziose per accessi successivi (es. SSH).