Pesquisadores de segurança cibernética identificaram pacotes maliciosos publicados no repositório Packagist para PHP que se disfarçam de utilitários do framework Laravel. Na prática, esses pacotes funcionam como um canal de distribuição para um trojan de acesso remoto (RAT) capaz de operar em Windows, macOS e Linux.
Essas bibliotecas aparentemente legítimas podem ser instaladas por desenvolvedores durante a construção de aplicações Laravel. No entanto, ao serem incluídas em projetos PHP, elas acabam implantando um malware que permite controle remoto completo do sistema comprometido.
- Leia também: Segurança de aplicações web: ameaças, vulnerabilidades e como se proteger
- Leia também: Registro de DNS: guia completo com todos os tipos e como funcionam
- Leia também: Guerra cibernética: Ecossistema hacker do Irã e suas táticas de ataque
Pacotes maliciosos identificados
Os pesquisadores identificaram três pacotes principais associados à atividade maliciosa:
- nhattuanbl/lara-helper — 37 downloads
- nhattuanbl/fila-simples — 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. Contudo, ele lista “nhattuanbl/lara-helper” como dependência do Composer, o que faz com que o RAT seja instalado automaticamente durante o processo de instalação do projeto.
Apesar da descoberta, os pacotes ainda estavam disponíveis para download no registro de pacotes do PHP no momento da análise, o que aumenta o risco para desenvolvedores que não verificam cuidadosamente as dependências instaladas.
Técnicas utilizadas para ocultar o código malicioso
A investigação revelou que os pacotes lara-helper e simple-queue contém um arquivo chamado src/helper.php, que inclui o código responsável pela execução do malware.
Esse arquivo utiliza várias técnicas para dificultar a análise de segurança. Entre elas estão:
- Ofuscação de fluxo de controle, que dificulta entender a lógica do código
- Codificação de nomes de domínio e comandos, ocultando o destino das conexões
- Codificação de caminhos de arquivos e funções
- Uso de identificadores aleatórios para nomes de variáveis e funções
Essas técnicas tornam a análise estática muito mais difícil, dificultando a identificação do comportamento malicioso.

Comunicação com servidor de comando e controle (C2)
Depois de carregado, o payload estabelece comunicação com um servidor de Comando e Controle (C2) localizado em:
helper.leuleu[.]net:2096
De acordo com o pesquisador de segurança Kush Pandya, após estabelecer a conexão o malware:
- envia informações de reconhecimento do sistema
- aguarda comandos remotos enviados pelo operador
- executa instruções diretamente no sistema comprometido
Esse comportamento concede ao invasor acesso remoto completo ao host infectado.
A comunicação é realizada via TCP, utilizando a função PHP:
stream_socket_client()
Comandos suportados pelo RAT
O malware inclui diversos comandos que podem ser enviados pelo servidor C2 para controlar o sistema infectado.
Entre eles estão:
- ping — envia automaticamente um sinal de atividade a cada 60 segundos
- informações — coleta e envia dados de reconhecimento do sistema
- cmd — executa comandos do shell
- powershell — executa comandos PowerShell
- run — executa comandos de shell em segundo plano
- captura de tela — captura a tela utilizando imagegrabscreen()
- baixar — lê arquivos do disco do sistema
- upload — grava arquivos no disco e define permissões de leitura, escrita e execução para todos os usuários
- pare — encerra a conexão e finaliza a execução
Esse conjunto de comandos transforma o malware em uma ferramenta completa de administração remota para o atacante.
Execução resiliente de comandos no sistema
Para executar comandos do sistema, o RAT realiza uma verificação da configuração disable_functions do PHP.
Depois disso, ele seleciona automaticamente o primeiro método disponível entre várias funções de execução de shell, incluindo:
- popen
- proc_open
- exec
- shell_exec
- system
- passthru
Segundo Pandya, essa estratégia torna o malware resiliente a diversas configurações de segurança comuns do PHP, já que ele tenta múltiplas formas de execução até encontrar uma disponível.
Risco persiste mesmo com C2 inativo
Embora o servidor C2 esteja atualmente inativo, o risco ainda existe.
O RAT foi programado para tentar reconectar o servidor a cada 15 segundos, em um loop persistente. Caso o servidor volte a ficar ativo, os sistemas infectados poderão novamente receber comandos maliciosos.
Recomendações de segurança
Especialistas recomendam que qualquer organização ou desenvolvedor que tenha instalado esses pacotes trate o ambiente como potencialmente comprometido.
As medidas recomendadas incluem:
- Remover imediatamente os pacotes maliciosos
- Rotacionar todos os segredos e credenciais utilizados na aplicação
- Alterar chaves de API e credenciais de banco de dados
- Auditar o tráfego de saída da aplicação
- Verificar comunicações com o domínio C2 identificado
Essas ações ajudam a reduzir o risco de exploração adicional.
Pacotes adicionais publicados para ganhar credibilidade
Além dos três pacotes maliciosos, o mesmo agente publicou outras bibliotecas aparentemente legítimas:
- nhattuanbl/lara-média
- nhattuanbl/snooze
- nhattuanbl/syslog
Esses pacotes são considerados seguros e provavelmente foram publicados para construir credibilidade no ecossistema de pacotes, aumentando a confiança dos desenvolvedores antes de lançar as bibliotecas maliciosas.
Impacto para aplicações Laravel
De acordo com a Socket, qualquer aplicação Laravel que tenha instalado os pacotes lara-helper ou simple-queue está executando um RAT persistente.
Isso significa que o agente da ameaça pode:
- obter acesso remoto completo ao shell
- ler e modificar arquivos arbitrários
- coletar continuamente informações do sistema infectado
Além disso, como o malware é executado no mesmo processo da aplicação web, ele possui acesso às mesmas permissões do sistema e às mesmas variáveis de ambiente.
Isso inclui acesso a dados altamente sensíveis, como:
- credenciais de banco de dados
- chaves de API
- conteúdo do arquivo .env
- variáveis de ambiente da aplicação
Consequentemente, aplicações comprometidas podem expor informações críticas e segredos operacionais, ampliando significativamente o impacto do ataque.
Fonte: The Hacker News —https://thehackernews.com/2026/03/fake-laravel-packages-on-packagist.html