
cameradar v6.2.1
Cameradar se infiltra en cámaras de videovigilancia RTSP
Cameradar
Herramienta de acceso a streams RTSP
Cameradar escanea endpoints RTSP en objetivos autorizados y utiliza ataques de diccionario para forzar sus credenciales y rutas.
Lo que hace Cameradar
- Detecta hosts RTSP abiertos en objetivos accesibles.
- Detecta el modelo de dispositivo que transmite el feed RTSP.
- Intenta el descubrimiento basado en diccionarios de rutas de stream (por ejemplo,
/live.sdp). - Intenta el descubrimiento basado en diccionarios de credenciales de la cámara.
- Produce un informe de hallazgos.

Tabla de contenidos
- Inicio rápido con Docker
- Instalar el binario
- Instalar en Android (Termux)
- Configuración
- Seguridad y uso responsable
- Salida
- Verificar acceso a la cámara
- Opciones de línea de comandos y variables de entorno
- Formato de archivo de entrada
- Construir y contribuir
- Preguntas frecuentes
- Ejemplos
- Licencia

Inicio rápido con Docker
Instale Docker y ejecute:
docker run --rm -t --net=host ullaakut/cameradar --targets <target>
Ejemplo:
docker run --rm -t --net=host ullaakut/cameradar --targets 192.168.100.0/24
Esto escanea los puertos 554, 5554 y 8554 en la subred objetivo. Intenta enumerar los streams RTSP. Para todas las opciones, consulte Referencia de configuración.
-
Los objetivos pueden ser CIDRs, IPs, rangos de IP o un nombre de host.
- Subred:
172.16.100.0/24 - IP:
172.16.100.10 - Host:
localhost - Rango:
172.16.100.10-20
- Subred:
-
Para usar diccionarios personalizados, móntelos y pase ambas banderas:
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
Instalar el binario
Use esta opción si Docker no está disponible o si desea una compilación local.
Dependencias
- Go 1.25 o posterior
Pasos
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latest
El binario cameradar ahora está en su $GOPATH/bin.
Para las banderas disponibles, consulte Referencia de configuración.
Instalar en Android (Termux)
Estos pasos resumen una configuración funcional de Termux para Android. Use Termux 117 desde F-Droid o el sitio oficial de Termux, no Google Play.
1) Configurar Termux y Alpine
Instale los paquetes necesarios en Termux:
pkg update
pkg install mc wget git nmap proot-distro
Instale Alpine e inicie sesión:
proot-distro install alpine
proot-distro login alpine
2) Instalar herramientas de compilación en Alpine
apk add wget git go gcc clang musl-dev make
3) Compilar Cameradar
Cree una ruta de módulo y clone el repositorio:
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) Ejecutar Cameradar
Copie los diccionarios y ejecute el binario:
mkdir -p /tmp
cp -r ../../dictionaries /tmp/dictionaries
/go/bin/cameradar --targets=<target> --custom-credentials=/tmp/dictionaries/credentials.json --custom-routes=/tmp/dictionaries/routes --ui=plain --debug
Reemplace <target> con una IP, rango, host o subred que esté autorizado a probar.
Configuración
Los puertos predeterminados son 554, 5554, 8554, http, 322 y 8322.
Si no especifica puertos, Cameradar usa esos.
Ejemplo de escaneo de puertos personalizados:
docker run --rm -t --net=host \
ullaakut/cameradar \
--ports "18554,19000-19010" \
--targets localhost
Puede reemplazar los diccionarios predeterminados con sus propios archivos de rutas y credenciales.
El repositorio proporciona diccionarios base en la carpeta 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 y certificados TLS
Use URLs rtsps:// para acceder a streams RTSPS.
- Si el certificado del stream es emitido por una AC pública de confianza, no se necesita configuración adicional.
- Si el certificado del stream es autofirmado o emitido por una AC privada, el almacén de confianza del sistema operativo puede rechazarlo.
- En ese caso, apunte
SSL_CERT_FILEal certificado de la AC (o al certificado del servidor para una configuración autofirmada) al ejecutar Cameradar.
Ejemplo con binario local:
SSL_CERT_FILE=/path/to/ca-or-server.crt \
cameradar \
--targets localhost \
--ports 8322 \
--skip-scan \
--custom-routes routes.txt \
--custom-credentials credentials.json
Ejemplo con 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
Si prefiere no usar SSL_CERT_FILE, agregue su certificado AC al almacén de confianza del sistema utilizado por su entorno de ejecución.
Omitir descubrimiento con --skip-scan
Si ya conoce los endpoints RTSP, puede omitir el descubrimiento y tratar cada objetivo y puerto como un candidato a stream. Este modo no ejecuta descubrimiento y puede ser útil en redes restringidas o cuando desee atacar un inventario conocido.
Omitir el descubrimiento significa:
- Cameradar no ejecuta descubrimiento y no detecta modelos de dispositivos.
- Los objetivos se resuelven en direcciones IP. Los nombres de host se resuelven mediante DNS.
- Los bloques CIDR y los rangos IPv4 se expanden a cada dirección en el rango.
- Los rangos grandes crean muchos objetivos, así que úselos con cuidado.
Ejemplo: