← volver
CVE-2020-8657criticalbajo ataqueCWE-798

CVE-2020-8657

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 9.8epss 92%
de la publicación al arma28 días
Publicada en NVD6 feb
1ª PoC+28d
metasploit6 feb
CISA KEV+636d
probabilidad de explotación
92%top 1% de las CVE
explotación observada
CISA + VulnCheck
2 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumen

O EyesOfNetwork 5.3 usa uma chave de API fixa, hardcoded em include/api_functions.php (API versão 2.4.2), idêntica em toda instalação feita a partir do pacote oficial. Como o token de acesso é derivado dessa chave, do ID do usuário e do IP do servidor — todos valores previsíveis ou descobríveis —, qualquer atacante remoto e não autenticado pode calcular o token do admin (ID sempre '1') e assumir a conta com privilégio total. É CWE-798 (Use of Hard-Coded Credentials) clássico, e está no catálogo KEV da CISA com exploração confirmada.

Detalle técnico

A falha está no esquema de geração de token da API do EyesOfNetwork (eonapi, versão 2.4.2 embutida no EON 5.3). O token não depende de segredo por instalação: ele é o resultado de duas operações de hash encadeadas sobre valores conhecidos. Primeiro calcula-se md5(API_KEY + user_id); o resultado é concatenado com o IP do servidor e submetido a sha256. A API_KEY é a mesma em toda instalação vinda do pacote oficial (hardcoded no código-fonte, não gerada nem exposta para rotação pela interface web de administração), e o user_id do administrador é sempre '1'.

O único valor variável nessa fórmula é o IP do servidor — e mesmo esse é trivialmente obtido na maioria dos casos, pois é o próprio endereço para o qual o atacante está direcionando a requisição (a menos que a instância esteja atrás de NAT, caso em que o IP interno pode não coincidir com o público). Com API_KEY, user_id e IP em mãos, o atacante reproduz os dois hashes offline e obtém o token de sessão do admin sem nunca ter se autenticado.

O relatório original (issue #17 no repositório eonapi) demonstra o cálculo passo a passo com valores de exemplo, confirmando que a chave padrão '€On@piK3Y' não é alterada por padrão em nenhuma etapa da instalação nem exposta para reconfiguração via painel web — ou seja, o operador não tem, a princípio, um caminho oficial de rotação da chave.

Cómo se explota

O vetor é de rede, sem autenticação prévia e sem interação do usuário (AV:N/AC:L/PR:N/UI:N no vetor CVSS), o que explica a nota máxima de severidade. O atacante só precisa acessar a API HTTP exposta pelo EON e enviar o token calculado como se fosse uma sessão de admin legítima; não há bypass de criptografia nem força bruta real — é cálculo direto de hash com entradas conhecidas.

A pré-condição prática relevante é o IP do servidor: em instâncias expostas diretamente à internet (o cenário mais comum de exploração observada), o IP é o mesmo endereço de destino da requisição, então não há obstáculo. Em ambientes com NAT/proxy reverso, o IP interno pode diferir do público, elevando a complexidade — mas isso não é garantia de segurança, apenas atrito adicional.

Com o token de admin obtido, o atacante herda o mesmo escopo de privilégios da API do EON, que inclui operações administrativas do sistema de monitoramento. Existe PoC pública (PacketStorm) associando essa falha a execução de comando via funcionalidade de auto-discovery de alvos da API, módulo Metasploit e template Nuclei disponíveis, e a CISA confirma exploração ativa (entrada no KEV desde novembro/2021, com prazo de correção fixado em maio/2022 para agências federais dos EUA).

Versiones

Afectadas
EyesOfNetwork 5.3 (com API eonapi na versão 2.4.2, embutida na instalação).

Cómo protegerse

As fontes analisadas não trazem uma versão do EyesOfNetwork ou da API eonapi que corrija o problema — nem o advisory do fornecedor nem a issue no GitHub confirmam um patch com número de versão específico. A ação recomendada pela CISA no KEV é genérica ('aplicar atualizações conforme instruções do fornecedor'); não há aqui base factual para citar uma versão corrigida sem especular, e especular seria pior que não informar.

Como paliativo real: alterar manualmente a chave de API hardcoded no arquivo include/api_functions.php para um valor único por instalação, gerado de forma imprevisível, interrompe o cálculo do token pela fórmula pública — mas isso exige edição direta de código-fonte, não é suportado pela interface administrativa, e qualquer atualização futura do pacote pode reverter a alteração se sobrescrever o arquivo. Outro controle compensatório é restringir o acesso de rede à API (ACL, segmentação, firewall) para que só hosts de gerenciamento confiáveis alcancem o endpoint, reduzindo a superfície mesmo com a chave padrão intacta.

O que não funciona: esconder a instância atrás de NAT não é mitigação confiável — dificulta, mas não impede, já que o atacante pode inferir ou testar o IP público de saída, e a fórmula tolera esse tipo de tentativa e erro em ambientes com poucos IPs candidatos.

Cómo detectar

Não há assinatura de rede única e confiável, já que a exploração consiste em uma chamada de API autenticada com um token matematicamente válido — do ponto de vista do servidor, indistinguível de uma sessão legítima de admin. O sinal mais útil é comportamental: requisições à API do EON partindo de IPs externos desconhecidos, sem histórico prévio de login via interface web, especialmente chamadas a endpoints administrativos ou de auto-discovery logo após o primeiro contato do IP de origem.

Verificar se o arquivo include/api_functions.php mantém a chave padrão original é um indicador direto de exposição (não é 'detecção de ataque', mas confirma se o ambiente está na condição vulnerável). Logs de acesso à API que mostrem uso do token calculável (derivado de user_id '1' e do IP do próprio servidor) sem uma sequência de autenticação via formulário web anterior são o indício mais próximo de exploração dessa falha específica.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
An issue was discovered in EyesOfNetwork 5.3. The installation uses the same API key (hardcoded as EONAPI_KEY in include/api_functions.php for API version 2.4.2) by default for all installations, hence allowing an attacker to calculate/guess the admin access token.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Productos afectados
n/a · n/a
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.