Aula 136 | Spoofing de E-mail

Aula 136 | Spoofing de E-mail

Nesta etapa do Curso Jaguar, o foco é a exploração do protocolo SMTP como vetor para falsificação de identidade digital, utilizando o conceito clássico de spoofing de e-mail. A abordagem demonstra como, mesmo sem explorar vulnerabilidades técnicas avançadas, é possível induzir confiança em uma mensagem forjada com aparência legítima.

1. Estrutura Técnica do Protocolo SMTP e a Vulnerabilidade Base

O SMTP (Simple Mail Transfer Protocol), localizado na camada de aplicação (OSI 7), é utilizado para o envio de e-mails entre servidores. Por padrão, o protocolo permite que campos como “From” sejam definidos manualmente pelo remetente, sem validação imediata. Isso abre espaço para a criação de mensagens forjadas com remetentes aparentando ser de domínios legítimos — uma limitação histórica que ainda persiste em muitos ambientes mal configurados.

Durante a troca de mensagens entre servidores, o fluxo padrão inclui comandos como HELO, MAIL FROM, RCPT TO e DATA, onde os cabeçalhos do e-mail (inclusive o remetente visível ao usuário) são informados. Essa separação entre o envelope SMTP e o conteúdo visível permite que o atacante defina um remetente visualmente legítimo, sem necessariamente usar o domínio de forma autenticada.

2. Ambiente de Teste e Ferramentas Utilizadas

O laboratório foi construído com dois ambientes principais:

  • Servidor de envio: VPS da DartNode, escolhida por não restringir a porta 25, permitindo o envio direto de e-mails sem TLS obrigatório.

  • MTA utilizado: Postfix, configurado com permissões mínimas para simular o comportamento de um servidor legítimo mal configurado.

A simulação envolveu o envio de um e-mail forjado para um domínio corporativo (@netcattest.cloud), utilizando como remetente um domínio da empresa-alvo. Toda a configuração do Postfix foi voltada para permitir a manipulação dos cabeçalhos de forma manual.

3. Entendimento do Spoofing: Manipulando a Aparência do E-mail

Ao receber a mensagem, o cliente visualiza um remetente aparentemente legítimo, com domínio e formatação idênticos aos utilizados pela empresa de origem. Nenhuma técnica de exploração de sistema operacional foi usada — apenas o campo “From” foi manipulado com o objetivo de parecer autêntico. Como o SMTP permite esse tipo de alteração, e na ausência de autenticação robusta, o e-mail é aceito e exibido como se fosse real.

4. Mecanismos de Defesa: SPF, DKIM e DMARC

Para prevenir esse tipo de ataque, domínios sérios devem adotar autenticação via:

  • SPF (Sender Policy Framework): Registro TXT no DNS listando quais servidores/IPs podem enviar e-mails em nome do domínio.

  • DKIM (DomainKeys Identified Mail): Assinatura criptográfica adicionada ao cabeçalho da mensagem, validada no destino.

  • DMARC (Domain-based Message Authentication, Reporting and Conformance): Política que instrui os servidores de destino sobre como tratar e-mails que falham nas verificações SPF e/ou DKIM.

5. Aplicação Profissional e Red Teaming

Essa técnica, embora simples, ainda é amplamente utilizada em campanhas de phishing e operações de Red Team por seu alto índice de sucesso inicial. Mesmo empresas com soluções de segurança avançadas podem ser expostas se negligenciarem a configuração correta de seus registros de autenticação DNS.

A demonstração prática reforça a importância de:

  • Monitorar o cabeçalho completo de e-mails recebidos;

  • Validar registros DNS de autenticação nos domínios da organização;

  • Não confiar cegamente no campo “From” como indicador de legitimidade.

6. Códigos

Instalar Postfix:

sudo apt update

sudo apt install postfix -y

Configurar:

sudo nano /etc/postfix/main.cf

myhostname = mail.netcattest.cloud

mydomain = netcattest.cloud

myorigin = /etc/mailname

inet_interfaces = all

inet_protocols = all

mydestination = localhost, $myhostname

relayhost =

mynetworks = 127.0.0.0/8

home_mailbox = Maildir/

smtpd_banner = $myhostname ESMTP

Reiniciar:

sudo systemctl restart postfix

sudo systemctl enable postfix

Python (Exemplo):

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

from_email = "[email protected]"
to_email = "[email protected]"
subject = "Oi"

body_html = """
<html>
  <body>
    Oi
  </body>
</html>
"""

# Montar mensagem
msg = MIMEMultipart("alternative")
msg["From"] = from_email
msg["To"] = to_email
msg["Subject"] = subject
msg.attach(MIMEText(body_html, "html"))

# Enviar via Postfix local
try:
    with smtplib.SMTP("127.0.0.1", 25) as server:
        result = server.sendmail(from_email, [to_email], msg.as_string())
        if result == {}:
            print("✅ Spoofing enviado com sucesso e sem recursos remotos.")
        else:
            print("⚠️ Servidor respondeu com erro:", result)
except Exception as e:
    print(f"❌ Erro ao enviar: {e}")

Sugestões de Aulas

Aula 123 | Gateway TOR Residencial

Ver Aula

Aula 135 | Vetor Hotspot Falso

Ver Aula

Aula 62 | Amplificação de DNS

Ver Aula