Pesquisadores encontraram um backdoor Linux furtivo que usa técnicas sofisticadas para se esconder em servidores comprometidos e roubar credenciais. Apelidado de Symbiote porque se injeta em processos existentes, a ameaça está em desenvolvimento desde pelo menos novembro de 2021 e parece ter sido usada contra o setor financeiro na América Latina. Segundo as análises realizadas, seu desenvolvimento teve como alvo sistemas financeiros da América Latina, incluindo bancos brasileiros, como Banco do Brasil e Caixa Econômica Federal.
"O Symbiote é um malware altamente evasivo", disseram pesquisadores da BlackBerry em um novo relatório . "Como o malware opera como um rootkit de nível de usuário, detectar uma infecção pode ser difícil. A telemetria de rede pode ser usada para detectar solicitações de DNS anômalas e ferramentas de segurança, como AVs e EDRs, devem ser vinculadas estaticamente para garantir que não sejam "infectadas" pelo usuário. rootkits."
Por que Symbiote é uma infecção parasitária
O malware Symbiote não é implantado como um executável, mas como um objeto compartilhado (arquivo .so), que é essencialmente carregado por programas em execução. Os invasores definem a variável de ambiente LD_PRELOAD para carregar a biblioteca maliciosa em todos os processos em execução, pois essa variável informa ao vinculador para carregar o objeto compartilhado antes de qualquer outra biblioteca legítima.
Para evitar que sua presença seja descoberta, por exemplo, na saída do comando ldd que pode ser usado para listar as dependências de um processo em execução, o malware intercepta chamadas para esse comando conectando execve e, em seguida, limpa a si mesmo na saída.
Além de se esconder, o Symbiote foi projetado para ocultar a presença de outros programas de malware que os invasores podem entregar ou arquivos que são usados para armazenar credenciais roubadas. Os pesquisadores descobriram que o malware removerá as seguintes entradas da saída quando um aplicativo for tentando acessar os processos em execução: certbotx64, certbotx86, javautils, javaserverx64, javaclientex64 e javanodex8. "Alguns dos nomes de arquivos correspondem aos nomes de arquivos usados pelo Symbiote, mas também nomes de outros arquivos para ferramentas provavelmente implantadas nas máquinas infectadas", disseram os pesquisadores.
O malware vai ainda mais longe e oculta sua atividade de rede também. Isto é conseguido de três maneiras. Primeiro, ele interceptará todas as chamadas para /proc/net/tcp conectando fopen e fopen64 e esfregará todas as conexões de rede para portas específicas que deseja ocultar da saída.
O segundo método envolve o uso do recurso estendido Berkeley Packet Filter (eBPF) do kernel. O eBPF foi abusado por malware de diferentes maneiras no passado, mas o Symbiote o usa apenas para ocultar suas conexões de rede de programas de captura de pacotes. A maneira pela qual ele consegue isso envolve bytecode escrito manualmente, o que sugere um desenvolvedor habilidoso, disseram os pesquisadores.
O terceiro método envolve a conexão de funções libpcap para conectar o tráfego UDP a nomes de domínio específicos que o malware possui em uma lista. Os domínios encontrados nas amostras analisadas representam os nomes de domínio dos principais bancos da América Latina, o que sugere que esses bancos podem ter sido os alvos e os invasores queriam misturar o tráfego caso fosse descoberto no nível da rede.
Usando os nomes de domínio, os pesquisadores conseguiram encontrar outra amostra no VirusTotal que estava usando um deles. Essa foi uma ferramenta de encapsulamento de DNS que provavelmente foi implantada pelo Symbiote.
Acesso backdoor e coleta de credenciais
O objetivo do Symbiote é fornecer acesso remoto ao sistema para invasores, ocultar ferramentas adicionais que eles possam usar e coletar credenciais dos serviços de acesso remoto ssh ou scp. As credenciais são armazenadas em arquivos de cabeçalho e são criptografadas antes de serem exfiltradas para um dos nomes de domínio usados pelos invasores.
“O acesso remoto à máquina é obtido conectando algumas funções do Linux Pluggable Authentication Module (PAM)”, disseram os pesquisadores. "Quando um serviço tenta usar o PAM para autenticar um usuário, o malware verifica a senha fornecida em relação a uma senha codificada. Se a senha fornecida for uma correspondência, a função hooked retorna uma resposta de sucesso. que o agente da ameaça se autentique na máquina com qualquer serviço que use PAM. Isso inclui serviços remotos, como SSH."
O malware também fornece um mecanismo para hackers autenticados por meio do backdoor para obter privilégios de root. Isso é configurado abusando da variável HTTP_SETTHIS quando o Symbiote é carregado pela primeira vez.
Os pesquisadores notaram uma semelhança em algumas das técnicas usadas entre o Symbiote e um malware Linux mais antigo chamado Ebury ou Windigo. No entanto, há muito pouco código compartilhado entre os dois, sugerindo que o Symbiote é uma ameaça de malware completamente nova que não foi detectada até agora. Embora as amostras vistas até agora pareçam ter como alvo instituições financeiras na América Latina, não há garantias de que alvos adicionais não existam ou que o grupo por trás dessa ameaça se limitará a visar apenas organizações dessa região.
O relatório da BlackBerry inclui vários indicadores de comprometimento que podem ser usados para detectar se o malware está presente nos sistemas, incluindo nomes de arquivos e hashes, nomes de domínio e números de porta para atividades de rede que o malware tenta ocultar.