O e-mail enviado para mim está endereçado para [email protected]. Como isso é feito?

103

Recentemente, recebi um email fraudulento e, para risos, abri o site para lê-lo. Muito simples e sem muito esforço.

Eu notei algo peculiar; Este e-mail não foi enviado para mim. No começo, suspeitei de um CC, ou de um BCC, mas em nenhum lugar ele tem meu endereço no correio. Eu forneci uma imagem abaixo. Como isso é feito?

    
por tuskiomi 15.05.2017 / 20:22

5 respostas

154

Uma mensagem de email da Internet consiste em duas partes. Podemos nos referir a eles como o envelope e a mensagem de carga útil ou simplesmente mensagem .

O envelope tem dados de roteamento: principalmente, este é o endereço do remetente e um ou mais endereços de destinatários.

A mensagem tem o conteúdo da mensagem: linha de assunto, corpo da mensagem, anexos e assim por diante. Ele também carrega algumas informações técnicas, como cabeçalhos de rastreio ( Received: ), dados DKIM e assim por diante; bem como os endereços exibidos do remetente e do destinatário (o que você vê nos campos From , To e Cc em seu cliente de e-mail).

Aqui está o ponto crucial: Os dois não precisam concordar!

Um servidor de e-mail examinará os dados do envelope para determinar como enviar a mensagem. Por outro lado, com poucas exceções, a mensagem em si será tratada apenas como dados. Particularmente, um servidor de correio bem comportado não analisa os campos To: e Cc: da própria mensagem para determinar a lista de destinatários, nem examina o campo From: para determinar o endereço do remetente.

Quando você redige e envia um e-mail, seu cliente de e-mail pega o que você digitou nos campos Para, Cc e Cco e traduz isso em informações de roteamento de envelope. Isso é feito principalmente removendo qualquer nome completo (deixando apenas endereços de e-mail), mas também pode envolver coisas como reescrita de endereço, expansão de alias e assim por diante. O resultado é uma lista de endereços de e-mail que são fornecidos ao servidor de e-mail com o qual seu cliente de e-mail está falando como a lista de destinatários. As listas Para e Cc são mantidas no e-mail, mas o Cco não é passado para o servidor, tornando-o invisível para os destinatários da mensagem. O endereço do remetente funciona de maneira muito semelhante.

Quando a mensagem chega ao seu destino final, os dados do envelope são descartados ou retidos nos cabeçalhos detalhados da mensagem. Essa é uma parte da razão pela qual o Spittin 'IT solicitou os cabeçalhos completos das mensagens em um comentário à sua pergunta.

Além disso, com o e-mail da Internet, é possível falar diretamente com um servidor de e-mail e, assim, injetar uma mensagem que tenha uma incompatibilidade entre os dados do envelope e os dados da mensagem / em> cliente de e-mail não deixaria você compor. Além disso, os servidores de e-mail realizam vários níveis de verificação no endereço do remetente que são fornecidos nos dados do envelope; alguns mal o verificam além de ter certeza de que é um endereço de e-mail válido sintaticamente . O cabeçalho De dos dados da mensagem está sujeito a uma análise ainda menor.

Como o cliente de email de recebimento exibe o que está nos cabeçalhos De, Para e Cc, não os dados de endereço do envelope, é possível colocar o que quiser lá e o email de recebimento o cliente não terá outro recurso senão confiar que é razoavelmente preciso. Para correio legítimo, geralmente é preciso o suficiente; para spam, quase nunca é.

No mundo dos objetos físicos tangíveis habitados por nós meros seres humanos, o envelope sender e envelope recipient corresponde ao endereço de retorno e endereço do destinatário, respectivamente, que você escreve na parte externa do envelope; e os cabeçalhos From: e To: / Cc: correspondem ao que você colocou como endereço e do destinatário, respectivamente, na carta que você colocou no envelope.

    
por 15.05.2017 / 20:56
23

tl; dr na parte inferior.

O protocolo SMTP não possui a noção de destinatários CC ou BCC; esta é uma convenção realizada por clientes de email. O servidor SMTP normalmente só se preocupa com informações e dados de roteamento. Essa é uma distinção importante, porque sem essa capacidade, o BCC não poderia existir. Como uma comunicação legítima da BCC, considere a seguinte transcrição do cliente:

HELO from-mail-server.com
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
From: "John Smith" <[email protected]>
To: "Jane Doe" <[email protected]>
BCC: "Anonymous" <[email protected]>
Subject: Important Meeting Notice
Date: Monday, May 15, 2017 12:20 PM

This is an important meeting notice. We'll meet tomorrow.

.

Agora, nesse caso, o Anonymous recebeu uma mensagem sobre essa reunião. No entanto, esta versão do email não foi encaminhada para Jane Doe; ela não sabe nada sobre o Anonymous ser notificado. Em contraste, Jane Doe receberá a mensagem com um corpo e um cabeçalho diferentes:

HELO from-mail-server.com
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
From: "John Smith" <[email protected]>
To: "Jane Doe" <[email protected]>
Subject: Important Meeting Notice
Date: Monday, May 15, 2017 12:20 PM

This is an important meeting notice. We'll meet tomorrow.

.

Aqui, como o Anonymous estava no BCC, a mensagem enviada a Jane Doe não incluía a lista de destinatários do BCC. Por causa da convenção BCC, o envelope de e-mail pode não incluir os destinatários que realmente receberam a mensagem e também pode incluir destinatários que não aparecem nos cabeçalhos das mensagens.

Como mencionado por @JonasWielicki , que eu também pretendia incluir, é que o MUA (Mail User Agent ) é normalmente responsável por enviar os vários emails necessários para implementar o BCC. Servidores de e-mail não sabem nada sobre o BCC e, portanto, o MUA deve implementar o BCC enviando vários e-mails com diferentes rotas de e-mail especificadas nos cabeçalhos do envelope. Por esse motivo, os BCCs normalmente demoram mais para enviar do que os e-mails normais, porque diferentes corpos de mensagens precisam ser construídos e enviados individualmente.

Isso também ajuda com algumas regras de conformidade de e-mail. Por exemplo, um servidor de e-mail pode ter regras configuradas para automaticamente um servidor de e-mail de arquivamento (todos os e-mails enviados a ele também são arquivados), caso em que o servidor de e-mail pode nem ser um destinatário real.

HELO from-mail-server.com
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
From: "John Smith" <[email protected]>
To: "Jane Doe" <[email protected]>
BCC: "Anonymous" <[email protected]>
Subject: Important Meeting Notice
Date: Monday, May 15, 2017 12:20 PM

This is an important meeting notice. We'll meet tomorrow.

.

Aqui, o destinatário é outra parte completamente desconhecida de qualquer um dos destinatários ou mesmo do remetente. Esta é uma característica do protocolo, normalmente usada na transmissão ou no arquivamento de mensagens.

O que essa mensagem de spam fez é aproveitar esse comportamento. É uma lacuna padrão que tecnicamente deve funcionar com qualquer servidor de email compatível. É claro que muitos servidores atualizados usam "extensões" como o DKIM para verificar se esse e-mail é autêntico, mas ainda existem muitos servidores de e-mail antigos que não se importam, simplesmente porque é tentador não consertar as coisas que não estão quebradas.

Observe também como eu especifiquei um cabeçalho de data. Isso pode ser qualquer valor arbitrário (mas bem formatado); Muitos clientes terão todo o prazer em exibir qualquer período legal, desde o passado distante até o futuro distante. Eu pessoalmente enviei um e-mail para mim anos atrás, que permanecerá no topo da minha caixa de correio, muito depois da minha expectativa de vida, bem como um e-mail que antecede a minha conta de e-mail e meu próprio nascimento.

tl; dr

Assim, em resumo, o remetente falsificou um e-mail, o servidor de e-mail de origem aceitou / retransmitiu, seu servidor de e-mail o aceitou e o armazenou em sua caixa de entrada e seu cliente exibiu fielmente os dados que estavam em sua caixa de entrada para você tudo sem contornar qualquer segurança. A segurança "Envio" é muitas vezes muito menos restrita do que "receber" segurança nessa perspectiva, já que o POP3 quase sempre requer um nome de usuário e senha antes que você possa acessar uma caixa de correio (você poderia teoricamente contornar isso, mas não sei serviços de correio que o fazem).

    
por 16.05.2017 / 02:33
6

O SMTP e o email são serviços de Internet muito antigos, de uma era em que a segurança e a autenticação eram levadas muito menos a sério (o DNS é outro exemplo). O design do protocolo não faz nenhum esforço para verificar a autenticidade do endereço do remetente e apenas valida o endereço do destinatário na medida em que garante que o correio seja entregue.

O email é transmitido através do protocolo SMTP. O protocolo SMTP é relativamente burro; Ele fornece um recurso para transmitir texto simples para um endereço de e-mail e muito pouco mais. A estrutura deste texto simples é definida por RFC 5322 . A idéia geral é que o texto do email tem metadados chamados de cabeçalho e o corpo real da mensagem. Este cabeçalho de e-mail é gerado pelo remetente (nenhum deles pode ser confiável) e contém campos como "para:", "de:", "assunto:", etc ...

O protocolo SMTP não (e não deve) validar se os cabeçalhos de email correspondem a algumas das poucas coisas definidas no protocolo SMTP, que são essencialmente seu endereço de email e um endereço de email do remetente que nunca é validado de alguma forma .

Quase tudo em uma mensagem de e-mail pode ser falso.

A única coisa remotamente confiável sobre o conteúdo do email hoje são as assinaturas DKIM, que provam que o email foi processado através de um servidor de email sancionado pelo registrante do domínio. Indo mais a fundo, você descobriria que este e-mail de esquema não tem assinatura DKIM.

    
por 16.05.2017 / 00:28
3

O endereço To no cabeçalho do email é para fins informativos e é exibido pelo cliente de email. O endereço do destinatário real é fornecido com RCPT TO no SMTP. É o mesmo se você escrever carta, colocar em envelope, escrever Endereço-1 no envelope. Então vá para courier, dê outro endereço-2. O correio coloca seu envelope em envelope maior com Address-2 e a remessa irá para lá. Sua secretária (software cliente de e-mail) coloca o envelope externo na lixeira e mostra o envelope interno com o endereço-1. Você pode ver isso com a visualização RAW da mensagem de e-mail.

    
por 16.05.2017 / 10:33
2

Esta é uma aparência ligeiramente diferente, baseada no exame de cabeçalhos. As outras respostas lidam com os detalhes do SMTP melhor do que eu poderia.

Se você conseguir os cabeçalhos completos da sua mensagem, pesquise-os pelo seu endereço, você pode encontrá-lo em um campo chamado Envelope-to , Delivered-to ou X-Apparently-to . O primeiro é usado pelo meu provedor de e-mail, o segundo pelo Gmail; Eu vi o terceiro usado também. Estes são campos diferentes, mas para nossos propósitos tendem a significar a mesma coisa: a caixa de correio para entregar a mensagem. Eu testei enviando do outlook (versão para desktop) com o destinatário BCCed.

Meu provedor de e-mail também usa o campo Delivered-To , mas para o nome da caixa de correio em seu servidor. Este não é o meu endereço de e-mail, embora pareça um (pense em ChrisH-$ACCOUNTNAME@$SERVER.mail.com ).

O Outlook (combinado com o Exchange Server), por outro lado, não inclui nos cabeçalhos um único campo com o endereço de e-mail do destinatário, se você estiver listado como BCC.

    
por 16.05.2017 / 10:23