Proteja seu servidor de e-mail: detectando e prevenindo SMTP Open Relay contra ameaças de phishing

No mundo digital de hoje, a comunicação por e-mail é fundamental para as operações comerciais. No entanto, sem as devidas medidas de segurança, os servidores de e-mail podem se tornar vulneráveis a ataques cibernéticos. Um dos principais problemas de segurança é o SMTP Open Relay, que pode abrir portas para atividades maliciosas, como phishing e envio de spam.  

Neste artigo, exploraremos como detectar e proteger seu servidor de e-mail contra essa ameaça, além de destacar a importância de práticas robustas de proteção digital para garantir a integridade e a segurança das comunicações eletrônicas. 


Entendendo o SMTP Open Relay: Identificação e riscos associados 

Servidores de e-mail desempenham um papel crucial na comunicação entre empresas e usuários, facilitando a troca de mensagens eletrônicas de maneira eficiente pela rede de dados. Os principais protocolos utilizados são SMTP TCP/25 e SMTPS TCP/587. 

O protocolo SMTP (Simple Mail Transfer Protocol), criado em 1980, é amplamente utilizado em todo o mundo. Contudo, questões de segurança frequentemente são negligenciadas devido à falta de conhecimento técnico aprofundado. 

Um problema comum identificado por especialistas em cibersegurança é o SMTP Open Relay. Esse fenômeno ocorre quando um servidor permite que terceiros enviem e-mails através dele sem a autenticação apropriada, comprometendo princípios de segurança como integridade e autenticidade. Os ataques mais comuns explorando essa vulnerabilidade incluem spam, phishing, spear phishing, whaling e engenharia social. 

 

Como detectar ações suspeitas ou indevidas do serviço SMTP 

Detectar ações suspeitas no serviço SMTP é crucial para a segurança cibernética. O uso de SIEM (Security Information and Event Management) emerge como uma solução robusta, possibilitando o monitoramento de eventos e logs de segurança. 

Essa ferramenta permite a criação de regras personalizadas para alertar e agir frente a atividades potencialmente mal-intencionadas.  Com exemplos em Sigma, destacamos como essas regras podem ser aplicadas em diferentes ferramentas de segurança, ampliando a capacidade de detecção e resposta a ameaças. 

Cenário 1

title: Detecta emails enviados seja no remetente ou destinatário diferente do domínio da empresa, por exemplo @exdominio.com 
id: exemplo_regra_sigma 
description: Detecta emails com remetente ou destinatário fora do domínio @ exdominio.com 
status: experimental 
author: Rodrigo Ruiz 
references: 
  - link: https://cipher.com/pt/ 
 
tags: 
  - attack.email 

logsource: 
    category: email 
 
detection: 
    condition: e-mail.src_domain != "exdominio.com " and e-mail.dst_domain != " exdominio.com" 
 
falsepositives: 
    - Emails legítimos enviados para ou recebidos de @exdominio.com 
 
level: High 

Cenário 2

title: E-mail Enviado Com Sucesso Sem Autenticação SMTP 
id: e_mail_enviado_sem_autenticacao_smtp_query 
description: Detecta e-mails enviados com sucesso sem autenticação SMTP 
status: experimental 
author: Rodrigo Ruiz 
references: 
  - link: https://cipher.com/pt/ 

tags: 
  - attack.email 
 
logsource: 
    category: email 
 
detection: 
    keywords: 
      success: ['Sent successfully', 'Delivery successful', 'Message sent'] 
      no_authentication: ['Authentication: None', 'Authentication failed: No'] 
 
falsepositives: 
    - Casos em que a autenticação SMTP é desnecessária ou não aplicável 

level: high 


Como validar a vulnerabilidade SMTP Open Relay 

Em nossas demonstrações, conectaremos ao serviço SMTP sem realizar autenticação, utilizando a Internet. Recomendamos realizar esses testes tanto em ambientes de rede externa quanto local, se possível. Isso permite uma avaliação abrangente da segurança do seu serviço SMTP sob diferentes condições de acesso. 

Passo 1: Colete o MX Records do seu domínio

Observação: Após o set type=mx digite o domínio desejado. 

Para esse caso, na saída do comando observamos duas entradas MX. 
MX preference = 10, mail exchanger = mxa-XXXXXX.gslb.pphosted.com 
MX preference = 10, mail exchanger = mxb- XXXXXX.gslb.pphosted.com 

 

Passo 2: Abra o CMD e digite as linhas de comando abaixo. 

 
Observação: Seguimos o cenário 1 dos exemplos abaixo, valide todos os cenários. Exemplos: 

 Cenário 1: e-mail_interno para e-mail_interno (user1@mydomain.com para user2@mydomain.com); 

Cenário 2: e-mail_interno para e-mail_externo (user1@mydomain.com para user@externaldomain.com); 

Cenário 3: e-mail_externo para e-mail_interno (user@externaldomain.com para user1@mydomain.com); 

Resposta do Serviço SMTP Proofpoint
Resposta do Serviço SMTP Exchange / Outlook

Em ambos os casos a mensagem será enviada com sucesso, ou seja, o relay está aberto para internet sem a necessidade de autenticação.  No primeiro caso receberemos o retorno “Message accepted for delivery” e no segundo não será registrada mensagem de erro. 

Outro cenário possível de exploração é a enumeração de usuários válidos, no exemplo abaixo observamos que o RCPT TO: retornou a mensagem “User Unknown”. Ou seja, antes de enviar o e-mail o serviço SMTP valida se o usuário existe. 

Técnica de enumeração de usuários

 

Fortalecendo a segurança do SMTP: passos para um futuro mais seguro 

Diante dos testes realizados, é crucial adotar medidas proativas para segurança do SMTP, como monitoramento regular e implementação de protocolos de autenticação.  

A Cipher se compromete em aumentar a conscientização sobre cibersegurança, compartilhando soluções para fortalecer a defesa contra ameaças digitais, reforçando a importância de abordar as vulnerabilidades do SMTP de forma eficaz. 

Para saber mais, fale com nossos especialistas. 

Autor: Rodrigo Ferreira Ruiz