P2PInfect se espalha usando o recurso de replicação do Redis

Aproveitando-se de uma vulnerabilidade, o malware P2PInfect se espalha usando o recurso de replicação do Redis.

Os agentes de ameaças estão mirando ativamente em instâncias expostas do armazenamento de dados de código aberto SSH e Redis Redis com um worm autorreplicante ponto a ponto com versões para Windows e Linux que os autores do malware chamaram de P2Pinfect.

P2PInfect se espalha usando o recurso de replicação do Redis

P2PInfect se espalha usando o recurso de replicação do Redis

Escrito em Rust, o malware conta com pelo menos dois métodos para se estabelecer: uma vulnerabilidade crítica divulgada e corrigida no ano passado e um recurso que permite replicar o banco de dados principal para alta disponibilidade e combater cenários de failover.

O P2PInfect foi inicialmente documentado por pesquisadores da Unit 42 da Palo Alto Networks, que descobriram que ele explorou a vulnerabilidade de gravidade máxima rastreada como CVE-2022-0543.

O problema de segurança é uma vulnerabilidade de escape de sandbox LUA específica do Debian devido a um problema de empacotamento que permite a execução remota de código, com uma pontuação de gravidade crítica de 10 em 10.

Depois de comprometer uma instância vulnerável do Redis com uma carga inicial, o P2PInfect baixa novos scripts específicos do sistema operacional e binários maliciosos e adiciona o servidor à sua lista de sistemas infectados.

O malware então adiciona o servidor infectado à sua rede ponto a ponto para que futuros servidores Redis comprometidos possam acessar o pacote de cargas maliciosas.

Pesquisadores da empresa forense de nuvem e resposta a incidentes Cado Security também encontraram em seu honeypot uma amostra P2PInfect, que incluía binários Portable Executable (PE) e ELF, o que indica compatibilidade entre plataformas entre Windows e Linux.

A amostra que eles analisaram também usou uma rota de acesso inicial diferente, explorando o recurso de replicação Redis que permite a criação de réplicas exatas da instância principal/líder do Redis.

“Um padrão de ataque comum contra o Redis em ambientes de nuvem é explorar esse recurso usando uma instância maliciosa para permitir a replicação” – Cado Security

Um ator de ameaça pode conseguir isso conectando-se a uma instância exposta do Redis e emitindo um comando específico e documentado; o método data desde 2018 e tem sido usado em várias campanhas.

P2PInfect se espalha usando o recurso de replicação do Redis – P2PInfect assumindo o controle por meio do recurso de replicação do Redis fonte: Cado Security

De acordo com a Cado Security, a carga primária é um binário ELF “escrito em uma combinação de C e Rust” que, em última análise, executa o componente Rust da carga útil.

Após a execução, o binário atualiza a configuração SSH do host e modifica a configuração do servidor OpenSSH “para um estado quase padrão” que permite ao invasor conectar-se ao servidor por meio do protocolo Secure Shell (SSH) e habilita a autenticação por senha.

A Cado Security diz que o agente da ameaça reinicia o serviço SSH e adiciona uma chave SSH à lista de chaves autorizadas para o usuário atual.

Na próxima etapa, o invasor usa um script bash para modificar os nomes dos binários wget e curl, verifica a presença de utilitários específicos e os instala, caso não estejam disponíveis.

A lista abaixo mostra algumas das ações resultantes da execução do script:

  • Renomeia os binários wget e curl para wgbtx e clbtx, respectivamente. Provavelmente, isso é uma tentativa de impedir que qualquer respondente de incidente os use para baixar as ferramentas forenses, além de impedir que as soluções de EDR detectem o uso do comando. Este é um TTP comum para agentes de ameaças na nuvem.
  • Verifica o comando iptables e o instala se não for encontrado. Ele possui vários comandos específicos para gerenciadores de pacotes individuais, portanto, pode ser instalado independentemente da distribuição Linux em uso.
  • Verifica o comando awk e o instala se não for encontrado. Como o comando anterior, ele tentará usar vários gerenciadores de pacotes.
  • Verifica o comando netstat e o instala se não for encontrado. Como os comandos anteriores, ele tentará usar vários gerenciadores de pacotes.
  • Usa netstat e awk para coletar uma lista de todos os IPs que estão atualmente conectados ao servidor Redis em execução no host de destino.
  • Adiciona uma regra de iptables para permitir o tráfego de cada um desses IPs para o servidor Redis.
  • Adiciona uma regra iptables para negar todo o outro tráfego para o servidor Redis.
  • Adiciona uma regra de iptables para permitir todo o tráfego para uma porta escolhida aleatoriamente na qual a carga principal escuta para comunicações de botnet.

Os pesquisadores explicam que o uso do iptables pode ser para impedir que outros invasores comprometam o servidor Redis vulnerável. Eles acrescentam que o malware também estabelece persistência no host comprometido.

Seguindo esta etapa, o servidor infectado recebe pelo menos um binário que pode escanear através de /proc e abrir a estatística de cada processo ali. Ele também pode monitorar o diretório /proc em busca de alterações.

Além disso, o binário pode atualizar o binário principal do malware e executá-lo se sua assinatura não corresponder à extraída do botnet.

Os pesquisadores dizem que o P2PInfect trata cada comprometimento

Deixe um comentário

Sair da versão mobile