Uma investigação sobre a invasão de uma infraestrutura hospedada na Amazon Web Services (AWS) revelou um novo rootkit para GNU/Linux, denominado LinkPro, conforme relatório da Synacktiv, empresa francesa de cibersegurança.
De acordo com o pesquisador Théo Letailleur, "esse backdoor utiliza duas funcionalidades baseadas na instalação de módulos eBPF (extended Berkeley Packet Filter), que servem tanto para ocultação quanto para ativação remota ao receber um ‘magic packet’”.
A infecção teve início a partir da exploração de um servidor Jenkins vulnerável ao CVE-2024–23897.
A partir daí, os invasores implantaram uma imagem maliciosa no Docker Hub, nomeada “kvlnt/vv” (já removida), em diversos clusters Kubernetes.
Essa imagem Docker, baseada no Kali Linux, inclui uma pasta “app” com três arquivos principais:
- start.sh: script que inicia o serviço SSH e executa os outros dois arquivos;
- link: programa open source chamado vnt, que funciona como servidor VPN e proxy, conectando-se ao endereço vnt[.]wherewego[.]top:29872. Isso permite que o atacante acesse o servidor comprometido remotamente e o utilize para alcançar outros servidores;
- app: downloader em Rust, chamado vGet, que obtém um payload VShell criptografado armazenado em um bucket S3 e se comunica com seu próprio servidor de comando e controle (C2) via conexão WebSocket no IP 56[.]155.98[.]37.
Além disso, dois outros malwares foram entregues aos nós Kubernetes: um dropper que instala outro backdoor, o vShell, e o próprio LinkPro, um rootkit desenvolvido em Golang.
O LinkPro é um malware furtivo que opera em dois modos: passivo (reverse) e ativo (forward), configuráveis pelo invasor.
No modo passivo, ele escuta comandos do servidor C2 apenas após receber um pacote TCP específico; no modo ativo, inicia comunicação diretamente com o servidor.
No modo forward, o rootkit suporta cinco protocolos de comunicação — HTTP, WebSocket, UDP, TCP e DNS — enquanto no modo reverse utiliza apenas HTTP.
O funcionamento básico do LinkPro ocorre da seguinte forma:
1. Instala o módulo eBPF “Hide”, que utiliza programas do tipo Tracepoint e Kretprobe para ocultar processos e atividades de rede.
2. Caso a instalação do “Hide” falhe ou seja desabilitada, o rootkit instala uma biblioteca compartilhada chamada “libld.so” via o arquivo /etc/ld.so.preload.
3. No modo reverse, instala o módulo eBPF “Knock”, com programas XDP (eXpress Data Path) e TC (Traffic Control), garantindo que a comunicação com o C2 seja ativada somente após o recebimento do “magic packet”.
4. Garante persistência criando um serviço no systemd.
5. Executa comandos recebidos do servidor C2.
6. Ao receber sinais de interrupção (SIGHUP, SIGINT, SIGTERM), remove os módulos eBPF e restaura o arquivo /etc/ld.so.preload à sua versão original.
Para ocultar sua presença, o LinkPro modifica o arquivo /etc/ld.so.preload para carregar a biblioteca maliciosa libld.so em todos os processos que usam bibliotecas compartilhadas, como o glibc.
“Com essa modificação, a libld.so injetada pelo LinkPro é carregada por todos os programas que dependem do /lib/ld-linux.so.1”, explicou Letailleur.
“Ao ser carregada, essa biblioteca substitui várias funções libc para alterar resultados e evitar a detecção do rootkit.”
O chamado “magic packet”, segundo a Synacktiv, é um pacote TCP com o valor da janela (window size) configurado para 54.321.
Quando detectado, o módulo Knock registra o endereço IP de origem e mantém a autorização por uma hora para que comandos possam ser enviados.
Além disso, o módulo Knock altera o cabeçalho do pacote TCP recebido, substituindo a porta de destino original pela porta onde o LinkPro está escutando (2.333), e modifica os pacotes de saída, trocando a porta de origem (2.233) pela porta original.
Essa técnica permite que o operador acesse o backdoor por qualquer porta autorizada no firewall de borda, dificultando a correlação entre logs do firewall e a atividade no host comprometido.
Os comandos que o LinkPro suporta incluem:
- Execução de /bin/bash em pseudo-terminal;
- Execução de comandos shell;
- Enumeração de arquivos e diretórios;
- Operações com arquivos (ler, escrever, deletar);
- Download de arquivos;
- Criação de túnel proxy SOCKS5.
Ainda não há informações sobre os responsáveis pelo ataque, mas suspeita-se que o objetivo seja financeiro.
“No nível do kernel, o rootkit usa programas eBPF dos tipos tracepoint e kretprobe para interceptar chamadas de sistema getdents (para ocultar arquivos) e sys_bpf (para ocultar seus próprios programas BPF).
Essa técnica exige uma configuração específica no kernel (CONFIG_BPF_KPROBE_OVERRIDE)”, detalhou a Synacktiv.
“Se essa configuração não estiver presente, o LinkPro carrega uma biblioteca maliciosa via /etc/ld.so.preload para garantir o ocultamento no espaço do usuário.”
O caso reforça a crescente sofisticação dos ataques em ambientes cloud e a importância de manter sistemas atualizados e monitorados para evitar invasões que podem passar meses sem serem detectadas.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...