CVE-2015-6668 - Job Manager IDOR

RustSecurity

Repositório

Uma pequena CLI do Rust que reproduz o padrão de divulgação de informações associado ao CVE-2015-6668 (Job Manager <= 0.7.25). A ferramenta enumera caminhos de upload típicos do WordPress para determinados anos, meses e extensões de arquivo comuns para detectar arquivos de acesso público que possam indicar uma referência direta a objeto (IDOR) insegura/exposição de arquivo insegura.

Visão geral da vulnerabilidade

A CVE-2015-6668 afeta o Job Manager (<= 0.7.25). A vulnerabilidade permite que um invasor enumere ou acesse arquivos enviados (anexos) devido a controles de acesso insuficientes em recursos enviados pelo usuário. Na prática, isso pode expor documentos, imagens ou scripts confidenciais que deveriam ser privados.

Detalhes técnicos

  • Alvo: instalações do Job Manager usando diretórios de upload previsíveis (por exemplo, /wp-content/uploads/<ano>/<mês>/nomedoarquivo.ext).
  • Padrão de ataque: força bruta/enumeração de pastas comuns de ano/mês e variantes de nome de arquivo para localizar arquivos acessíveis.
  • Indicadores: respostas HTTP 200 para URLs construídas indicam um arquivo acessível publicamente.
  • Esta ferramenta realiza requisições GET simples e relata o primeiro arquivo público descoberto (por padrão).

Descrição

A vulnerabilidade decorre de um controle de acesso fraco ao conteúdo enviado. Se um aplicativo armazena arquivos em locais públicos previsíveis sem as devidas verificações de autorização, um invasor pode enumerar prováveis ​​caminhos de arquivo e recuperá-los diretamente via HTTP. O vetor de exploração é essencialmente um rastreador informado que constrói possíveis URLs de envio (ano/mês/arquivo.ext) e verifica se há uma resposta 200 OK.

Uso

Crie o projeto (Rust e Cargo são necessários):

cargo run -- -u http://target.com -f <nome-do-arquivo>

Execute o comando. Argumentos necessários:

  • -u, --url: URL base do alvo (ex.: http://example.com).
  • -f, --filename: nome do arquivo a ser pesquisado (os espaços serão substituídos por -).

Opcional:

  • --start-year: ano de início da enumeração (padrão: 2014).
  • --end-year: ano de término da enumeração (padrão: ano atual).

Observações:

  • A ferramenta para e sai imediatamente quando o primeiro arquivo é encontrado e exibe a URL.
  • O User-Agent da solicitação é configurado para imitar um navegador Chrome moderno por padrão.

Esta ferramenta é apenas para fins educacionais e de testes de penetração autorizados. Use com responsabilidade e apenas em sistemas de sua propriedade ou para os quais tenha permissão explícita.