A Trend Micro detectou recentemente amostras de uma família de rootkit, nomeada Umbreon (compartilhando o mesmo nome do Pokémon), que tem como alvo sistemas Linux que executam processadores ARM e Intel.

Segundo a provedora de ferramentas de segurança, a alusão ao desenho animado se deve a uma característica da ameaça em se esconder. Comentários em fóruns e canais de IRC deixados por diversos usuários afirmam que o ELF_UMBREON é muito difícil de ser detectado.

Uma pesquisa detalhada demonstra como ele tenta passar desapercebido dentro de um ambiente Linux. Segundo a companhia, o rootkit é instalado manualmente por um atacante ao comprometer remotamente um servidor, por exemplo.

Os rootkits são ameaças persistentes com a proposta de serem difíceis de detectar/encontrar. O seu principal objetivo é se manter (e manter outras ameaças) desapercebidas e totalmente escondidas dos administradores, analistas, usuários e também de ferramentas de escaneamento, de investigação e do sistema.

A ameça pode também abrir uma backdoor para usar um servidor C&C e fornecer ao atacante formas de controlar e espionar a máquina afetada. Quanto menor for o nível (ring level) em que uma parte do código for executado, mais difícil detectar e mitigar a ameaça.

De acordo com a Trend Micro, no caso do Umbreon que é um rootkit ring 3 (ou rootkit de modo usuário), por exemplo, é possível “falsificar” funções de bibliotecas centrais que executam operações importantes em um sistema, tais como salvar/ler arquivos, criação de processos ou o envio de pacotes através da rede.

Autenticação da backdoor

Durante a instalação, o malware cria um usuário Linux válido que o atacante pode usar com uma backdoor no sistema afetado. Esta conta de usuário pode ser acessada por meio de qualquer método de autenticação suportado pelo PAM do Linux, incluindo o SSH.

Esse usuário tem um GID (Group ID) especial que o rootkit confere para ver se o atacante está tentando acessar o sistema e assim liberar o acesso. Não é possível ver este usuário listado em arquivos como /etc/passwd por que as funções da libc são “hookadas” (falsificadas) pelo Umbreon.

Os hackers também se inspiraram em um outro Pokémon - dessa vez no Espeon - para nomear esta backdoor. Com base na libpcap e escrita em C, esta backdoor é instruída a fazer uma conexão reversa, a fim de passar desapercebida por firewalls, caso receba uma sequência específica de pacotes TCP na rede.

Instruções para remoção

Apesar do Umbreon ser um rootkit ring 3 (nível de usuário), a Trend Micro não aconselha que a remoção do malware seja feita pelo usuário: isso pode trazer um dano irreparável ao sistema e colocá-lo em um estado irrecuperável.

Nesse caso, o aconselhável é contar com soluções específicas que colaborem especificamente para a remoção de rootkits em Linux.