Além dos comandos fundamentais de envio de e-mails, o protocolo SMTP (definido na RFC 5321) inclui comandos auxiliares voltados para controle de sessão, diagnóstico, manutenção de conexão e segurança. Embora não transportem diretamente dados de e-mail, esses comandos são essenciais para o funcionamento eficiente e seguro de servidores de e-mail.

Do ponto de vista de Cyber Security, alguns desses comandos são considerados legados e potencialmente perigosos, sendo frequentemente desabilitados em processos de hardening.

1. Comando RSET (Reset)

O comando RSET é utilizado para abortar a transação atual sem encerrar a conexão TCP.

Funcionamento:

  • Limpa todos os buffers de envelope (MAIL FROM e RCPT TO)
  • Retorna a sessão ao estado após HELO/EHLO
  • Evita a necessidade de encerrar e reabrir conexão

Vantagem:

  • Mais eficiente que usar QUIT e iniciar nova conexão (especialmente com TLS)

Exemplo:

MAIL FROM:<teste@a.com>
RCPT TO:<teste@b.com>
RSET
# Resposta: 250 OK
MAIL FROM:<novo@a.com>


---

## 2. Comando `NOOP` (No Operation)

O comando `NOOP` não executa nenhuma ação, retornando apenas `250 OK`.

### Casos de uso:

* **Keep-Alive:** manter conexão ativa
* **Verificação:** validar se o servidor ainda responde

### Exemplo:

```bash
NOOP
# Resposta: 250 OK

3. Comando VRFY (Verify)

Permite verificar se um endereço de e-mail existe no servidor.

Exemplo:

VRFY usuario@exemplo.com

Risco de Segurança:

  • Usado em ataques de enumeração de usuários (harvesting)
  • Facilita campanhas de phishing

Mitigação:

  • Desabilitar ou retornar resposta genérica:
252 Cannot VRFY user

4. Comando EXPN (Expand)

Expande listas de distribuição (aliases) em seus membros individuais.

Exemplo:

EXPN equipe@empresa.com

Risco de Segurança:

  • Exposição da estrutura interna da organização
  • Vazamento de listas de usuários

Mitigação:

  • Desabilitar completamente

5. Comando HELP

Solicita informações sobre comandos suportados pelo servidor.

Uso:

HELP
HELP MAIL

Observações:

  • Respostas variam conforme o MTA (Postfix, Exim, Sendmail, Exchange)
  • Pode revelar capacidades do servidor

Uso em Auditoria:

  • Identificação de suporte a extensões como STARTTLS

6. Comando STARTTLS (ESMTP)

Extensão crítica que permite upgrade de conexão para TLS.

Funcionamento:

  1. Cliente envia STARTTLS
  2. Servidor responde positivamente
  3. Inicia handshake TLS
  4. Comunicação passa a ser criptografada

Importância:

  • Protege credenciais e conteúdo
  • Essencial para segurança moderna

7. Códigos de Resposta Comuns

Código Significado
250 OK (sucesso)
252 Não verifica, mas aceita
500 Erro de sintaxe
502 Comando não implementado
214 Resposta ao HELP

8. Laboratório Prático (Auditoria)

Teste de enumeração (VRFY)

telnet mx.alvo.com 25
HELO emissor.com
VRFY admin@alvo.com

Resultado esperado (seguro):

502 Command not implemented

Resultado vulnerável:

250 admin <admin@alvo.com>

9. Hardening – Recomendações

  • Desabilitar VRFY e EXPN
  • Restringir respostas detalhadas do HELP
  • Forçar uso de STARTTLS
  • Monitorar uso anômalo de NOOP
  • Validar comportamento do RSET

10. Conclusão

Os comandos auxiliares do SMTP são fundamentais para controle de sessão e diagnóstico, mas também representam superfície de ataque relevante. O domínio técnico desses comandos permite:

  • Melhor análise de comportamento do servidor
  • Identificação de vulnerabilidades
  • Execução de auditorias mais eficazes

Em ambientes produtivos, a correta configuração e restrição desses comandos é essencial para reduzir exposição e fortalecer a segurança da infraestrutura de e-mail.