CamTRON - Camera Scanner

Автоматизированный инструмент для обнаружения устройств видеонаблюдения (камер) в сетях.
Features
- Обнаружение множества брендов: поддержка более 30 брендов камер, включая Hikvision, Dahua, Axis, CCTV и другие
- Высокопроизводительное сканирование: параллельное сканирование с настраиваемым количеством потоков
- Гибкий ввод: сканирование отдельных IP-адресов, URL-адресов, CIDR-диапазонов или файлов со списком целей
- Умное обнаружение: использует несколько методов обнаружения (заголовки страниц, HTTP-заголовки, MD5-хэши favicon, содержимое тела)
- Экспорт в CSV: возможность сохранения результатов в CSV-файл
- Прогресс в реальном времени: отображение живого прогресса с цветовой кодировкой вывода
- Устойчивость: корректно обрабатывает сетевые тайм-ауты и некорректные ответы
Установка
Предварительные требования
Из исходного кода
git clone https://github.com/K3ysTr0K3R/camtron.git
cd camtron
go build -o camtron main.go
Быстрая установка
go install github.com/K3ysTr0K3R/camtron@latest
Использование
Базовые примеры сканирования
Сканирование одного URL
./camtron -u http://192.168.1.1
Сканирование одного IP-адреса
./camtron -ip 192.168.1.100
Сканирование CIDR-диапазона
./camtron -ip 192.168.1.0/24
Сканирование целей из файла
Увеличение количества потоков (по умолчанию: 50)
./camtron -f targets.txt -t 100
Сохранение результатов в CSV
./camtron -f targets.txt -o results.csv
Добавление результатов в существующий CSV
./camtron -f targets.txt -o results.csv -append
Command Line Options
-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
Формат входного файла
Создайте текстовый файл с одной целью в строке:
192.168.1.1
192.168.1.100
10.0.0.0/24
http://example.com
Поддерживаемые бренды
- Avtech — Обнаружение страниц входа и favicon
- Axis — Определение MD5 favicon
- CCTV — Несколько методов обнаружения
- Dahua — Несколько шаблонов и определение favicon
- D-Link DCS — Обнаружение на основе HTTP-заголовков
- DVR — Обнаружение страницы входа
- Geovision — Обнаружение по заголовку страницы
- Hikvision — Комплексное обнаружение (HTTP-заголовки, заголовки страниц, содержимое тела)
- Instar — Обнаружение по заголовку страницы
- IP Camera — Обнаружение на основе HTTP-заголовков
- Netwave — Обнаружение на основе HTTP-заголовков
- Nuuo — Обнаружение по заголовку страницы
- Reecam — Обнаружение на основе HTTP-заголовков
- Tenda — Несколько вариантов страниц входа
- Uniview — Определение favicon и логотипов
- Xiongmai — Обнаружение по заголовку страницы
Методы обнаружения
CamTRON использует несколько методов обнаружения:
- Сопоставление заголовков: проверяет HTML-тег
<title> на наличие сигнатур брендов
- Анализ HTTP-заголовков: анализирует HTTP-заголовки ответов на наличие идентификаторов
- Содержимое тела: ищет известные строки в HTML-теле
- Хэширование favicon: MD5-хэширование
favicon.ico
- Коды состояния: определяет специфические шаблоны HTTP-ответов
Производительность
- Потоки по умолчанию: 50 параллельных сканирований
- Тайм-ауты: 2 секунды на запрос
- Пул соединений: повторное использование HTTP-соединений
- Кэширование DNS: уменьшает количество повторных DNS-запросов
- Отслеживание прогресса: статистика сканирования в реальном времени
Вывод
Вывод в консоль
[15:04:05.123] [+] 192.168.1.100 : hikvision, dahua
[15:04:05.456] [+] 192.168.1.101 : axis
Вывод в CSV
Target,Brands
192.168.1.100,"hikvision, dahua"
192.168.1.101,"axis"
Сборка из исходного кода
git clone https://github.com/yourusername/camtron.git
cd camtron
go build -o camtron .
go build -ldflags="-s -w" -o camtron .
Зависимости
- Стандартная библиотека Go
- golang.org/x/net/html
Разработка
Добавление новых правил
Добавляйте правила в срез rules в main.go:
{"brandname", "/path", "condition=value", "", false}
Поддерживаемые условия
title= — сопоставление HTML-заголовка
body= — сопоставление тела HTML
headers= — сопоставление HTTP-заголовков
md5= — сопоставление MD5 favicon
status_code= — сопоставление HTTP-кода состояния
Несколько условий
{"brand", "/", "title=Login&&body=Camera System", "", false}
Правовое предупреждение
Этот инструмент предназначен для:
- Специалистов по безопасности, тестирующих собственные сети
- Авторизованных работ по тестированию на проникновение
- Образовательных целей
ВНИМАНИЕ: Несанкционированное сканирование сетей, которыми вы не владеете или на тестирование которых у вас нет разрешения, является незаконным. Всегда получайте соответствующее разрешение. Разработчики не несут ответственности за неправомерное использование или ущерб.
Участие в разработке
- Сделайте форк репозитория
- Создайте ветку для новой функции
- Зафиксируйте свои изменения
- Отправьте ветку в удалённый репозиторий
- Откройте Pull Request
Поддержка
- Проверьте страницу Issues
- Откройте новый issue с подробной информацией
Примечание: Этот инструмент предназначен исключительно для законной оценки безопасности.