SMTP Smuggling
Informazioni di Base
Questo tipo di vulnerabilità è stato originariamente scoperto in questo post dove viene spiegato che è possibile sfruttare le discrepanze nell'interpretazione del protocollo SMTP al momento di finalizzare un'email, consentendo a un attaccante di contrabbandare più email nel corpo di quella legittima, permettendo di impersonare altri utenti del dominio interessato (come admin@outlook.com) eludendo le difese come SPF.
Perché
Questo avviene perché nel protocollo SMTP, i dati del messaggio da inviare nell'email sono controllati da un utente (attaccante) che potrebbe inviare dati appositamente creati sfruttando le differenze nei parser che contrabbanderanno email aggiuntive nel destinatario. Dai un'occhiata a questo esempio illustrato dal post originale:
Come
Per sfruttare questa vulnerabilità, un attaccante deve inviare alcuni dati che il server SMTP in uscita pensa che sia solo 1 email ma il server SMTP in ingresso pensa che ci siano diverse email.
I ricercatori hanno scoperto che diversi server in ingresso considerano diversi caratteri come fine dei dati del messaggio email che i server in uscita non considerano.
Ad esempio, una fine regolare dei dati è \r\n.\r
. Ma se il server SMTP in ingresso supporta anche \n.
, un attaccante potrebbe semplicemente aggiungere quei dati nella sua email e iniziare a indicare i comandi SMTP di nuove email da contrabbandare proprio come nell'immagine precedente.
Ovviamente, ciò potrebbe funzionare solo se il server SMTP in uscita non considera anche questi dati come fine dei dati del messaggio, perché in tal caso vedrà 2 email invece di una sola, quindi alla fine questa è la disincronizzazione che viene sfruttata in questa vulnerabilità.
Dati potenziali di disincronizzazione:
\n.
\n.\r
Nota anche che lo SPF viene eluso perché se contrabbandi un'email da admin@outlook.com
da un'email da user@outlook.com
, il mittente è comunque outlook.com
.
Riferimenti
Last updated