Pentesting VoIP
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Obtenha a perspectiva de um hacker sobre seus aplicativos web, rede e nuvem
Encontre e relate vulnerabilidades críticas e exploráveis com impacto real nos negócios. Use nossas mais de 20 ferramentas personalizadas para mapear a superfície de ataque, encontrar problemas de segurança que permitem escalar privilégios e usar exploits automatizados para coletar evidências essenciais, transformando seu trabalho árduo em relatórios persuasivos.
Para começar a aprender sobre como o VoIP funciona, confira:
Basic VoIP Protocols1xx—Respostas Provisórias
2xx—Respostas Bem-Sucedidas
3xx—Respostas de Redirecionamento
4xx—Respostas de Falha do Cliente
5xx—Respostas de Falha do Servidor
6xx—Respostas de Falha Global
Um dos primeiros passos que uma Red Team pode fazer é pesquisar números de telefone disponíveis para contatar a empresa usando ferramentas OSINT, buscas no Google ou raspagem de páginas da web.
Uma vez que você tenha os números de telefone, você pode usar serviços online para identificar o operador:
Saber se o operador fornece serviços de VoIP pode ajudar a identificar se a empresa está usando VoIP... Além disso, é possível que a empresa não tenha contratado serviços de VoIP, mas esteja usando cartões PSTN para conectar seu próprio PBX VoIP à rede de telefonia tradicional.
Coisas como respostas automáticas de música geralmente indicam que o VoIP está sendo usado.
Qualquer outra enumeração OSINT que ajude a identificar o software VoIP em uso será útil para uma Red Team.
nmap
é capaz de escanear serviços UDP, mas devido ao número de serviços UDP sendo escaneados, é muito lento e pode não ser muito preciso com esse tipo de serviço.
svmap
do SIPVicious (sudo apt install sipvicious
): Localizará serviços SIP na rede indicada.
svmap
é fácil de bloquear porque usa o User-Agent friendly-scanner
, mas você pode modificar o código de /usr/share/sipvicious/sipvicious
e alterá-lo.
SIPPTS scan
from sippts: O SIPPTS scan é um scanner muito rápido para serviços SIP sobre UDP, TCP ou TLS. Ele utiliza multithreading e pode escanear grandes faixas de redes. Permite indicar facilmente uma faixa de portas, escanear tanto TCP quanto UDP, usar outro método (por padrão, usará OPTIONS) e especificar um User-Agent diferente (e mais).
metasploit:
O PBX também pode estar expondo outros serviços de rede, como:
69/UDP (TFTP): Atualizações de firmware
80 (HTTP) / 443 (HTTPS): Para gerenciar o dispositivo pela web
389 (LDAP): Alternativa para armazenar as informações dos usuários
3306 (MySQL): Banco de dados MySQL
5038 (Manager): Permite usar Asterisk de outras plataformas
5222 (XMPP): Mensagens usando Jabber
5432 (PostgreSQL): Banco de dados PostgreSQL
E outros...
É possível encontrar quais métodos estão disponíveis para usar no PBX usando SIPPTS enumerate
do sippts
É muito importante analisar os cabeçalhos que um servidor nos envia, dependendo do tipo de mensagem e cabeçalhos que enviamos. Com SIPPTS send
do sippts podemos enviar mensagens personalizadas, manipulando todos os cabeçalhos, e analisar a resposta.
Também é possível obter dados se o servidor usar websockets. Com SIPPTS wssend
do sippts podemos enviar mensagens WS personalizadas.
Extensões em um sistema PBX (Private Branch Exchange) referem-se aos identificadores internos únicos atribuídos a linhas de telefone, dispositivos ou usuários individuais dentro de uma organização ou empresa. As extensões possibilitam rutar chamadas dentro da organização de forma eficiente, sem a necessidade de números de telefone externos individuais para cada usuário ou dispositivo.
svwar
do SIPVicious (sudo apt install sipvicious
): svwar
é um scanner de linha de extensão SIP PBX gratuito. Em conceito, funciona de forma semelhante aos discadores tradicionais, adivinhando uma faixa de extensões ou uma lista específica de extensões.
SIPPTS exten
from sippts: SIPPTS exten identifica extensões em um servidor SIP. Sipexten pode verificar grandes redes e intervalos de portas.
metasploit: Você também pode enumerar extensões/nomes de usuário com metasploit:
enumiax
(apt install enumiax
): enumIAX é um enumerador de força bruta de nome de usuário do protocolo Inter Asterisk Exchange. O enumIAX pode operar em dois modos distintos: Adivinhação Sequencial de Nome de Usuário ou Ataque de Dicionário.
Tendo descoberto o PBX e alguns números de ramal/nome de usuário, uma equipe vermelha poderia tentar autenticar via o método REGISTER
em um ramal usando um dicionário de senhas comuns para realizar a força bruta da autenticação.
Observe que um nome de usuário pode ser o mesmo que o ramal, mas essa prática pode variar dependendo do sistema PBX, sua configuração e as preferências da organização...
Se o nome de usuário não for o mesmo que o ramal, você precisará descobrir o nome de usuário para realizar a força bruta.
svcrack
do SIPVicious (sudo apt install sipvicious
): SVCrack permite que você quebre a senha para um nome de usuário/ramal específico em um PBX.
SIPPTS rcrack
do sippts: SIPPTS rcrack é um cracker de senha remoto para serviços SIP. Rcrack pode testar senhas para vários usuários em diferentes IPs e faixas de portas.
Metasploit:
Se você encontrar equipamentos VoIP dentro de uma rede Wifi aberta, você pode capturar todas as informações. Além disso, se você estiver dentro de uma rede mais fechada (conectada via Ethernet ou Wifi protegido), você pode realizar ataques MitM como ARPspoofing entre o PBX e o gateway para capturar as informações.
Entre as informações da rede, você pode encontrar credenciais da web para gerenciar o equipamento, ramais de usuário, nome de usuário, endereços IP, até mesmo senhas hash e pacotes RTP que você pode reproduzir para ouvir a conversa, e mais.
Para obter essas informações, você pode usar ferramentas como Wireshark, tcpdump... mas uma ferramenta especialmente criada para capturar conversas VoIP é ucsniff.
Observe que se TLS for usado na comunicação SIP você não poderá ver a comunicação SIP em texto claro. O mesmo acontecerá se SRTP e ZRTP forem usados, os pacotes RTP não estarão em texto claro.
Verifique este exemplo para entender melhor uma comunicação SIP REGISTER para aprender como as credenciais estão sendo enviadas.
sipdump
& sipcrack
, parte do sipcrack (apt-get install sipcrack
): Essas ferramentas podem extrair de um pcap as autenticações digest dentro do protocolo SIP e realizar brute-force nelas.
SIPPTS dump
do sippts: O SIPPTS dump pode extrair autenticações digest de um arquivo pcap.