A equipe de Pesquisa em Ameaças Futuras (FTR) da Trend Micro detectou recentemente amostras de uma família de rootkit nomeada Umbreon (compartilhando o mesmo nome do Pokémon).
O rootkit amplia seu alcance para sistemas Linux que executam processadores ARM e Intel. Segundo a Trend Micro, a alusão ao Pokémon se deve a uma característica do Umbreon de se esconder na escuridão da noite, o que também lembra uma característica apropriada para um rootkit, no contexto de sua estratégia para não ser detectado. A Trend Micro detectou o Umbreon como parte da família ELF_UMBREON.
Os comentários em fóruns e canais de IRC por diversos usuários envolvidos afirmam que o rootkit é muito difícil de detectar e a pesquisa detalhada feita pela Trend Micro demonstra como ele tenta passar desapercebido dentro de um ambiente Linux.
O Umbreon é instalado manualmente por um atacante ao comprometer remotamente um servidor Linux, por exemplo.
O que é um rootkit ring 3?
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. O rootkit 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 Umbreon 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. A figura abaixo mostra a tela de boas-vindas de quando a conta de backdoor é acessada via SSH:
Componente Espeon da Backdoor
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.