Novo botnet “Goldoon” direcionado a dispositivos D-Link

Em abril, o FortiGuard Labs observou um novo botnet visando uma vulnerabilidade D-Link de quase uma década atrás, CVE-2015-2051.

Plataformas afetadas: Roteador D-Link DIR-645 com fio/sem fio Rev. Ax com firmware 1.04b12 e anterior
Usuários afetados: Qualquer organização
Impacto: Atacantes remotos ganham controle dos sistemas vulneráveis
​​Nível de gravidade: Alto

Esta vulnerabilidade permite que invasores remotos executem comandos arbitrários por meio de uma ação GetDeviceSettings na interface HNAP. Como resultado, um invasor pode criar uma solicitação HTTP elaborada com um comando malicioso incorporado no cabeçalho.

Nossa assinatura IPS capturou tentativas de explorar a vulnerabilidade CVE-2015-2051 para propagar um novo botnet que chamamos de “Goldoon”. A Figura 1 mostra o pacote de ataque. Se um dispositivo visado for comprometido, os invasores poderão obter controle total, permitindo-lhes extrair informações do sistema, estabelecer comunicação com um servidor C2 e, em seguida, usar esses dispositivos para lançar ataques adicionais, como negação de serviço distribuída (DDoS). Nossos dados de telemetria também indicam que a atividade dessa botnet aumentou em abril, quase dobrando a frequência normal.

Neste artigo, forneceremos insights detalhados sobre a propagação e as ações da botnet Goldoon.

Figura 1: carga útil CVE-2015-2051

Figura 1: carga útil CVE-2015-2051

Figura 2: Telemetria de assinatura IPS

Figura 2: Telemetria de assinatura IPS

Conta-gotas

Os invasores inicialmente exploram o CVE-2015-2051 para baixar um arquivo “dropper” de “hxxp://94[.]228[.]168[.]60:8080”. O script é programado para baixar, executar e limpar automaticamente arquivos potencialmente maliciosos em várias arquiteturas de sistema Linux, incluindo aarch64, arm, i686, m68k, mips64, mipsel, powerpc, s390x, sparc64, x86-64, sh4, riscv64, DEC Alfa e PA-RISC. Cada arquivo baixado, denominado “goldoon”, é executado imediatamente após seu download e ajuste de permissão. Após a execução, o script remove o arquivo executado e depois se exclui para apagar qualquer vestígio de sua atividade, aumentando assim sua furtividade.

Figura 3: Arquivo de script “dropper”

Figura 3: Arquivo de script “dropper”

Baixador

A função principal do “i686-linux-gnu” baixado do dropper é obter o arquivo botnet. Ele primeiro emprega a chave XOR, “YesItsAnAntiHoneypotBaby”, para descriptografar as strings específicas “linux” e “i686-linux-gnu”. Após a decodificação, ele os anexa a “/bins” para construir o Uniform Resource Identifier (URI) completo. Ele usa um cabeçalho fixo, “User-Agent: FBI-Agent (Checking You)”, para obter a carga útil final.

Figura 4: Função XOR e chave para decodificação de URI

Figura 4: Função XOR e chave para decodificação de URI

Figura 5: Cabeçalho codificado

Figura 5: Cabeçalho codificado

Figura 6: Captura de pacotes para download do Goldoon

Figura 6: Captura de pacotes para download do Goldoon

Qualquer tentativa de abrir o URI de destino usando um navegador da Web levará à mensagem de erro mostrada na Figura 7.

Figura 7: Mensagem de erro

Figura 7: Mensagem de erro

Por fim, ele percorre um conjunto de caminhos, modificando cada arquivo no qual pode gravar e, em seguida, excluindo esses arquivos após a modificação. Este é outro mecanismo de limpeza para encobrir seus rastros em um sistema comprometido.

Figura 8: Apagar traço

Figura 8: Apagar traço

Goldoon

Ao analisar o malware, descobrimos que ele apresenta os seguintes comportamentos:

  • Inicializa argumentos necessários
  • Define a execução automática para persistir no dispositivo da vítima
  • Estabelece uma conexão persistente com seu servidor de Comando e Controle (também conhecido como C2)
  • Aguarda comandos do servidor C2 para iniciar comportamentos relacionados

Goldoon primeiro inicializa alguns argumentos necessários para estabelecer uma conexão. Por exemplo, ele usa “WolfSSL” para criptografia de tráfego e define o servidor DNS do Google (ou seja, “8.8.8.8”, “8.8.4.4”) como um resolvedor DNS. Isso permite que o malware realize seu ataque.

Figura 9: Inicializar servidor DNS

Figura 9: Inicializar servidor DNS

Métodos de execução automática

Existem dez métodos diferentes de execução automática, cada um deles visando executar malware enquanto o computador da vítima está sendo inicializado. Podemos classificá-los nos seguintes tipos: Boot Execution, Daemon e Logon Execution.

O malware pode ser executado por meio da inicialização do Linux, inicializando arquivos ou aplicativos, como “/etc/rc.local”, “crontab” etc.

Figura 10: Execução de inicialização com Crontab

Figura 10: Execução de inicialização com Crontab

Caso contrário, ele pode ser criado como um daemon chamado “goldoon.server” e posteriormente permitir-se persistir no computador da vítima.

Figura 11: Daemon com o nome "goldoon.server"

Figura 11: Daemon com o nome “goldoon.server”

Além disso, o malware também pode ser executado automaticamente assim que a vítima fizer login no dispositivo comprometido.

Tipo de execução automáticaMétodo de execução automática
Execução de inicialização/etc/rc.local
/etc/init.d/startup_script
/etc/init.d/S99startup
crontab
/etc/perfil
Demônio/etc/systemd/system/goldoon.service
/etc/inittab
Execução de logon~/.bashrc
~/.config/autostart/goldoon.desktop
/etc/xdg/autostart/goldoon.desktop

Tabela 1: Método de execução automática

Conexão e comportamento C2

O malware Goldoon tenta continuamente se conectar ao seu servidor C2 até que uma conexão seja estabelecida. Ele também registra informações sobre o sistema de destino, como nome de usuário, etc.

Figura 12: Estágio de Conexão C2

Figura 12: Estágio de Conexão C2

Figura 13: Obtenha informações do sistema da vítima

Figura 13: Obtenha informações do sistema da vítima

Depois de concluído, o malware Goldoon recebe pacotes do servidor C2. Eles contêm comandos para ações de acompanhamento.

Figura 14: Leitura e Tratamento de Pacotes

Figura 14: Leitura e Tratamento de Pacotes

O pacote possui sete casos que são acionados pelo servidor C2. Dois deles têm propósitos obviamente maliciosos. Um executa comandos através de “/bin/bash -c” no host da vítima e o outro desencadeia diferentes ataques DoS.

Figura 15: Execução de Comandos

Figura 15: Execução de Comandos

Métodos de ataque

De acordo com a nossa análise, este malware contém surpreendentes 27 métodos diferentes relacionados a vários ataques.

ProtocoloMétodo de Ataque
ICMPInundação ICMP
TCPInundação de TCP, ataque de XMAS, etc.
UDPInundação UDP
DNSInundação de DNS
HTTPIgnorar HTTP, inundação de HTTP, etc.
OutroAtaque DDoS do Minecraft

Tabela 2: Métodos de Ataque

Tomemos como exemplo um ataque de inundação TCP SYN. O malware primeiro coleta informações sobre o alvo, como IP e porta, e até verifica se o IP alvo é IPv6.

Figura 16: Argumentos de ataque de inundação TCP SYN

Figura 16: Argumentos de ataque de inundação TCP SYN

Goldoon pode lançar ataques DoS através de protocolos comuns, incluindo o jogo Minecraft. O malware usa vários pacotes para lançar um ataque DoS, especialmente para ataques através de TCP, que inclui mais de dez tipos de pacotes.

Figura 17: Comandos para Métodos de Ataque

Figura 17: Comandos para Métodos de Ataque

Como alguns desses métodos estão vazios, como “http_exploit”, “http_xflow”, “http_pps” e “http_cps”, deduzimos que o invasor pode ter um desenvolvimento contínuo do malware.

Conclusão

Embora CVE-2015-2051 não seja uma vulnerabilidade nova e apresente baixa complexidade de ataque, ela tem um impacto crítico na segurança que pode levar à execução remota de código. Depois que os invasores explorarem essa vulnerabilidade com sucesso, eles poderão incorporar dispositivos comprometidos em sua botnet para lançar novos ataques. O FortiGuard Labs identificou um desses novos botnets, “Goldoon”, que está explorando essa vulnerabilidade, lembrando-nos que os botnets continuam a evoluir e a explorar tantos dispositivos quanto possível. Recomendamos fortemente a aplicação de patches e atualizações sempre que possível devido ao desenvolvimento contínuo e à introdução de novos botnets.

COIs

C2

94[.]228[.]168[.]60

arquivos

66f21251d7f8c58316f149fec104723beb979a1215ad4e788d83f0ee6fd34696
712d9abe8fbdff71642a4d377ef920d66338d73388bfee542f657f2e916e219c
d7367d41d19baa4f1022f8eb47f7ff1e13f583265c7c26ab96d5f716fa0d61ee
fdf6dae772f7003d0b7cdc55e047434dbd089e0dc7664a3fae8ccfd9d10ece8c
aa9e6006bce7d0b4554165dba76e67c4a44d98090c9e6ac9f3dca726f6e9adbf
fc44018b7432d9e6a1e98f723b0402101fa6e7483d098b10133aac142c0a4a0b
e7b78f16d0dfc91b4c7e8fd50fc31eba1eb22ec7030af9bf7c551b6019c79333
0e6eb17664943756cab434af5d94fcd341f154cb36fc6f1ef5eb5cfdce68975f
9af8720766c5f3978718c026c2263801b08634443c93bd67022c56c6ef531ef3
df71219ba6f5835309479b6e3eaca73b187f509b915420656bfe9a9cc32596c2
48130a7c09a5c92e15b3fc0d2e1eb655e0bd8f759e01ba849f7734e32dbc2652
8eb9c1eaecd0dcdd242e1bc8c62a1052915b627abe2de8ce147635fb7da3bfcc
b050a1ff0d205f392195179233493ff5b6f44adc93fe0dba1f78c4fe90ebcc46
ffd2d3888b6b1289e380fa040247db6a4fbd2555db3e01fadd2fe41a0fa2debc
88cea61218bdeea94537b74c67873e75b8ada6d050a30d311569c3118d161c46
115e15fbee077a9e126cc0eb349445df34cc9404245520c702fadc5f75b6f859
b10e47db989e29ace6c23ed15e29f313993f95e5e615711060881dfa84618071
037331ab84a841b9d3cfb6f8797c1695e2dc0a2cdcc3f8f3c794dfaa50bcf0df
5631980fab33525f4de1b47be606cd518403f54fa71b81186f02dbf7e9ed0004
246142a5e3f3d3f84d8b38f98ff6897b03628e06e31016b8fafc9eb8c2b6201d
3123a458a6346fd14c5bd7d41cda6c9c9bdabc786366a9ab3d5e7c00132ff835
45bf2c9c6628d87a3cb85ee78ae3e92a09949185e6da11c41e2df04a53bb1274
c81cfe4d3b98d0b28d3c3e7812beda005279bc6c67821b27571240eba440fa49

Por Cara Lin e Vincent Li