
Cameradar взламывает RTSP-камеры видеонаблюдения
Cameradar сканирует RTSP-конечные точки на авторизованных целях и с помощью атак по словарю подбирает их учётные данные и маршруты.
/live.sdp) с помощью словаря.

Установите 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/24172.16.100.10localhost172.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 install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latestБинарный файл cameradar теперь находится в $GOPATH/bin.
Доступные флаги см. в справочнике по конфигурации.
Далее приведены шаги для работающей конфигурации Termux на Android. Используйте Termux 117 из F-Droid или официального сайта Termux, а не Google Play.
Установите необходимые пакеты в Termux:
pkg update
pkg install mc wget git nmap proot-distro
Установите Alpine и войдите в него:
proot-distro install alpine
proot-distro login alpine
apk add wget git go gcc clang musl-dev make
Создайте путь для модуля и клонируйте репозиторий:
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
Скопируйте словари и запустите бинарный файл:
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
Используйте 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-конечные точки, можно пропустить обнаружение и рассматривать каждую цель и порт как кандидата на поток. В этом режиме обнаружение не выполняется, что может быть полезно в ограниченных сетях или при атаке на известный инвентарь.
Пропуск обнаружения означает:
Пример:
docker run --rm -t --net=host \
ullaakut/cameradar \
--skip-scan \
--ports "554,8554" \
--targets 192.168.1.10