
cameradar v6.2.1
Cameradar invade câmeras de videovigilância RTSP
Cameradar
Ferramenta de acesso a streams RTSP
O Cameradar verifica endpoints RTSP em alvos autorizados e usa ataques de dicionário para forçar credenciais e rotas.
O que o Cameradar faz
- Detecta hosts RTSP abertos em alvos acessíveis.
- Detecta o modelo do dispositivo que transmite o feed RTSP.
- Tenta descobrir rotas de stream baseadas em dicionário (por exemplo,
/live.sdp). - Tenta descobrir credenciais de câmera baseadas em dicionário.
- Produz um relatório dos resultados.

Índice
- Início rápido com Docker
- Instalar o binário
- Instalar no Android (Termux)
- Configuração
- Segurança e uso responsável
- Saída
- Verificar acesso à câmera
- Opções de linha de comando e variáveis de ambiente
- Formato do arquivo de entrada
- Compilar e contribuir
- Perguntas frequentes
- Exemplos
- Licença

Início rápido com Docker
Instale o Docker e execute:
docker run --rm -t --net=host ullaakut/cameradar --targets <target>
Exemplo:
docker run --rm -t --net=host ullaakut/cameradar --targets 192.168.100.0/24
Isso verifica as portas 554, 5554 e 8554 na sub-rede alvo. Tenta enumerar streams RTSP. Para todas as opções, consulte a Referência de configuração.
-
Alvos podem ser CIDRs, IPs, intervalos de IP ou um hostname.
- Sub-rede:
172.16.100.0/24 - IP:
172.16.100.10 - Host:
localhost - Intervalo:
172.16.100.10-20
- Sub-rede:
-
Para usar dicionários personalizados, monte-os e passe ambos os flags:
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 o binário
Use esta opção se o Docker não estiver disponível ou se quiser uma compilação local.
Dependências
- Go 1.25 ou superior
Passos
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latest
O binário cameradar agora está em $GOPATH/bin.
Para flags disponíveis, consulte a Referência de configuração.
Instalar no Android (Termux)
Estes passos resumem uma configuração funcional do Termux para Android. Use o Termux 117 do F-Droid ou do site oficial do Termux, não do Google Play.
1) Configurar Termux e Alpine
Instale os pacotes necessários no Termux:
pkg update
pkg install mc wget git nmap proot-distro
Instale o Alpine e faça login:
proot-distro install alpine
proot-distro login alpine
2) Instalar ferramentas de compilação no Alpine
apk add wget git go gcc clang musl-dev make
3) Compilar o Cameradar
Crie um caminho de módulo e clone o repositório:
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) Executar o Cameradar
Copie os dicionários e execute o binário:
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
Substitua <target> por um IP, intervalo, host ou sub-rede que você está autorizado a testar.
Configuração
As portas padrão são 554, 5554, 8554, http, 322 e 8322.
Se você não especificar portas, o Cameradar usará essas.
Exemplo de verificação de portas personalizadas:
docker run --rm -t --net=host \
ullaakut/cameradar \
--ports "18554,19000-19010" \
--targets localhost
Você pode substituir os dicionários padrão pelos seus próprios arquivos de rotas e credenciais.
O repositório fornece dicionários básicos na pasta 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 e certificados TLS
Use URLs rtsps:// para acessar streams RTSPS.
- Se o certificado da stream for emitido por uma AC pública confiável, nenhuma configuração extra é necessária.
- Se o certificado da stream for autoassinado ou emitido por uma AC privada, o repositório de confiança do SO pode rejeitá-lo.
- Nesse caso, aponte
SSL_CERT_FILEpara o certificado da AC (ou certificado do servidor para configuração autoassinada) ao executar o Cameradar.
Exemplo com binário 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
Exemplo com 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
Se preferir não usar SSL_CERT_FILE, adicione seu certificado AC ao repositório de confiança do sistema usado pelo seu ambiente de execução.
Pular descoberta com --skip-scan
Se você já conhece os endpoints RTSP, pode pular a descoberta e tratar cada alvo e porta como um candidato a stream. Este modo não executa descoberta e pode ser útil em redes restritas ou quando você deseja atacar um inventário conhecido.
Pular descoberta significa:
- O Cameradar não executa descoberta e não detecta modelos de dispositivos.
- Alvos são resolvidos para endereços IP. Hostnames são resolvidos via DNS.
- Blocos CIDR e intervalos IPv4 são expandidos para todos os endereços no intervalo.
- Intervalos grandes criam muitos alvos, portanto, use-os com cuidado.
Exemplo:
docker run --rm -t --net=host \
ullaakut/cameradar \
--skip-scan \
--ports "554,8554" \
--targets 192.168.1.10