NT-2026.09.28 DOSSIÊ

SIPVICIOUS: PENTEST DE TELEFONES IP E INFRAESTRUTURA VOIP COM SIP

Como o toolset SIPVicious audita a telefonia do escritorio: svmap identifica o servidor SIP e a versao, svwar enumera ramais e svcrack testa senhas fracas - do reconhecimento ao ramal comprometido, com perspectiva defensiva.

Capa tecnica do artigo SIPVicious com fluxo de tres blocos: Scan svmap, Enumerar svwar e Quebrar svcrack

SIP: o idioma dos telefones do escritorio

Quem ja trabalhou em escritorio conhece os telefones espalhados pelas mesas: alguns sem fio com base, outros identicos aos fixos comuns. A diferenca e que, por tras de cada aparelho, ha uma sessao de VoIP – voice over IP, a telefonia que trafega pela rede de dados.

O protocolo que esses aparelhos usam para entrar no sistema e iniciar chamadas e o SIP, definido na RFC 3261 do IETF. Vale separar as duas partes de uma chamada pela internet: primeiro os dois lados se encontram e negociam a conversa (sinalizacao); depois a propria voz viaja por um caminho separado (midia, tipicamente RTP). O SIP cuida apenas da primeira parte.

E por isso que uma senha SIP roubada e um problema serio. Quem a possui nao rouba um telefone: rouba a crenca do sistema de que aquele terminal e aquele ramal. Aceito o registro como a extension 1000, por exemplo, a central trata o notebook do atacante como se fosse o aparelho da mesa daquele funcionario – pode ligar em nome de outra pessoa e, em muitos sistemas, tambem receber as chamadas destinadas a ela.

Este artigo documenta o percurso classico de auditoria dessa infraestrutura com o toolset SIPVicious contra um PBX de laboratorio: identificacao do servico, enumeracao de ramais e teste de senhas. Todo o percurso, os comandos e as evidencias visuais seguem a demonstracao de referencia; nada aqui foi executado contra sistemas de terceiros.

O Asterisk como alvo: um PBX SIP para o teste

O alvo tipico desse tipo de auditoria e a central telefonica – o switchboard que decide quem pode entrar, quais numeros existem e quem pode chamar quem. Um dos programas mais populares para esse papel e o Asterisk, PBX de codigo aberto que entende SIP e roda a telefonia do escritorio.

Na demonstracao de referencia, o Asterisk e colocado de pe em laboratorio com o Docker, isolado de qualquer rede real – um ambiente controlado para exercitar o fluxo de auditoria com seguranca.

Terminal mostrando o container do PBX Asterisk sendo iniciado via Docker no laboratorio
O Asterisk em execucao em container Docker no laboratorio da demonstracao

Instalacao

Do lado do auditor, o SIPVicious e instalado em um ambiente Python isolado. O pacote oficial no PyPI e o caminho documentado na propria documentacao do projeto, que recomenda instalacao em ambiente virtual:

python3 -m venv sipvicious
source sipvicious/bin/activate
pip3 install sipvicious

Cada comando tem papel simples: python3 -m venv sipvicious cria o ambiente virtual, source sipvicious/bin/activate o ativa no shell atual e pip3 install sipvicious instala o toolset. A instalacao registra os programas de console com prefixo sipvicious_ – e o que permite chamar cada ferramenta pelo nome no proximo passo.

Saida do terminal durante a instalacao do pacote sipvicious via pip
Instalacao do SIPVicious com pip3 install dentro do ambiente virtual

O toolset SIPVicious

O pacote vem com cinco comandos, documentados no README oficial:

  • svmap – scanner que identifica servidores SIP em ranges de rede e portas;
  • svwar – enumera extensions (ramais) que respondem no PBX;
  • svcrack – quebra senhas de um ramal por autenticacao digest;
  • svreport – gerencia sessoes e exporta resultados;
  • svcrash – responde mensagens de svwar e svcrack de formas que derrubam versoes antigas.

Cada comando tem menu de ajuda proprio, acionado com -h:

sipvicious_svmap -h

O menu lista as opcoes de cada ferramenta – portas, metodos, timeouts, dicionarios. Na auditoria documentada aqui sao usados os tres primeiros comandos; svreport e svcrash nao entram no cenario.

Menu de ajuda do svmap listando as opcoes de varredura do scanner SIP
Menu de ajuda do sipvicious_svmap acionado com -h

Identificacao do servico com svmap

O svmap e o scanner do conjunto: apontado para um endereco (ou faixa de enderecos), ele descobre se ha um servico SIP respondendo ali e qual software esta por tras. Contra o alvo do laboratorio:

sipvicious_svmap 127.0.0.1

A resposta revela o servico SIP identificado no endereco – no caso da demonstracao, o Asterisk em execucao no container. Com o servico e a versao em maos, o passo seguinte e pesquisa: a versao identificada pode ser comparada com exploits conhecidos para aquela release, o que as vezes decide sozinho o rumo do teste.

Os resultados variam conforme a extension fornecida – a extension e o numero de conta do telefone. Repetindo o scan com a extension 1000:

sipvicious_svmap 127.0.0.1 -e 1000

A flag -e (extension) instrui o svmap a se apresentar com aquele numero de conta na mensagem enviada, e a resposta do servidor pode diferir da varredura sem extension.

Saida do svmap revelando o servico SIP e a versao do servidor no endereco testado
O svmap identifica o servico SIP e a versao respondendo no endereco alvo
Pesquisa da versao do servico SIP identificada frente a exploits conhecidos
A versao identificada pesquisada em exploits conhecidos

Enumeracao de ramais com svwar

As extensions sao os numeros de conta do sistema – e, em ambientes corporativos, normalmente comecam em 1000. O svwar funciona como um wardialer moderno: testa uma faixa de extensions e reporta quais respondem, e se exigem autenticacao:

sipvicious_svwar 127.0.0.1 -e 1000-1010

A flag -e aceita a faixa de ramais a testar. Um detalhe importante para calibrar expectativas: software antigo permite essa enumeracao; software moderno simplesmente ignora as requisicoes, e o auditor nao consegue descobrir quais contas existem. Ainda assim, vale tentar – a quantidade de infraestrutura desatualizada em producao e o que mantem essa tecnica relevante.

Quando o servidor responde mas bloqueia as tentativas, resta forcar a varredura ignorando as verificacoes iniciais:

sipvicious_svwar 127.0.0.1 -e 1000-1010 --force

A resposta mais provavel e um 401 Unauthorized – mas isso varia conforme o software testado, e o comportamento em si ja e informacao util para a auditoria.

Saida do svwar enumerando os ramais na faixa testada do servidor SIP
O svwar varre a faixa de extensions do PBX alvo

Quebra de senhas com svcrack

Identificados os ramais, o proximo estagio e testar senhas. O svcrack tenta quebrar a senha de uma extension especifica por autenticacao digest, com dicionario ou sem ele.

Na demonstracao de referencia, a lista de credenciais candidatas e montada com printf – valores tipicos de laboratorio e de configuracoes descuidadas: o proprio numero do ramal, palavras como admin e password e nomes ligados ao ambiente:

printf '%s\n' 1000 1001 admin password asterisk mrsip-lab > sip-pass.txt

sipvicious_svcrack 127.0.0.1 -u 1000 -d sip-pass.txt

O printf grava cada palavra candidata em uma linha de sip-pass.txt; a flag -u define o usuario alvo (a extension 1000) e -d aponta o dicionario. O resultado da demonstracao: a senha mr-siplab era mesmo a senha de tres daquelas contas.

Ha ainda duas formas de atacar sem dicionario. A primeira e o modo padrao do svcrack, que tenta uma faixa numerica de 100 a 999:

sipvicious_svcrack 127.0.0.1 -u 1000

A segunda e a flag –enabledefaults, que soma as senhas tipicas, incluindo o proprio numero do ramal:

sipvicious_svcrack 127.0.0.1 -u 1000 --enabledefaults

Nota de precisao: a demonstracao de referencia grafava a flag como enabledefauls; a ortografia correta, confirmada na documentacao oficial, e –enabledefaults. Nesse laboratorio as duas formas sem dicionario falharam, porque a senha nao era previsivel – mas em producao, senhas preveis sao exatamente o que essas variantes encontram. O setup tinha tres contatos cadastrados, e o tool comprometeu todos os tres com a wordlist.

Saida do svcrack exibindo a senha encontrada para a extension alvo com o dicionario
O svcrack encontra a senha dos ramais com a wordlist criada
Saida do svcrack testando senhas padrao sem sucesso no laboratorio
O teste de credenciais padrao nao encontra a senha imprevisivel
Listagem das contas de ramal do Asterisk comprometidas durante a demonstracao
As contas do Asterisk comprometidas pelo teste de senhas

O que um atacante faz com um ramal comprometido

O impacto de um ramal comprometido vai alem do acesso tecnico. O risco mais classico e o toll fraud: com credenciais de ramal, o atacante registra no sistema e coloca chamadas internacionais caras por conta da empresa – ainda hoje o ataque mais comum contra telefonia IP.

Com contas comprometidas, o atacante tambem pode conduzir campanhas de vishing contra outras empresas: a chamada sai da central telefonica de uma empresa real, o que empresta credibilidade ao golpe. E, se ele ja estiver dentro e tiver acesso ao phonebook, pode usar a posicao para convencer funcionarios e times de suporte a resetar senhas – o acesso telefonico vira alavanca de engenharia social interna.

Esses cenarios sao o motivo de a auditoria VoIP valer um capitulo proprio em um pentest: o servidor de voz raramente e o ativo mais guardado da rede, e a explosao da conta telefonica chega antes de qualquer relatorio.

Perspectiva defensiva

Cada etapa do percurso aponta um controle correspondente do lado da defesa:

  • Exposicao do SIP: o servico SIP pertence a rede interna, nao a internet; fechar o acesso externo e segmentar a telefonia da rede corporativa reduz a superficie desde o primeiro comando do svmap.
  • Enumeracao: PBX atualizados ignoram varreduras de ramais – manter o software em dia e o controle direto contra o svwar.
  • Senhas fracas: o svcrack com –enabledefaults e faixa numerica existe porque ramais com senha igual ao proprio numero ainda sao comuns; senhas longas, aleatorias e diferentes por ramal fecham essa porta.
  • Versao exposta: se a versao do servidor responde ao scan, ela orienta exploits conhecidos; atualizar o Asterisk (e os firmwares dos telefones) e limitar o que a resposta revela reduz esse vetor.
  • Monitoramento: picos de tentativas de registro e de chamadas internacionais fora do padrao sao os sinais observaveis de toll fraud e de ataque em curso; limites de tarifas e alertas de uso anomalo encurtam o tempo de deteccao.

A regra pratica para quem administra a telefonia: tratar o PBX como sistema critico, com a mesma disciplina de patch, senha e segmentacao aplicada a qualquer servidor exposto.

Conclusao

O SIPVicious condensa em tres comandos o fluxo classico de auditoria de telefonia IP: svmap identifica o servico SIP e a versao, svwar enumera ramais e svcrack testa senhas por dicionario ou faixa numerica – cobrindo exatamente os erros de configuracao mais comuns dessa infraestrutura: servico exposto, versao desatualizada e senhas preveis nos ramais.

O software moderno bloqueia a enumeracao de usuarios, mas o volume de infraestrutura desatualizada mantem a tecnica viva – e as vezes a versao identificada pelo svmap basta para comprometer o servidor e entrar na rede. A conclusao operacional da fonte e a correta: nao negligencie sua telefonia e atualize regularmente os dispositivos. Para a defesa, cada etapa do toolset tem o controle correspondente – segmentacao, atualizacao, senha forte e monitoramento de uso.