skip to content
Gustavo Bindandi

A segurança do SMTP: explorando SPF e avaliando riscos

Nesta pesquisa, analisamos a vulnerabilidade do SMTP em relação ao SPF (Sender Policy Framework)

Explorando o SPF (Email Spoofing) e avaliando os riscos

O que é SPF?

O SPF (Sender Policy Framework) é um conceito antigo e ainda muito comum em empresas. Ele é um sistema que visa evitar o envio de e-mails não autorizados em nome de um domínio específico. Ao verificar o cabeçalho de internet, o SPF analisa se o SMTP usado para enviar a mensagem está autorizado nos IPs registrados para o domínio do remetente (fonte: Wikipédia).

No SPF, existem três tipos de restrições:

  • “?all”: Permite o envio de e-mails de qualquer origem, sem analisar a origem ou o destino.

  • “~all”: Permite o envio de e-mails de qualquer origem, mas com uma alta probabilidade de serem marcados como spam ou enviados para a pasta de lixo eletrônico.

  • “-all”: Reprova qualquer envio que não esteja nas origens permitidas.

Agora que entendemos as restrições do SPF, vamos avaliar os riscos associados a elas.


Identificando domínios com possibilidade de exploração

Para identificar possíveis oportunidades de exploração, podemos utilizar o terminal e a biblioteca HOST (que já vem instalada por padrão em computadores Linux/Mac).

Execute o seguinte comando:

host -t txt nomedodominio.com.br

Lembre-se de substituir “nomedodominio.com.br” pelo nome de domínio real.

Você receberá um retorno semelhante a este:

alt text

O ponto que temos que observar é o sinal antes do “all”, no nosso caso ”~”

Conforme definido no início desta pesquisa, quando o sinal é ”~”, indica-se que o servidor aceita o envio de e-mails de qualquer origem.


Executando testes

Após identificar uma possível oportunidade de exploração, podemos realizar testes. Para isso, criei um servidor em PHP que envia e-mails a partir da minha hospedagem cPanel.

Alguns links que podem ser úteis: 1. Enviando E-mails com PHP 2. Repositório do GitHub com o código do envio

Depois de configurar a infraestrutura e preparar o servidor para enviar e-mails, basta preencher o endereço de e-mail do destinatário como o remetente. Por exemplo:

Enviar de: [email protected] Enviar para: [email protected]

Devido à configuração do SPF para aceitar todas as origens, o envio a partir do seu servidor será bem-sucedido.


Quais os riscos?

Vejamos um caso simples: imagine que você seja um contador com clientes para a declaração de Imposto de Renda (IR). Por meio de uma técnica de engenharia social, você descobre os endereços de e-mail desses clientes.

Com essas informações em mãos, basta enviar um e-mail com um boleto anexado, acompanhado da seguinte mensagem: “Segue em anexo o boleto para pagamento dos honorários do Imposto de Renda”.

Quando o destinatário (cliente) receber o e-mail, ele verificará a origem: ”[email protected]”. Para o cliente, isso confirmará que o contador foi o remetente…


Considerações finais

Deixo algumas perguntas para reflexão:

  • O SPF pode ser considerado uma falha ou uma má configuração?
  • O SMTP é seguro?
  • Quais outras opções teríamos além do SMTP?

Agradeço por ler este artigo! Até breve.