Quando la posta viene inviata via SMTP, ci sono due posti separati in questo tipo di informazioni, la Busta (le cose che sono impostate con i comandi SMTP) e l'Intestazione (il primo blocco di testo sotto il comando Dati SMTP, che termina con un riga vuota). Quindi, ad esempio, ecco una transazione SMTP in cui la busta non è d'accordo con le intestazioni. Il messaggio verrà consegnato per la busta , ma il destinatario vedrà le intestazioni .
mail from: <[email protected]>
250 2.1.0 Ok
rcpt to: <[email protected]>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
From: "Apple Store" <[email protected]>
To: [email protected]
Subject: We just received your purchase...
Mail body goes here.
.
250 2.0.0 Ok: queued as C5E251FFE2
quit
221 2.0.0 Bye
Connection closed by foreign host.
Il destinatario falso entra nell'intestazione "A:" riga, ma la posta viene consegnata in base al valore impostato nel comando SMTP "RCPT TO". E infatti, il destinatario vede l'intestazione che l'aggressore voleva che vedessero:
Ora,c'èunacertaprotezionecontroquesto.Secomunichialtuoclientdipostaelettronicachevuoivisualizzareleintestazionicompletedellaposta,noteraicheilserverdipostahainiettatodiverseintestazionicheraccontanolaverastoria:
[email protected]:45:212018Return-Path:<[email protected]>X-Original-To:[email protected]:[email protected]
Ma,naturalmente,iclientdipostanascondonosemprequestolivellodidettaglioperimpostazionepredefinitaeinterpretarecorrettamenteleintestazionipuòesseredifficile.Lachiavedaricordareèchesonoantepostidaiservermentrevannoavanti,quindiquellichevengonomessiincimaalserver;sevedi"Return-Path" nella parte in basso delle intestazioni è probabile che l'autore dell'attacco sia forgiato per tentare di indirizzarti in modo errato ... Poiché il messaggio originale "data" contiene le intestazioni create dal client mittente, possono mettere tutto ciò che vogliono lì prima che i server inizino a lavorare in anticipo.
Come da come farlo -
La prima regola della contraffazione dei destinatari di e-mail è, aspettati che fallisca miseramente.
La seconda regola è, usa Ccn: per i destinatari che vuoi ottenere, e A: per i destinatari che vuoi essere visto a prenderli. Questo è il modo standard per farlo con un client di posta, e generalmente funziona con qualsiasi cosa, da mailx a gmail.
Ma il chilometraggio può variare in modo imprevedibile. Ad esempio, se lasci vuoto A: , molti server di posta riempiranno il contenuto di Ccn: in A: per recuperarlo. 20 anni fa ho spammato migliaia di "destinatari nascosti" con gli indirizzi degli altri in quel modo, inviando un aggiornamento del concorso all'elenco dei candidati. OOPS.