Os serviços de e-mail são onipresentes e, quando mal configurados, generosos com informação. Três protocolos governam o e-mail: o SMTP (envio de mensagens), o POP3 e o IMAP (recebimento/acesso). Para o pentester, o mais interessante em termos de enumeração é o SMTP, porque ele possui comandos que, em servidores mal configurados, permitem validar quais usuários existem — transformando o servidor de e-mail numa fonte de nomes de contas válidas. Esta aula cobre a enumeração desses serviços, fechando o inventário dos protocolos individuais.

As portas dos três protocolos

Situe as portas, seu reflexo de sempre: SMTP na porta 25 (e variantes 587 e 465 para envio autenticado/cifrado); POP3 na 110 (e 995 com TLS); IMAP na 143 (e 993 com TLS). Quando o scan revela a porta 25 aberta, você identificou um servidor de e-mail cuja função é aceitar mensagens — e é aí que mora a oportunidade de enumeração.

VRFY e EXPN como oráculo de usuários

O cerne da aula são dois comandos do protocolo SMTP: VRFY e EXPN. O VRFY foi projetado para verificar se um endereço/usuário existe no servidor; o EXPN para expandir uma lista de distribuição, revelando seus membros. Em servidores mal configurados que respondem a esses comandos, o atacante ganha um oráculo: ele pergunta "o usuário joão existe?" e o servidor responde de forma diferente para usuários válidos e inválidos, permitindo montar uma lista de contas reais. Você pode fazer isso manualmente, conectando-se com uma ferramenta simples, o que é ótimo para entender o mecanismo antes de automatizar:

# conecta manualmente ao SMTP para interagir com o protocolo
nc 192.168.1.10 25            # netcat abre uma conexão bruta na porta 25
# uma vez conectado, digitam-se comandos do protocolo:
#   HELO teste
#   VRFY root          → resposta indica se "root" existe
#   VRFY usuarioX      → compara a resposta com a de um usuário inexistente

# automação com a ferramenta dedicada
smtp-user-enum -M VRFY -U usuarios.txt -t 192.168.1.10
#              -M método  -U wordlist   -t alvo

# script NSE
nmap --script smtp-enum-users 192.168.1.10

Conversar o protocolo à mão com o netcat

Conectar-se manualmente com o nc (netcat) e "conversar" o protocolo à mão é um exercício que recomendo fortemente: você digita os comandos, vê as respostas cruas, e entende por que a diferença entre elas vaza a existência do usuário. Depois, o smtp-user-enum automatiza isso sobre uma wordlist inteira. O resultado — uma lista de usuários válidos — é, mais uma vez, o insumo direto dos ataques de senha do Bloco VII.

Banner e open relay

Além da enumeração de usuários, o SMTP revela outras coisas úteis. O banner do servidor (que você lê ao conectar) frequentemente denuncia o software e a versão do servidor de e-mail (Postfix, Exchange, Sendmail...), conectando com vulnerabilidades conhecidas. E há a questão do open relay — um servidor SMTP mal configurado que aceita retransmitir e-mails de qualquer origem para qualquer destino. Um open relay é um achado sério: ele pode ser abusado para enviar spam ou e-mails de phishing que aparentam vir de dentro da organização, o que tem valor tanto para spammers quanto para a fase de engenharia social (Bloco XIV). Testar se um servidor é open relay é parte da enumeração SMTP completa.

POP3 e IMAP como alvo de autenticação

POP3 e IMAP, por sua vez, são menos ricos em enumeração, mas ainda relevantes. Seu banner revela versão (e vulnerabilidades associadas). E, crucialmente, são alvos de ataques de autenticação: se você obteve uma lista de usuários (via SMTP, LDAP, SMB — a correlação da aula Consolidando o reconhecimento: do fragmento à inteligência em ação), pode tentar força bruta ou password spraying contra o login POP3/IMAP para acessar caixas de e-mail, cujo conteúdo pode conter credenciais, informação sensível e mais material de reconhecimento. Um detalhe de segurança que você deve notar e reportar: versões antigas desses protocolos transmitem credenciais em texto claro (sem TLS), o que os torna vulneráveis a sniffing (aula Sniffing: escutando a rede com Wireshark) — encontrar POP3/IMAP sem criptografia é um achado de relatório.

Funcionalidade legítima virando vetor

O ponto conceitual que amarra: os serviços de e-mail ilustram como funcionalidades legítimas viram vetores de enumeração. VRFY e EXPN existiam para propósitos administrativos válidos; o open relay era um comportamento "amigável" de servidores antigos; o texto claro era o padrão de uma internet mais ingênua. Nenhum foi projetado para atacar, mas todos, mal configurados, servem ao atacante. É o tema recorrente do curso: a segurança falha menos por maldade e mais por configurações permissivas herdadas de uma época menos hostil.

Desligar VRFY/EXPN e forçar TLS

Do lado defensivo, as contramedidas são diretas: desabilitar VRFY e EXPN (ou configurá-los para não vazar diferença entre usuário válido e inválido); impedir open relay (exigir autenticação para envio, restringir os domínios de retransmissão); forçar TLS em todos os serviços de e-mail, eliminando o texto claro; manter os servidores atualizados; e implementar as proteções anti-phishing (SPF, DKIM, DMARC — os mesmos registros TXT da aula DNS, WHOIS e subdomínios: mapeando a infraestrutura) que, do outro lado, dificultam a falsificação de e-mails da organização. O passo de escala seguinte troca a enumeração serviço por serviço pelos scanners de vulnerabilidade, que automatizam a detecção em massa — com suas virtudes e seus perigos.

Fontes e leituras recomendadas

  • HackTricks — seções "Pentesting SMTP" (25), POP3 (110) e IMAP (143)
  • Documentação de smtp-user-enum e do netcat
  • RFCs de SMTP — para entender VRFY, EXPN e o funcionamento do protocolo
  • Salas de enumeração no TryHackMe que incluem serviços de e-mail

Exercícios

  1. Quais são as portas padrão de SMTP, POP3 e IMAP, e qual desses serviços é o mais interessante para enumeração de usuários?

    ✓ Resposta:

    SMTP na 25 (também 587/465), POP3 na 110 (995 com TLS) e IMAP na 143 (993 com TLS). O SMTP é o mais interessante para enumeração de usuários, por causa dos comandos VRFY/EXPN.

  2. Explique o que os comandos VRFY e EXPN fazem e por que se tornam um "oráculo" de usuários válidos num servidor mal configurado.

    ✓ Resposta:

    VRFY verifica se um usuário/endereço existe; EXPN expande listas de distribuição, revelando membros. Num servidor mal configurado, o servidor responde de forma distinta para usuários válidos e inválidos, permitindo ao atacante confirmar quais contas existem — funcionando como um oráculo de usuários.

  3. O que é um open relay, e por que ele é um achado sério — inclusive para a fase de engenharia social?

    ✓ Resposta:

    É um servidor SMTP que aceita retransmitir e-mails de qualquer origem para qualquer destino. É sério porque pode ser abusado para enviar spam ou phishing que aparenta vir de dentro da organização, sendo valioso para campanhas de engenharia social e prejudicial à reputação do domínio.

  4. Por que encontrar POP3 ou IMAP sem TLS é um achado de relatório?

    ✓ Resposta:

    Porque versões sem TLS transmitem credenciais em texto claro, tornando-as vulneráveis a interceptação por sniffing — uma exposição direta de credenciais que deve constar do relatório.

  5. Cite três contramedidas defensivas para os serviços de e-mail e relacione uma delas com os registros TXT da aula DNS, WHOIS e subdomínios: mapeando a infraestrutura.

    ✓ Resposta:

    Contramedidas: desabilitar/neutralizar VRFY e EXPN; impedir open relay; forçar TLS; manter servidores atualizados; implementar SPF, DKIM e DMARC. Estas últimas são justamente os registros TXT da aula DNS, WHOIS e subdomínios: mapeando a infraestrutura, que dificultam a falsificação de e-mails do domínio.