Malware para FreePBX rouba agora credenciais SIP e a fraude telefónica sobrevive à reinstalação
A operação INJ3CTOR3, uma campanha de longa duração contra centrais telefónicas FreePBX e Asterisk expostas à internet, mudou discretamente de objetivo. As vagas anteriores instalavam webshells e encaminhavam chamadas não autorizadas através da própria PBX da vítima. A versão atual vai mais longe: recolhe os ficheiros de configuração que guardam as palavras-passe dos troncos SIP, as credenciais de base de dados, os segredos de administração e as credenciais de correio de saída, e envia-os para servidores de recolha controlados pelos atacantes. Depois de esses segredos saírem, apagar e reinstalar o servidor deixa de pôr fim à fraude.
O que mudou
O instalador atualizado traz dois blocos de comandos codificados. Cada um envia o mesmo conjunto de 17 ficheiros de configuração para um servidor de recolha diferente, e uma tarefa agendada volta a executar o instalador a cada minuto enquanto a infeção estiver ativa. Os ficheiros visados abrangem FreePBX, Issabel, Elastix, Asterisk e Postfix, entre eles:
- as definições de autenticação, endpoints, transportes e registos de SIP e PJSIP;
- as credenciais da Asterisk Manager Interface (AMI);
- as palavras-passe de base de dados guardadas na configuração do FreePBX e do portal;
- o ficheiro de palavras-passe SASL do Postfix usado para o relay de correio.
A campanha mantém as webshells conhecidas JOMANGY e ZenharR, que dão aos operadores execução remota de comandos e acesso direto às funções da central. Um painel de controlo integrado consegue forjar uma sessão de administrador no FreePBX ou no Elastix sem conhecer qualquer palavra-passe. As novas compilações também alternam as cadeias de marca de água da webshell e alteraram o hash que protege a palavra-passe de acesso à shell, um retoque pequeno mas suficiente para contornar regras de deteção escritas para amostras anteriores.
A camada de persistência pouco mudou e continua profunda: transferências agendadas, gatilhos no início de sessão, cópias de segurança protegidas e vários duplicados da webshell espalhados pela raiz web que repõem tudo o que um analista apague. As regras de reescrita do servidor web são alteradas para que pedidos com espaços codificados cheguem à shell sem que o nome do ficheiro apareça nos registos de acesso, e um script de tomada de controlo limpa registos e históricos de comandos para dificultar a reconstrução do incidente.
O instalador e os comandos de envio foram recuperados de artefactos recolhidos nos servidores de recolha em setembro de 2026. Não foi captada qualquer exfiltração em direto nem existe uma contagem fiável de vítimas, pelo que a verdadeira dimensão do roubo de credenciais é desconhecida.
Porque é que importa
Uma credencial de tronco SIP é, na prática, a palavra-passe da fatura telefónica de uma empresa. Autentica o negócio junto do operador e, a menos que este restrinja os registos a endereços de origem aprovados, quem tiver o segredo pode registar uma central própria noutro local e efetuar chamadas cobradas à conta da vítima. Essas chamadas nunca passam pela PBX original, por isso um servidor acabado de limpar não mostra qualquer sinal.
O envio a cada minuto cria ainda uma armadilha para as equipas de resposta a incidentes. Se o administrador rodar as palavras-passe antes de o malware ser totalmente removido, os novos segredos são recolhidos na execução seguinte e entregues diretamente ao atacante.
Um painel com aspeto normal também não prova que o sistema está limpo. Em testes de laboratório, um tronco Asterisk definido diretamente nos ficheiros de configuração transportou chamadas sem aparecer em lado nenhum da consola do FreePBX. Essa técnica não foi observada nesta campanha, mas mostra quanto pode ficar escondido por baixo da interface web.
O que fazer
- Isolar primeiro, preservar depois. Retire a PBX da rede e guarde registos, dados de registo SIP e detalhes de chamadas antes de limpar o que quer que seja. O script de tomada de controlo destrói ativamente estas provas.
- Erradicar por completo antes de rodar credenciais. Dada a persistência em camadas, reinstalar a partir de uma imagem de confiança é a opção mais fiável. Só depois de o sistema estar confirmado como limpo devem substituir-se todos os segredos: palavras-passe de troncos e extensões, utilizadores AMI, contas de base de dados, credenciais de relay de correio e contas administrativas.
- Trabalhar com o operador. Peça novas credenciais de tronco, uma lista de IP de origem autorizados para registos, limites de despesa e bloqueio de destinos de tarifa majorada ou internacionais não utilizados.
- Vigiar os sinais que sobrevivem à limpeza. Alerte para registos a partir de endereços inesperados, chamadas para números de tarifa majorada, concorrência de chamadas invulgar e envios de dados a sair da PBX.
- Procurar indicadores. Verifique ligações para 45[.]95[.]147[.]178 e 160[.]119[.]69[.]4, ficheiros PHP na raiz web com cadeias que comecem por
trace_e contas locais cujo hash de palavra-passe comece por$1$nRz1Cbtk$. - Deixar de expor a interface de administração. A gestão do FreePBX deve ficar atrás de uma VPN ou de uma lista de acesso estrita, nunca aberta a toda a internet.
As centrais telefónicas costumam ficar fora do inventário de ativos que as equipas de web e cloud acompanham, e é exatamente por isso que campanhas como esta continuam a encontrá-las. O nosso serviço de Attack Surface Management mapeia continuamente o que uma organização expõe de facto à internet, incluindo painéis de administração VoIP esquecidos, para que possam ser protegidos antes que outra pessoa inicie sessão.
