NT-2026.09.28 DOSSIÊ PENTEST
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.

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.

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.

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.

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.


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.

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.



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.