CamTRON - Scanner di Telecamere

Uno strumento automatizzato per rilevare dispositivi di sorveglianza (telecamere) sulle reti.
Caratteristiche
- Rilevamento multi-marchio: Supporta oltre 30 marchi di telecamere, inclusi Hikvision, Dahua, Axis, CCTV e altri
- Scansione ad alte prestazioni: Scansione concorrente con numero di thread configurabile
- Input flessibile: Scansiona singoli IP, URL, intervalli CIDR o file con elenchi di target
- Rilevamento intelligente: Utilizza molteplici metodi di rilevamento (titoli, header, hash MD5 della favicon, contenuto del body)
- Esportazione CSV: Opzione per salvare i risultati in un file CSV
- Avanzamento in tempo reale: Visualizzazione dell'avanzamento in tempo reale con output colorato
- Resiliente: Gestisce timeout di rete e risposte malformate in modo elegante
Installazione
Prerequisiti
Dal sorgente
git clone https://github.com/K3ysTr0K3R/camtron.git
cd camtron
go build -o camtron main.go
Installazione rapida
go install github.com/K3ysTr0K3R/camtron@latest
Utilizzo
Guide di scansione di base
Scansiona un singolo URL
./camtron -u http://192.168.1.1
Scansiona un singolo IP
./camtron -ip 192.168.1.100
Scansiona un intervallo CIDR
./camtron -ip 192.168.1.0/24
Scansiona target da un file
Aumenta il numero di thread (predefinito: 50)
./camtron -f targets.txt -t 100
Salva i risultati in CSV
./camtron -f targets.txt -o results.csv
Aggiungi risultati a un CSV esistente
./camtron -f targets.txt -o results.csv -append
Opzioni della riga di 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
Crea un file di testo con un target per riga:
192.168.1.1
192.168.1.100
10.0.0.0/24
http://example.com
Marchi supportati
- Avtech — Pagine di login e rilevamento favicon
- Axis — Rilevamento MD5 della favicon
- CCTV — Metodi di rilevamento multipli
- Dahua — Pattern multipli e rilevamento favicon
- D-Link DCS — Rilevamento basato su header
- DVR — Rilevamento della pagina di login
- Geovision — Rilevamento basato sul titolo
- Hikvision — Rilevamento completo (header, titoli, contenuto del body)
- Instar — Rilevamento basato sul titolo
- IP Camera — Rilevamento basato su header
- Netwave — Rilevamento basato su header
- Nuuo — Rilevamento basato sul titolo
- Reecam — Rilevamento basato su header
- Tenda — Varianti multiple della pagina di login
- Uniview — Rilevamento di favicon e logo
- Xiongmai — Rilevamento basato sul titolo
Metodi di rilevamento
CamTRON utilizza diverse tecniche di rilevamento:
- Corrispondenza del titolo: Controlla il
<title> HTML per firme del marchio
- Analisi degli header: Esamina gli header delle risposte HTTP per identificatori
- Contenuto del body: Cerca stringhe note nel body HTML
- Hash della favicon: Hash MD5 di
favicon.ico
- Codici di stato: Rileva pattern specifici delle risposte HTTP
Prestazioni
- Thread predefiniti: 50 scansioni concorrenti
- Timeout: 2 secondi per richiesta
- Connection pooling: Riutilizza le connessioni HTTP
- Cache DNS: Riduce le query DNS ripetute
- Monitoraggio dell'avanzamento: Statistiche di scansione in tempo reale
Output
Output sulla console
[15:04:05.123] [+] 192.168.1.100 : hikvision, dahua
[15:04:05.456] [+] 192.168.1.101 : axis
Output CSV
Target,Brands
192.168.1.100,"hikvision, dahua"
192.168.1.101,"axis"
Compilazione dal sorgente
git clone https://github.com/yourusername/camtron.git
cd camtron
go build -o camtron .
go build -ldflags="-s -w" -o camtron .
Dipendenze
- Libreria standard di Go
- golang.org/x/net/html
Sviluppo
Aggiungere nuove regole
Aggiungi regole allo slice rules in main.go:
{"brandname", "/path", "condition=value", "", false}
Condizioni supportate
title= — corrispondenza del titolo HTML
body= — corrispondenza del body HTML
headers= — corrispondenza degli header HTTP
md5= — corrispondenza MD5 della favicon
status_code= — corrispondenza del codice di stato HTTP
Condizioni multiple
{"brand", "/", "title=Login&&body=Camera System", "", false}
Dichiarazione legale
Questo strumento è pensato per:
- Professionisti della sicurezza che testano le proprie reti
- Incarichi autorizzati di penetration testing
- Scopi educativi
AVVERTENZA: La scansione non autorizzata di reti che non possiedi o per le quali non hai il permesso di testare è illegale. Ottieni sempre la dovuta autorizzazione. Gli sviluppatori non si assumono alcuna responsabilità per usi impropri o danni.
Contribuire
- Fai il fork del repository
- Crea un ramo (branch) per la funzionalità
- Committa le tue modifiche
- Invia il ramo (push)
- Apri una Pull Request
Supporto
- Controlla la pagina Issues
- Apri una nuova issue con informazioni dettagliate
Nota: Questo strumento è destinato esclusivamente a scopi legittimi di valutazione della sicurezza.