Image default
Security

Cameradar: Acesse câmeras de vigilância que utilizem RTSP

É de se espantar que câmeras de CCTV ainda estejam acessíveis na web. Isso normalmente ocorria/ocorre por uma má configuração (pra não usar aquele termo) do responsável, onde um IP público está atribuído à um IP interno (o das câmeras ou do equipamento que as gerencia) via NAT.

Um teste básico era tirar proveito de uma técnica de coleta de informações chamada Google Dork. Com ela, fazendo uso de strings no momento da busca, era possível listar diversos equipamentos acessíveis, como câmeras, impressoras e qualquer outro que estivesse conectado.

Com o Cameradar vamos um pouco além. Com ele você poderá:

  • Detectar hosts RTSP abertos em qualquer alvo acessível;
  • Coletar informações públicas (hostname, porta, câmera, modelo, etc);
  • Através de um ataque de força bruta (brute force), ter acesso à rota do fluxo das imagens, ou stream route (como por exemplo o arquivo /live.sdp);
  • Através de um ataque de força bruta (brute force), ter acesso ao usuário e senha das câmeras;
  • Gerar miniaturas de imagens do alvo para verificar se os fluxos são válidos e para ter uma rápida visualização de seu conteúdo;
  • Tentar criar um pipeline do Gstreamer para verificar se estão devidamente codificados;
  • Visualize um índice de todas as informações que o Cameradar puder obter.

Instalação

A instalação manual é recomendada se você quiser fazer alguns ajustes no Cameradar e testá-lo rapidamente usando o CMAKE via linha de comando. Se apenas quiser usar o Cameradar, é recomendável  seguir a instalação rápida (via docker).

Dependências

Antes de instalar o Cameradar, você precisar ter os seguintes pacotes:

  • cmake (cmake)
  • git (git)
  • gstreamer1.x (libgstreamer1.0-dev)
  • ffmpeg (ffmpeg)
  • boost (libboost-all-dev)
  • libcurl (libcurl4-openssl-dev)

Eles podem ser instalados normalmente via sudo apt-get install pacote ou sudo yum install pacote.

Passos

Após instaladas as dependências, siga os passos seguintes:

  1. git clone https://github.com/EtixLabs/cameradar.git
  2. cd cameradar
  3. mkdir build
  4. cd build
  5. cmake ..
  6. make
  7. cd cameradar_standalone
  8. ./cameradar -s alvo_desejado

Opções de linha de comando

  • -c: Configure um caminho customizado para o arquivo de configuração (-c /caminho/para/o/arquivo);
  • -s: Configure subredes customizadas (sobrescreve a configuração): Você pode utilizar este argumento de várias maneiras, como informar uma subrede (ex: 172.16.100.0/24), um único IP (ex: 172.16.100.10), ou range de IPs (ex: 172.16.100.10-172.16.100.20) ou um mix de todos (ex: 172.17.100.0/24,172.16.100.10-172.16.100.20,0.0.0.0);
  • -p: Configure portas customizadas (sobrescreve a configuração);
  • -m: Configure o número de threads (O valor padrão é 1);
  • -l: Configure o nível de log
    • -l 1: Nível DEBUG de log.
      • Mostrará tudo, incluindo informações de debug.
    • -l 2: Nível INFO de log.
      • Mostrará informações normais.
    • -l 4: Nível WARNING de log.
      • Mostrará somente informações de erros e avisos.
    • -l5: Nível CRITICAL de log
      • Não mostrará nada, já que o Cameradar não pode ler falhas críticas no momento, no entanto você pode utilizar este nível de log para depurar seu próprio código ou se adicionar camadas críticas.
  • -d: Carrega a ferramenta de descoberta;
  • -b: Carrega a ferramenta de força bruta (brute force) em todos os dispositivos descobertos;
    • Necessita ser carregado com a opção -d ou usar em um gerenciador avançado de cache (banco de dados, arquivo…) com os dados já presentes;
  • -t: Gera miniaturas de imagens das câmeras detectadas;
    • Necessita ser carregado com a opção -d ou usar em um gerenciador avançado de cache (banco de dados, arquivo…) com os dados já presentes;
  • -g: Verifica se o fluxo de imagens pode ser aberto com o GStreamer;
    • Necessita ser carregado com a opção -d ou usar em um gerenciador avançado de cache (banco de dados, arquivo…) com os dados já presentes;
  • -v: Mostra a versão do Cameradar;
  • -h: Mostra esse help;
  • -gst-rtsp-server: Use esta opção se a força bruta não funcionar (somente detecta o nome de usuário, mas não o caminho ou o oposto);
    • Esta opção alterará a ordem da força bruta para priorizar o caminho sobre as credenciais, que é a forma como a prioridade é tratada para câmeras que usam o servidor RTSP do GStreamer.

Repositório do Cameradar no GitHub:

https://github.com/EtixLabs/cameradar

O que é RTSP?

https://pt.wikipedia.org/wiki/RTSP

O que é NAT?

https://ensinar.wordpress.com/2008/12/10/entendendo-o-que-e-nat/

Fonte:

https://n0where.net/rtsp-surveillance-camera-access-multitool-cameradar/

Posts similares

Vulnerabilidade em protocolo de impressão afeta todas a versões do Windows

O Analista

Backdoor via SSH é identificada em firewalls da Fortinet

O Analista

Novo trojan bancário agora rouba senhas do Facebook, Twitter e Gmail

O Analista