CamTRON - Scanner de caméras

Un outil automatisé pour détecter les dispositifs de surveillance (caméras) sur les réseaux.
Fonctionnalités
- Détection multi-marques : prend en charge plus de 30 marques de caméras, dont Hikvision, Dahua, Axis, CCTV, etc.
- Analyse haute performance : analyse concurrente avec nombre de threads configurable
- Entrée flexible : analyser des IP uniques, des URL, des plages CIDR ou des fichiers contenant des listes de cibles
- Détection intelligente : utilise plusieurs méthodes de détection (titres, en-têtes, empreintes MD5 de favicons, contenu du corps)
- Export CSV : option pour enregistrer les résultats dans un fichier CSV
- Progression en temps réel : affichage en direct avec sortie colorée
- Résilient : gère correctement les délais d'attente réseau et les réponses malformées
Installation
Prérequis
Depuis les sources
git clone https://github.com/K3ysTr0K3R/camtron.git
cd camtron
go build -o camtron main.go
Installation rapide
go install github.com/K3ysTr0K3R/camtron@latest
Utilisation
Tutoriels d'analyse de base
Analyser une URL unique
./camtron -u http://192.168.1.1
Analyser une IP unique
./camtron -ip 192.168.1.100
Analyser une plage CIDR
./camtron -ip 192.168.1.0/24
Analyser des cibles depuis un fichier
Augmenter le nombre de threads (par défaut : 50)
./camtron -f targets.txt -t 100
./camtron -f targets.txt -o results.csv
Ajouter les résultats à un fichier CSV existant
./camtron -f targets.txt -o results.csv -append
Options de la ligne de commande
-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
Créez un fichier texte avec une cible par ligne :
192.168.1.1
192.168.1.100
10.0.0.0/24
http://example.com
Marques prises en charge
- Avtech — Pages de connexion et détection de favicon
- Axis — Détection par empreinte MD5 du favicon
- CCTV — Plusieurs méthodes de détection
- Dahua — Plusieurs modèles et détection de favicon
- D-Link DCS — Détection basée sur les en-têtes
- DVR — Détection de page de connexion
- Geovision — Détection basée sur le titre
- Hikvision — Détection complète (en-têtes, titres, contenu du corps)
- Instar — Détection basée sur le titre
- IP Camera — Détection basée sur les en-têtes
- Netwave — Détection basée sur les en-têtes
- Nuuo — Détection basée sur le titre
- Reecam — Détection basée sur les en-têtes
- Tenda — Plusieurs variantes de pages de connexion
- Uniview — Détection de favicon et de logo
- Xiongmai — Détection basée sur le titre
Méthodes de détection
CamTRON utilise plusieurs techniques de détection :
- Correspondance de titre : vérifie la balise HTML
<title> pour trouver des signatures de marques
- Analyse des en-têtes : examine les en-têtes de réponse HTTP pour identifier des signatures
- Contenu du corps : recherche des chaînes connues dans le corps HTML
- Hachage de favicon : hachage MD5 du fichier
favicon.ico
- Codes de statut : détecte des modèles de réponses HTTP spécifiques
- Threads par défaut : 50 analyses concurrentes
- Délais d'attente : 2 secondes par requête
- Pool de connexions : réutilise les connexions HTTP
- Cache DNS : réduit les résolutions DNS répétées
- Suivi de progression : statistiques d'analyse en temps réel
Sortie
Sortie console
[15:04:05.123] [+] 192.168.1.100 : hikvision, dahua
[15:04:05.456] [+] 192.168.1.101 : axis
Sortie CSV
Target,Brands
192.168.1.100,"hikvision, dahua"
192.168.1.101,"axis"
Compilation depuis les sources
git clone https://github.com/yourusername/camtron.git
cd camtron
go build -o camtron .
go build -ldflags="-s -w" -o camtron .
Dépendances
- Bibliothèque standard de Go
- golang.org/x/net/html
Développement
Ajouter de nouvelles règles
Ajoutez des règles à la slice rules dans main.go :
{"brandname", "/path", "condition=value", "", false}
Conditions prises en charge
title= — correspondance avec le titre HTML
body= — correspondance avec le corps HTML
headers= — correspondance avec les en-têtes HTTP
md5= — correspondance MD5 du favicon
status_code= — correspondance avec le code de statut HTTP
Conditions multiples
{"brand", "/", "title=Login&&body=Camera System", "", false}
Avertissement légal
Cet outil est destiné à :
- Professionnels de la sécurité testant leurs propres réseaux
- Engagements de tests d'intrusion autorisés
- Fins éducatives
AVERTISSEMENT : L'analyse non autorisée de réseaux dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas la permission de tester est illégale. Obtenez toujours une autorisation appropriée. Les développeurs déclinent toute responsabilité en cas d'utilisation abusive ou de dommages.
Contribution
- Forkez le dépôt
- Créez une branche de fonctionnalité
- Validez vos modifications
- Poussez la branche
- Ouvrez une Pull Request
Support
- Consultez la page Issues
- Ouvrez une nouvelle issue avec des informations détaillées
Remarque : Cet outil est réservé à des fins légitimes d'évaluation de la sécurité.