CamTRON - Scanner de Câmeras

Uma ferramenta automatizada para detectar dispositivos de vigilância (câmeras) em redes.
Características
- Detecção de múltiplas marcas: Suporta mais de 30 marcas de câmeras, incluindo Hikvision, Dahua, Axis, CCTV e outras
- Varredura de alto desempenho: Varredura concorrente com número configurável de threads
- Entrada flexível: Escaneie IPs individuais, URLs, faixas CIDR ou arquivos com listas de alvos
- Detecção inteligente: Usa múltiplos métodos de detecção (títulos, cabeçalhos, hashes MD5 de favicon, conteúdo do corpo)
- Exportação CSV: Opção de salvar resultados em arquivo CSV
- Progresso em tempo real: Exibição de progresso ao vivo com saída codificada por cores
- Resiliente: Lida com timeouts de rede e respostas malformadas de forma graciosa
Instalação
Pré-requisitos
A partir do Código Fonte
git clone https://github.com/K3ysTr0K3R/camtron.git
cd camtron
go build -o camtron main.go
Instalação Rápida
go install github.com/K3ysTr0K3R/camtron@latest
Uso
Tutoriais Básicos de Varredura
Escanear uma Única URL
./camtron -u http://192.168.1.1
Escanear um Único IP
./camtron -ip 192.168.1.100
Escanear um Intervalo CIDR
./camtron -ip 192.168.1.0/24
Escanear Alvos de um Arquivo
Aumentar o Número de Threads (Padrão: 50)
./camtron -f targets.txt -t 100
Salvar Resultados em CSV
./camtron -f targets.txt -o results.csv
Adicionar Resultados a um CSV Existente
./camtron -f targets.txt -o results.csv -append
Opções de Linha de Comando
-u string Scan a single URL
-ip string Scan a single IP/CIDR
-f string File with targets (one per line)
-t int Threads (default: 50)
-o string Output CSV file (optional)
-append Append to output CSV instead of overwrite
Crie um arquivo de texto com um alvo por linha:
192.168.1.1
192.168.1.100
10.0.0.0/24
http://example.com
Marcas Suportadas
- Avtech — Páginas de login e detecção de favicon
- Axis — Detecção de hash MD5 de favicon
- CCTV — Múltiplos métodos de detecção
- Dahua — Múltiplos padrões e detecção de favicon
- D-Link DCS — Detecção baseada em cabeçalhos
- DVR — Detecção de página de login
- Geovision — Detecção baseada em títulos
- Hikvision — Detecção abrangente (cabeçalhos, títulos, conteúdo do corpo)
- Instar — Detecção baseada em títulos
- IP Camera — Detecção baseada em cabeçalhos
- Netwave — Detecção baseada em cabeçalhos
- Nuuo — Detecção baseada em títulos
- Reecam — Detecção baseada em cabeçalhos
- Tenda — Múltiplas variantes de página de login
- Uniview — Detecção de favicon e logotipo
- Xiongmai — Detecção baseada em títulos
Métodos de Detecção
O CamTRON usa múltiplas técnicas de detecção:
- Correspondência de Título: Verifica o
<title> do HTML em busca de assinaturas da marca
- Análise de Cabeçalhos: Examina os cabeçalhos de resposta HTTP em busca de identificadores
- Conteúdo do Corpo: Procura strings conhecidas no corpo do HTML
- Hash de Favicon: Hash MD5 de
favicon.ico
- Códigos de Status: Detecta padrões específicos de resposta HTTP
Desempenho
- Threads padrão: 50 varreduras concorrentes
- Timeouts: timeout de 2 segundos por requisição
- Pool de conexões: Reutiliza conexões HTTP
- Cache de DNS: Reduz consultas DNS repetidas
- Acompanhamento de progresso: Estatísticas de varredura em tempo real
Saída
Saída no Console
[15:04:05.123] [+] 192.168.1.100 : hikvision, dahua
[15:04:05.456] [+] 192.168.1.101 : axis
Saída CSV
Target,Brands
192.168.1.100,"hikvision, dahua"
192.168.1.101,"axis"
Compilação a partir do Código Fonte
git clone https://github.com/yourusername/camtron.git
cd camtron
go build -o camtron .
go build -ldflags="-s -w" -o camtron .
Dependências
- Biblioteca padrão do Go
- golang.org/x/net/html
Desenvolvimento
Adicionando Novas Regras
Adicione regras ao slice rules em main.go:
{"brandname", "/path", "condition=value", "", false}
Condições Suportadas
title= — Correspondência de título HTML
body= — Correspondência de corpo HTML
headers= — Correspondência de cabeçalhos HTTP
md5= — Correspondência MD5 de favicon
status_code= — Correspondência de código de status HTTP
Múltiplas Condições
{"brand", "/", "title=Login&&body=Camera System", "", false}
Aviso Legal
Esta ferramenta destina-se a:
- Profissionais de segurança testando suas próprias redes
- Engajamentos autorizados de teste de penetração
- Fins educacionais
AVISO: A varredura não autorizada de redes que você não possui ou não tem permissão para testar é ilegal. Sempre obtenha a devida autorização. Os desenvolvedores não assumem responsabilidade por uso indevido ou danos.
Contribuindo
- Faça um fork do repositório
- Crie um branch de funcionalidade
- Faça commit das suas alterações
- Envie o branch (Push)
- Abra um Pull Request
Suporte
- Verifique a página de Issues
- Abra uma nova issue com informações detalhadas
Nota: Esta ferramenta é apenas para fins legítimos de avaliação de segurança.