FontOnLake: nova família de malware direcionada a sistemas Linux

Pesquisadores da ESET descobrem o FontOnLake, uma nova família de malware que usa ferramentas projetadas e personalizadas para atacar sistemas operacionais Linux.

Pesquisadores da ESET descobriram uma família de malware até então não documentada que usa módulos personalizados e projetados para atacar sistemas Linux. Os módulos utilizados por essa família de malware, que batizamos de FontOnLake, estão em constante desenvolvimento e disponibilizam acesso remoto aos operadores, permitem a coleta de dados de acesso e servem como um servidor proxy. Nesta publicação, resumimos algumas descobertas de nossos pesquisadores que podem ser vistas de forma detalhada em nosso white paper (em inglês) sobre o assunto.

Para coletar dados (por exemplo, credenciais ssh) ou realizar outras atividades mal-intencionadas, essa família de malware usa binários legítimos modificados que são ajustados para carregar mais componentes. Na verdade, para esconder sua existência, a presença do FontOnLake é sempre acompanhada por um rootkit. Esses binários como cat, kill ou sshd são comumente usados em sistemas Linux e também podem servir como um mecanismo de persistência.

A natureza camaleônica das ferramentas do FontOnLake em combinação com um design avançado e baixa prevalência sugere que elas são utilizadas em ataques direcionados.

Acreditamos que os operadores do FontOnLake sejam particularmente cautelosos, já que quase todas as amostras analisadas usam servidores C&C exclusivos com diversas portas fora do padrão. Os operadores usam principalmente C/C++ e várias bibliotecas de terceiros, como Boost, Poco, ou Protobuf. Nenhum dos servidores C&C utilizados nas amostras carregadas para o VirusTotal estavam ativos no momento em que este post foi escrito, indicando que eles podem ter sido desativados devido ao upload.

Componentes documentados do FontOnLake

Os componentes atualmente documentados do FontOnLake podem ser divididos em três grupos que interagem entre si:

  • Aplicativos trojanizados: binários legítimos modificados que são utilizados para carregar mais componentes, coletar dados ou realizar outras atividades criminosas.
  • Backdoors: componentes em modo usuário que funcionam como o principal ponto de comunicação para os operadores.
  • Rootkits: componentes do modo kernel que se escondem e disfarçam sua presença, ajudam com atualizações ou fornecem backdoors de backup.

Aplicativos trojanizados

Descobrimos vários aplicativos trojanizados que são usados para carregar módulos personalizados do backdoor ou rootkit. Além disso, eles também podem coletar dados confidenciais. Provavelmente, os patches do aplicativo são aplicados no nível do código-fonte, indicando que os aplicativos devem ter sido compilados e substituídos pelos originais.

Todos os arquivos trojanizados são utilitários padrão do Linux e cada um serve como um método de persistência porque geralmente são executados na inicialização do sistema. Não se sabe como esses aplicativos trojanizados atingem inicialmente suas vítimas.

A comunicação de um aplicativo trojanizado com seu rootkit é realizada por meio de um arquivo virtual, que é criado e gerenciado pelo rootkit. Como podemos ver na Imagem 1, os dados podem ser lidos/gravados de/para o arquivo virtual e exportados com seu componente de backdoor conforme solicitado pelo operador.

Backdoors

Os três backdoors que descobrimos são escritos em C++ e todos usam, embora de forma ligeiramente diferente, a mesma biblioteca Asio do Boost para redes assíncronas e entradas/saídas de baixo nível. Eles também usam Poco, Protobuf e funções do STL como ponteiros inteligentes. O que causa um certo estranhamento no malware é o fato de que esses backdoors também apresentam vários padrões de design de software.

A funcionalidade que todos eles têm em comum é que cada um exfiltra as credenciais de acesso coletadas e seu histórico de comandos bash para o próprio servidor C&C.

Tendo em conta a sobreposição de funções, esses backdoors provavelmente não estão sendo usados juntos em um sistema comprometido.

Além disso, todos os backdoors usam comandos de heartbeat personalizados que são enviados e recebidos periodicamente para manter a conexão ativa.

A principal funcionalidade desses backdoors consiste nos seguintes métodos:

  • Exfiltrar dados coletados;
  • Criar uma ponte entre um servidor ssh personalizado que roda localmente e seu servidor C&C;
  • Manipular arquivos (por exemplo, fazer upload/download, criar/excluir, listar diretórios, modificar atributos, etc.);
  • Agir como um proxy;
  • Executar comandos shell arbitrários e scripts Python.

Rootkit

Descobrimos duas versões diferentes de rootkit que são usadas uma de cada vez, em cada um dos backdoors. Existem diferenças significativas entre esses dois rootkits. No entanto, alguns aspectos deles se sobrepõem. Embora as versões do rootkit sejam baseadas no projeto de código-aberto suterusu, elas contêm várias de suas técnicas exclusivas e personalizadas.

A funcionalidade combinada dessas duas versões do rootkit inclui:

  • Esconder processos;
  • Esconder arquivos;
  • Esconder a si mesmo;
  • Esconder as conexões de rede;
  • Exposição de credenciais coletadas para o backdoor;
  • Encaminhamento de portas;
  • Recepção de pacotes mágicos (pacotes mágicos são pacotes especialmente projetados que podem instruir o rootkit a baixar e executar outro backdoor).

Depois da nossa descoberta e enquanto finalizávamos nosso white paper sobre esse assunto, fornecedores como Tencent Security Response Center, Avast e Lacework Labs publicaram pesquisas sobre o que aparentemente deve ser o mesmo malware.

Todos os componentes conhecidos do FontOnLake são detectados pelos produtos ESET como Linux/FontOnLake. As empresas ou pessoas que desejam proteger seus dispositivos ou servidores Linux contra essa ameaça devem usar um produto de segurança com várias camadas e uma versão atualizada de sua distribuição Linux. Alguns dos exemplos que analisamos foram criados especificamente para CentOS e Debian.

Anteriormente, descrevemos uma operação que compartilhava certos padrões de comportamento com o FontOnLake. No entanto, sua escala e impacto foram muito maiores. Batizamos essa operação de Windigo. Caso queira saber mais sobre essa operação, acesse este whitepaper.

Outros detalhes técnicos sobre o FontOnLake podem ser encontrados em nosso whitepaper.

Indicadores de Comprometimento (IoC)

Amostras

SHA-1 Description Detection name
1F52DB8E3FC3040C017928F5FFD99D9FA4757BF8 Trojanized cat Linux/FontOnLake
771340752985DD8E84CF3843C9843EF7A76A39E7 Trojanized kill
27E868C0505144F0708170DF701D7C1AE8E1FAEA Trojanized sftp
45E94ABEDAD8C0044A43FF6D72A5C44C6ABD9378 Trojanized sshd
1829B0E34807765F2B254EA5514D7BB587AECA3F Custom sshd
8D6ACA824D1A717AE908669E356E2D4BB6F857B0 Custom sshd
38B09D690FAFE81E964CBD45EC7CF20DCB296B4D Backdoor 1 variant 1
56556A53741111C04853A5E84744807EEADFF63A Backdoor 1 variant 2
FE26CB98AA1416A8B1F6CED4AC1B5400517257B2 Backdoor 1 variant 3
D4E0E38EC69CBB71475D8A22EDB428C3E955A5EA Backdoor 1 variant 4
204046B3279B487863738DDB17CBB6718AF2A83A Backdoor 2 variant 1
9C803D1E39F335F213F367A84D3DF6150E5FE172 Backdoor 2 variant 2
BFCC4E6628B63C92BC46219937EA7582EA6FBB41 Backdoor 2 variant 3
515CFB5CB760D3A1DA31E9F906EA7F84F17C5136 Backdoor 3 variant 4
A9ED0837E3AF698906B229CA28B988010BCD5DC1 Backdoor 3 variant 5
56CB85675FE7A7896F0AA5365FF391AC376D9953 Rootkit 1 version 1
72C9C5CE50A38D0A2B9CEF6ADEAB1008BFF12496 Rootkit 1 version 2
B439A503D68AD7164E0F32B03243A593312040F8 Rootkit 1 version 3
E7BF0A35C2CD79A658615E312D35BBCFF9782672 Rootkit 1 version 4
56580E7BA6BF26D878C538985A6DC62CA094CD04 Rootkit 1version 5
49D4E5FCD3A3018A88F329AE47EF4C87C6A2D27A Rootkit 1 version 5
74D44C2949DA7D5164ADEC78801733680DA8C110 Rootkit 2 version 1
74D755E8566340A752B1DB603EF468253ADAB6BD Rootkit 2 version 2
E20F87497023E3454B5B1A22FE6C5A5501EAE2CB Rootkit 2 version 3
6F43C598CD9E63F550FF4E6EF51500E47D0211F3 inject.so

C&C

Amostra do:

47.107.60[.]212
47.112.197[.]119
156.238.111[.]174
172.96.231[.]69
hm2.yrnykx[.]com
ywbgrcrupasdiqxknwgceatlnbvmezti[.]com
yhgrffndvzbtoilmundkmvbaxrjtqsew[.]com
wcmbqxzeuopnvyfmhkstaretfciywdrl[.]name
ruciplbrxwjscyhtapvlfskoqqgnxevw[.]name
pdjwebrfgdyzljmwtxcoyomapxtzchvn[.]com
nfcomizsdseqiomzqrxwvtprxbljkpgd[.]name
hkxpqdtgsucylodaejmzmtnkpfvojabe[.]com
etzndtcvqvyxajpcgwkzsoweaubilflh[.]com
esnoptdkkiirzewlpgmccbwuynvxjumf[.]name
ekubhtlgnjndrmjbsqitdvvewcgzpacy[.]name

Da varredura da Internet:

27.102.130[.]63

Nomes de arquivos

/lib/modules/%VARIABLE%/kernel/drivers/input/misc/ati_remote3.ko
/etc/sysconfig/modules/ati_remote3.modules
/tmp/.tmp_%RANDOM%

Nomes de arquivos virtuais

/proc/.dot3
/proc/.inl

 

https://www.welivesecurity.com/br/2021/10/13/fontonlake-nova-familia-de-malware-direcionada-a-sistemas-linux/