Invasor usa canal de atualização do cPGuard para instalar backdoor em servidores Linux e coletar hashes de senhas

Um invasor comprometeu o sistema de atualização da ferramenta de segurança cPGuard em 2 de novembro e o usou para enviar um script malicioso a servidores Linux de clientes. O script instalou um backdoor e coletou hashes de senhas e outros arquivos sensíveis. A versão 5.88.25 e as posteriores removem o backdoor e os arquivos deixados pelo script.


Swati Khandelwal Terça - 03 de Novembro de 2026 às 18:51
The Hacker News

Um invasor entrou no sistema de atualização da ferramenta de segurança cPGuard em 2 de novembro e o usou para enviar um script malicioso aos servidores Linux dos clientes.

O script instalou uma porta dos fundos (backdoor) e coletou hashes de senhas e outros arquivos sensíveis dos servidores que o executaram, informou a OPSSHIELD, fabricante do cPGuard, em um comunicado. O invasor já obteve parte desses dados.

A versão 5.88.25 do cPGuard e as posteriores removem o backdoor e os arquivos deixados pelo script. Credenciais copiadas pelo script podem continuar funcionando após a atualização, por isso qualquer servidor que possa ter executado o script também precisa de novas senhas e chaves.

Às 02:06 UTC (Tempo Universal Coordenado), o invasor, que não foi identificado, usou credenciais comprometidas para acessar o sistema de atualização do cPGuard. O script foi distribuído nas versões 5.88.12 a 5.88.19.

O ataque foi detectado em até 12 horas após o lançamento dessas versões, segundo a OPSSHIELD. A empresa redefiniu as credenciais de infraestrutura e impediu que o script chegasse a mais servidores. A investigação continua para apurar como o invasor obteve as credenciais.

A OPSSHIELD não informou quantos servidores instalaram uma dessas versões. Os servidores verificam atualizações em intervalos, então alguns podem não ter executado o script.

Administradores podem verificar se um servidor instalou uma versão afetada pesquisando seu registro de atualização:

grep 'Successfully updated' /opt/cpguard/logs/install_log

Uma entrada de qualquer versão de 5.88.12 a 5.88.19 indica que o servidor instalou uma atualização afetada. A entrada, por si só, não mostra que o script foi executado nem que dados saíram do servidor. O servidor ainda deve ser tratado como potencialmente comprometido, mesmo que agora use a versão 5.88.25 ou posterior.

Um servidor sem entradas correspondentes, ou com um registro ausente ou incompleto, ainda pode ter executado o script. Administradores em dúvida podem entrar em contato com o suporte da OPSSHIELD.

A OPSSHIELD identificou que o script coletou os seguintes tipos de dados: /etc/shadow e /etc/passwd, a configuração do MariaDB ou MySQL do root (my.cnf), o histórico de shell do root e os arquivos de autorização SSH (Secure Shell) e de hosts conhecidos do root. Pode não ter coletado todos os arquivos de todos os servidores, e a empresa ainda está apurando quais arquivos saíram de cada um.

O arquivo /etc/shadow armazena hashes de senha de mão única. Senhas fracas, comuns ou já vazadas podem ser recuperadas desses hashes por meio de testes de tentativas offline, e mesmo as senhas fortes precisam ser redefinidas. Segredos que podem estar na configuração do banco de dados ou no histórico de shell não têm nenhum hash que os proteja.

O script enviou os dados coletados para um servidor de licenciamento operado pela própria OPSSHIELD, usando uma conta comprometida, para que o invasor pudesse recuperá-los depois. A OPSSHIELD já protegeu essa conta.

Segundo estimativa da OPSSHIELD feita no fim de 2 de novembro (UTC), o invasor retirou 32 arquivos desse servidor, cada um associado a um servidor de cliente. A contagem inclui apenas os arquivos sabidamente retirados e pode mudar. Ela não mostra quantos servidores podem estar envolvidos no total.

Além da coleta de dados e do backdoor, a OPSSHIELD não encontrou, até agora, outra atividade maliciosa, uma conclusão que, segundo a empresa, ainda não é definitiva.

O que os administradores do cPGuard devem fazer agora

A OPSSHIELD pede que os administradores atualizem agora todos os servidores com cPGuard e confirmem a versão:

  1. Execute cpgcli update --start em cada servidor.
  2. Execute cpgcli --version e verifique se a versão é 5.88.25 ou posterior. Se a atualização falhar ou a versão for inferior, entre em contato com o suporte da OPSSHIELD.

Os administradores também devem adotar as seguintes medidas em qualquer servidor onde o script foi executado ou possa ter sido executado:

  1. A partir de um ambiente de recuperação confiável, redefina as senhas do root e de todas as outras contas locais do Linux que usem senha.
  2. A partir de um dispositivo confiável, altere as senhas que também são usadas em outros sistemas.
  3. Renove as senhas do banco de dados do servidor, as chaves de acesso do S3 (Amazon Simple Storage Service), os tokens da DigitalOcean e quaisquer segredos registrados no histórico de shell do root.
  4. Substitua as chaves privadas SSH armazenadas em /root/.ssh e remova as chaves públicas antigas correspondentes de todos os sistemas que confiam nelas.

A OPSSHIELD não recomenda uma redefinição completa nem a reinstalação do sistema operacional como etapa de rotina, e afirma que essa posição pode mudar conforme a investigação avança. Administradores que encontrarem outros sinais de comprometimento ou não puderem confirmar que um servidor está limpo devem solicitar ao suporte da OPSSHIELD uma análise caso a caso, que pode levar à reinstalação.

Paralelamente, a OPSSHIELD está lançando outra atualização, como medida preventiva, que remove suas chaves de acesso de suporte dos servidores cPGuard onde foram adicionadas anteriormente.

O acesso de suporte é um recurso do cPGuard que os clientes usam para permitir que a equipe da OPSSHIELD acesse um servidor para solução de problemas. Ao concedê-lo, é adicionada ao arquivo authorized_keys do root uma chave pública SSH pertencente à OPSSHIELD, segundo a documentação da empresa.

A OPSSHIELD não informou se a chave privada correspondente à sua chave de acesso de suporte foi exposta no ataque.

Arquivos deixados pelo script

A OPSSHIELD divulgou os nomes destes arquivos. A atualização remove o shell de backdoor e o diretório de coleta, de modo que a ausência deles após a atualização não comprova se o script foi executado.

  • Arquivo: cpguard-v58812-i91511.sh (o script malicioso)
  • Arquivo: /var/tmp/.cpg91511_sh (shell de backdoor)
  • Diretório: /var/tmp/.cpg91511 (onde o script reunia os arquivos)
  • Arquivo: /var/tmp/.cpg91511/loot.tgz (arquivo compactado preparado pelo script)
cPGuard Vazamento de dados Segurança cibernética