
Análise da CVE-2022-22828
A Viden Labs encontrou uma vulnerabilidade de Referência Direta Insegura a Objetos (IDOR) no SynaMan da Synametrics. Esta vulnerabilidade está presente nas versões 4.9 e anteriores.
Esta vulnerabilidade foi corrigida na versão 5.0.
“Referências diretas inseguras a objetos (IDOR) são um tipo de vulnerabilidade de controle de acesso que surge quando um aplicativo usa entrada fornecida pelo usuário para acessar objetos diretamente.” - https://portswigger.net/web-security/access-control/idor.
A vulnerabilidade pode ser explorada resultando em acesso a arquivos (potencialmente sensíveis) na pasta pessoal de um usuário do SynaMan (incluindo subpastas), aos quais eles não têm autorização de acesso.
Um usuário do SynaMan chamado “internaluser”. Esse usuário era ingressado no AD, mas não faz diferença se não for ingressado no AD.
Na pasta pessoal de internaluser, há dois arquivos:
Figura 1: Diretório do usuário com arquivos
Um link de download foi criado para file-download.docx e compartilhado com uma parte externa simulada.
Figura 2: Página de Download de Arquivos do SynaMan
O teste da aplicação web foi realizado a partir da rede 10.0.2.0/24, usando o Burp Suite no Kali.
A instância do Windows Server 2019 está executando uma configuração padrão de fábrica, com as últimas atualizações de segurança aplicadas e a porta 443 de entrada aberta.
O SynaMan foi configurado de acordo com as melhores práticas, seguindo as orientações do site da Synametrics Technologies.
A Figura 3 abaixo descreve uma visão geral da configuração de rede para o teste de laboratório.

Figura 3: Topologia de Teste do SynaMan
| Computador | Função | SO | Navegador |
|---|---|---|---|
| 10.0.2.30 | Servidor de Teste de Aplicação Web | Kali Linux (VM) | Navegador embutido do Burp Suite |
| 10.0.3.50 | Servidor SynaMan | Windows Server 2019 (VM) | N/A |
Tabela 1 - Informações adicionais de configuração
Foi encontrada uma vulnerabilidade quando uma parte externa acessa um link de download, seja compartilhado com ela ou encontrado ao pesquisar “pubopp?” no Google. O hiperlink de download do arquivo contém um nome de arquivo codificado em base64, incluindo o caminho. Esse caminho pode ser modificado para baixar outros arquivos da pasta do usuário que não foram compartilhados. Embora isso exija que um atacante adivinhe corretamente um nome de arquivo, ferramentas como o Burp Suite tornam essa força bruta trivial e automatizada. Uma representação gráfica disso está descrita na Figura 4 abaixo.

Figura 4: Representação gráfica da vulnerabilidade de requisição GET
Mostrado abaixo na Figura 5 está a requisição GET resultante quando o link de download é clicado.

Figura 5: Requisição GET no Burp Suite
A inspeção do nome de arquivo codificado em base64 (passado como o parâmetro chamado “fn”) mostra a localização do arquivo.

Figura 6: Nome de arquivo Base64 no Burp Suite
Usando o Burp Suite, isso pode ser modificado para outro nome de arquivo e substituído na requisição GET. Para este exemplo, usaremos “secret.txt”, pois sabemos que este arquivo existe na pasta.

Figura 7: Nome de arquivo Base64 modificado no Burp Suite

Figura 8: Requisição GET modificada no Burp Suite
Enviar a requisição GET modificada nos permite baixar o arquivo que não foi compartilhado, conforme mostrado na Figura 9 abaixo.

Figura 9: Download não autorizado no SynaMan
As configurações de segurança atualmente disponíveis no SynaMan não fornecem um controle para mitigar este ataque; no entanto, todos os arquivos baixados são registrados.