
cameradar v6.2.1
Cameradar взламывает RTSP-камеры видеонаблюдения
Cameradar
Инструмент доступа к RTSP-потокам
Cameradar сканирует RTSP-конечные точки на авторизованных целях и с помощью атак по словарю подбирает их учётные данные и маршруты.
Что делает Cameradar
- Обнаруживает открытые RTSP-хосты на доступных целях.
- Определяет модель устройства, передающего RTSP-поток.
- Пытается найти маршруты потоков (например,
/live.sdp) с помощью словаря. - Пытается подобрать учётные данные камеры с помощью словаря.
- Создаёт отчёт о результатах.

Содержание
- Быстрый старт с Docker
- Установка бинарного файла
- Установка на Android (Termux)
- Конфигурация
- Безопасность и ответственное использование
- Вывод
- Проверка доступа к камере
- Параметры командной строки и переменные окружения
- Формат входного файла
- Сборка и вклад
- Часто задаваемые вопросы
- Примеры
- Лицензия

Быстрый старт с Docker
Установите Docker и выполните:
docker run --rm -t --net=host ullaakut/cameradar --targets <цель>
Пример:
docker run --rm -t --net=host ullaakut/cameradar --targets 192.168.100.0/24
Эта команда сканирует порты 554, 5554 и 8554 в целевой подсети. Она пытается перечислить RTSP-потоки. Все параметры см. в справочнике по конфигурации.
-
Целями могут быть CIDR, IP-адреса, диапазоны IP или имя хоста.
- Подсеть:
172.16.100.0/24 - IP-адрес:
172.16.100.10 - Хост:
localhost - Диапазон:
172.16.100.10-20
- Подсеть:
-
Чтобы использовать собственные словари, смонтируйте их и передайте оба флага:
docker run --rm -t --net=host \ -v /path/to/dictionaries:/tmp/dictionaries \ ullaakut/cameradar \ --custom-routes /tmp/dictionaries/my_routes \ --custom-credentials /tmp/dictionaries/my_credentials.json \ --targets 192.168.100.0/24
Установка бинарного файла
Используйте этот вариант, если Docker недоступен или вы хотите локальную сборку.
Зависимости
- Go 1.25 или новее
Шаги
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latest
Бинарный файл cameradar теперь находится в $GOPATH/bin.
Доступные флаги см. в справочнике по конфигурации.
Установка на Android (Termux)
Далее приведены шаги для работающей конфигурации Termux на Android. Используйте Termux 117 из F-Droid или официального сайта Termux, а не Google Play.
1) Настройка Termux и Alpine
Установите необходимые пакеты в Termux:
pkg update
pkg install mc wget git nmap proot-distro
Установите Alpine и войдите в него:
proot-distro install alpine
proot-distro login alpine
2) Установка инструментов сборки в Alpine
apk add wget git go gcc clang musl-dev make
3) Сборка Cameradar
Создайте путь для модуля и клонируйте репозиторий:
mkdir -p go/pkg/mod/github.com/Ullaakut
cd go/pkg/mod/github.com/Ullaakut
git clone https://github.com/Ullaakut/cameradar.git
cd cameradar/cmd/cameradar
go install
4) Запуск Cameradar
Скопируйте словари и запустите бинарный файл:
mkdir -p /tmp
cp -r ../../dictionaries /tmp/dictionaries
/go/bin/cameradar --targets=<цель> --custom-credentials=/tmp/dictionaries/credentials.json --custom-routes=/tmp/dictionaries/routes --ui=plain --debug
Замените <цель> на IP-адрес, диапазон, хост или подсеть, которые вы имеете право тестировать.
Конфигурация
Порты по умолчанию: 554, 5554, 8554, http, 322 и 8322.
Если порты не указаны, Cameradar использует их.
Пример сканирования пользовательских портов:
docker run --rm -t --net=host \
ullaakut/cameradar \
--ports "18554,19000-19010" \
--targets localhost
Вы можете заменить словари по умолчанию своими файлами маршрутов и учётных данных.
В репозитории есть базовые словари в папке dictionaries.
docker run --rm -t --net=host \
-v /my/folder/with/dictionaries:/tmp/dictionaries \
ullaakut/cameradar \
--custom-routes /tmp/dictionaries/my_routes \
--custom-credentials /tmp/dictionaries/my_credentials.json \
--targets 172.19.124.0/24
RTSPS и TLS-сертификаты
Используйте URL-адреса rtsps:// для доступа к потокам RTSPS.
- Если сертификат потока выдан доверенным публичным центром сертификации, дополнительная настройка не требуется.
- Если сертификат потока самоподписан или выдан частным ЦС, доверенное хранилище ОС может отклонить его.
- В этом случае укажите
SSL_CERT_FILEна сертификат ЦС (или сертификат сервера для самоподписанной конфигурации) при запуске Cameradar.
Пример с локальным бинарным файлом:
SSL_CERT_FILE=/путь/к/ca-или-server.crt \
cameradar \
--targets localhost \
--ports 8322 \
--skip-scan \
--custom-routes routes.txt \
--custom-credentials credentials.json
Пример с Docker:
docker run --rm -t --net=host \
-e SSL_CERT_FILE=/tmp/certs/server.crt \
-v /path/to/certs:/tmp/certs:ro \
ullaakut/cameradar \
--targets localhost \
--ports 8322
Если вы предпочитаете не использовать SSL_CERT_FILE, добавьте сертификат вашего ЦС в системное доверенное хранилище вашей среды выполнения.
Пропуск обнаружения с помощью --skip-scan
Если вы уже знаете RTSP-конечные точки, можно пропустить обнаружение и рассматривать каждую цель и порт как кандидата на поток. В этом режиме обнаружение не выполняется, что может быть полезно в ограниченных сетях или при атаке на известный инвентарь.
Пропуск обнаружения означает:
- Cameradar не запускает обнаружение и не определяет модели устройств.
- Цели разрешаются в IP-адреса. Имена хостов разрешаются через DNS.
- Блоки CIDR и диапазоны IPv4 расширяются до каждого адреса в диапазоне.
- Большие диапазоны создают много целей, поэтому используйте их осторожно.
Пример:
docker run --rm -t --net=host \
ullaakut/cameradar \
--skip-scan \
--ports "554,8554" \
--targets 192.168.1.10