Pesquisadores em cibersegurança identificaram pacotes maliciosos no repositório Packagist, voltados para PHP, que se apresentam como utilitários para Laravel.
Esses pacotes funcionam como uma porta para um remote access trojan (RAT) multiplataforma, capaz de operar em sistemas Windows, macOS e Linux.
Os nomes dos pacotes suspeitos são:
- nhattuanbl/lara-helper (37 downloads)
- nhattuanbl/simple-queue (29 downloads)
- nhattuanbl/lara-swagger (49 downloads)
Segundo a empresa de segurança Socket, o pacote "nhattuanbl/lara-swagger" não contém código malicioso diretamente, mas inclui "nhattuanbl/lara-helper" como dependência no Composer, que, por sua vez, instala o RAT.
Todos esses pacotes seguem disponíveis para download no registro oficial do PHP.
Os pacotes lara-helper e simple-queue têm em comum um arquivo PHP chamado "src/helper.php", onde o malware utiliza diversas técnicas para dificultar análises estáticas.
Entre essas técnicas estão a obfuscação do fluxo de controle, o uso de codificação para nomes de domínio, comandos e caminhos de arquivos, além da randomização dos identificadores de variáveis e funções.
Conforme explica o pesquisador Kush Pandya, ao ser carregado, o payload conecta-se a um servidor C2 (command and control) no endereço helper.leuleu[.]net:2096, envia informações do sistema e aguarda novos comandos, concedendo ao invasor controle remoto total sobre a máquina infectada.
A comunicação ocorre via TCP, utilizando a função stream_socket_client() do PHP, com suporte aos seguintes comandos:
- ping: envia heartbeat automático a cada 60 segundos
- info: envia dados de reconhecimento do sistema para o servidor C2
- cmd: executa um comando shell
- powershell: executa um comando PowerShell
- run: executa um comando shell em segundo plano
- screenshot: captura a tela com imagegrabscreen()
- download: lê um arquivo do disco
- upload: grava um arquivo no disco com permissões totais para todos os usuários
- stop: encerra a conexão socket e finaliza a execução
Para executar comandos shell, o RAT verifica a diretiva disable_functions do PHP e escolhe o primeiro método disponível entre popen, proc_open, exec, shell_exec, system e passthru.
Essa flexibilidade torna o malware resistente às configurações comuns de hardening no PHP.
Embora o servidor C2 esteja temporariamente offline, o RAT tenta reconectar a cada 15 segundos em um loop persistente, configurando uma ameaça contínua.
Usuários que instalaram esses pacotes devem considerar seus sistemas comprometidos, remover imediatamente os componentes maliciosos, rotacionar todas as credenciais da aplicação e monitorar o tráfego de saída em busca de comunicação com o servidor C2.
Além dos três pacotes maliciosos, o atacante também publicou outras três bibliotecas — "nhattuanbl/lara-media", "nhattuanbl/snooze" e "nhattuanbl/syslog" — aparentemente legítimas.
A estratégia parece ser ganhar credibilidade para enganar usuários e induzi-los a instalar os pacotes infectados.
Conforme alerta a Socket, qualquer aplicação Laravel que tenha instalado lara-helper ou simple-queue está rodando um RAT persistente.
O invasor tem acesso remoto completo ao shell, podendo ler e gravar arquivos arbitrários, além de receber informações contínuas sobre o sistema.
O malware é ativado durante o boot da aplicação (via service provider) ou no autoload de classes (através do simple-queue), operando no mesmo processo da aplicação web.
Isso garante que ele detenha as mesmas permissões do sistema de arquivos e variáveis de ambiente, incluindo credenciais de banco de dados, chaves de API e o conteúdo do arquivo .env, aumentando o impacto da ameaça.
Publicidade
Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...