SMTP Smuggling
Informazioni di base
Questo tipo di vulnerabilità è stata originariamente scoperta in questo post dove viene spiegato che è possibile sfruttare le discrepanze nel modo in cui il protocollo SMTP viene interpretato quando si finalizza 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 difese come SPF.
Perché
Questo accade perché nel protocollo SMTP, i dati del messaggio da inviare nell'email sono controllati da un utente (attaccante) che potrebbe inviare dati appositamente elaborati abusando delle differenze nei parser che contrabbanderanno email extra 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 siano solo 1 email ma il server SMTP in entrata pensa che ci siano diverse email.
I ricercatori hanno scoperto che diversi server in entrata considerano caratteri diversi come la fine dei dati del messaggio email che i server in uscita non considerano.
Ad esempio, una normale fine dei dati è \r\n.
. Ma se il server SMTP in entrata supporta anche \n.
, un attaccante potrebbe semplicemente aggiungere quelli dati nella sua email e iniziare a indicare i comandi SMTP di nuove email da contrabbandare proprio come nell'immagine precedente.
Ovviamente, questo potrebbe funzionare solo se il server SMTP in uscita non tratta anche questi dati come la fine dei dati del messaggio, perché in quel caso vedrà 2 email invece di solo 1, quindi alla fine questa è la desincronizzazione che viene abusata in questa vulnerabilità.
Dati di potenziale desincronizzazione:
\n.
\n.
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 è ancora outlook.com
.
Riferimenti
Last updated