A crescente ameaça de malware escondida atrás de serviços em nuvem

As ameaças à segurança cibernética estão cada vez mais alavancando serviços de nuvem para armazenar, distribuir e estabelecer servidores de comando e controle (C2), como VCRUMS armazenados na AWS ou SYK Crypter distribuídos via DriveHQ.

Por Cara Lin e Vincent Li | 25 de junho de 2024

Plataformas afetadas: Distribuições Linux
Usuários afetados: Qualquer organização
Impacto: Atacantes remotos ganham controle dos sistemas vulneráveis
​​Nível de gravidade: Alto

Essa mudança de estratégia apresenta desafios significativos para detecção e prevenção, pois os serviços de nuvem fornecem escalabilidade, anonimato e resiliência que os métodos tradicionais de hospedagem não têm.

No mês passado, o FortiGuard Labs tem monitorado botnets que adotaram essa estratégia, abusando de serviços de nuvem para aprimorar suas capacidades maliciosas. Essas botnets, como UNSTABLE e Condi, foram observadas alavancando operadores de serviços de computação e armazenamento em nuvem para distribuir cargas úteis de malware e atualizações para uma ampla gama de dispositivos. Usar servidores em nuvem para operações C2 garante comunicação persistente com dispositivos comprometidos, tornando mais difícil para os defensores interromperem um ataque. Também observamos um agente de ameaça explorando múltiplas vulnerabilidades para atingir servidores web JAWS, roteadores domésticos Dasan GPON, roteadores Huawei HG532, TP-Link Archer AX21 e Ivanti Connect Secure para amplificar seus ataques. 

Diagrama de fluxo de ataque das botnets monitoradas. Hackers registram-se em serviços de nuvem, carregam malwares, exploram dispositivos por meio de vulnerabilidades existentes para baixar scripts ou malwares e, então, assumem o comando e o controle.

Figura 1: Fluxo de ataque

Neste artigo, detalharemos o método de ataque inicial desse agente de ameaça e exploraremos mais detalhadamente as botnets utilizadas.

Botnet INSTÁVEL

O acesso inicial do Botnet UNSTABLE tem como alvo a vulnerabilidade JAWS Webserver RCE, CVE-2016-20016, e recupera o script do downloader “jaws” de 45[.]128[.]232[.]15.

O pacote de ataque de botnet instável

Figura 2: Pacote de ataque

O script do downloader mandíbulas

Figura 3: Script do Downloader “jaws”

Inclui vários arquivos binários para 13 arquiteturas executadas usando o parâmetro “jaws.exploit”. O Botnet UNSTABLE é uma variante do Mirai que usa XOR para codificar sua configuração. Ele tem três módulos principais: exploração, scanner e ataque DDoS. O módulo de exploração tem como alvo três vulnerabilidades: CVE-2016-20016, CVE-2018-10561/10562 e CVE-2017-17215. 

O módulo de exploração

Figura 4: Módulo de exploração

O módulo do scanner inclui uma lista codificada de nomes de usuários e senhas que ele usa para varredura de força bruta de outros endpoints na rede.

Módulo de scanner e nome de usuário/senha codificados
raizZte521swsbzkgn
taZz@23495859rebocadorjuantech
indo emtelnetpassar
chave solooelinux123senha
administradortl789svgodie
padrãoGM8182t0talc0ntr0l4!
do utilizadorcaçar5759Zhongxing
convidadotelecomadminzlxx.
telnetadmintw8ecasazsun1188
1111h3cxmhdipc
12345nmgx_wapiaklv123
123456privadooi3518
54321abc1237ujMko0vizxv
88888888RAIZ5007ujMko0admin
26/08/2008ahetzip8caixa de sonhos
666666ankosistema
888888subiriwkb
1001queixoliquidificadorrealtek
xc3511gato102900000000
vizxvmude-me12341234
5 para cimaiDiretohuigu309
jvbzdinflexãojanelas
hg2x0ipcam_rt5350formigas

Figura 5: Módulo do scanner e nome de usuário/senha codificados

O módulo de ataque DDoS é uma lista típica que abrange vários protocolos. O botnet UNSTABLE contém nove métodos: attack_tcp_ack, attack_tcp_syn, attack_tcp_legit, attack_tcp_sack2, attack_udp_plain, attack_udp_vse, attack_udp_thread, attack_gre_ip e attack_method_nudp. Os botnets podem escolher o método apropriado com base em comandos de seu servidor C2.

Condi DDoS Botnet

O FortiGuard Labs divulgou anteriormente o botnet Condi DDoS, que continua a explorar o CVE-2023-1389 para obter controle de dispositivos e executar suas atividades maliciosas. O arquivo binário está hospedado em “45[.]128[.]232[.]90” para distribuição.

o botnet Condi DDoS hospeda o arquivo binário em 45[.]128[.]232[.]90

Uma vez que um dispositivo é infectado, o malware mata a competição e processos específicos. Ele então configura uma conexão com um servidor central de Comando e Controle (C2), “tremebolone[.]zapto[.]org.”

Lista de verificação para processo de encerramento

Figura 6: Lista de verificação para processo de encerramento

destacando a linha de código que obtém a versão atualizada do Condi Botnet

Figura 7: Obtenha a versão atualizada do Condi Botnet

Inundador UDP e verificador de processos

O FortiGuard Labs notou o incidente como o payload “ping -c 20 209.141.35.56,” o que pareceu incomum dentro de tal ataque. Como o endereço IP não é nem a fonte do ataque nem a intranet de destino, supomos que esses dois endereços IP, 45[.]128[.]232[.]229 e 209[.]141[.]35[.]56, podem ser controlados pelo invasor simultaneamente e um deles é um servidor de comando e controle (C2).

tráfego de ataque

Figura 8: Tráfego de ataque

O endereço IP da fonte do ataque, “45[.]128[.]232[.]229,” tem quatro arquivos chamados “msgbox.exe,” “udp,” “udparm,” e “udpmips,” respectivamente. Essas são ferramentas DoS para diferentes arquiteturas Linux, exceto “msgbox.exe,” que exibe uma caixa de mensagem com a string “RAT.”

A análise a seguir examina o arquivo “udp”.

A ferramenta tem uma mensagem de uso inconfundível, “Uso: %s <IP> <SEGUNDOS> [PORTA]”, enquanto é executada sem nenhum argumento.

Mensagem de uso do arquivo udp "Uso: %s <IP><SEGUNDOS> [PORTA]"

Figura 9: Ferramenta de execução sem argumentos

Ao executar com os argumentos necessários “IP” e “SECONDS”, a ferramenta dispara um ataque DoS de inundação UDP usando caracteres aleatórios gerados pelo sistema.

O arquivo udp é executado com os argumentos IP e SECONDS

Figura 10: Ferramenta de execução com argumentos

a execução do arquivo udp inunda o tráfego

Figura 11: Tráfego de inundação UDP

O endereço IP “209[.]141[.]35[.]56” pingado pelo dispositivo comprometido é explorado pelo endereço IP de origem do ataque “45[.]128[.]232[.]229” usando a vulnerabilidade CVE-2023-1389. Ele foi encontrado pela primeira vez com uma página que o FBI apreendeu devido ao seu uso como um serviço DDoS (Figura 12). No entanto, o FortiGuard Labs descobriu que o endereço IP também tem outra rota, “hxxp://209[.]141[.]35[.]56/getters/,” que contém 19 variantes de malware para diferentes arquiteturas Linux. (veja a Figura 13)

O site foi apreendido pelo FBI e outras agências internacionais de aplicação da lei

Figura 12: Página do site apreendida

aarch64microblazebe
aarch64bemicroblazeel
arco-750dmips
arco-hs38mipsel
braçov4lnios2
armv5lrisco aberto
braçov6lpowerpc
armv7lriscov64
i586sh4
m68kesparso
m68k-68xxxx86_64-core-i7
m68k-fogo-friox86-núcleo2
m68k-coldfire.gdbx86-i686
xtensa-lx60 

Figura 13: O malware para diferentes arquiteturas Linux

Nós nos concentramos em analisar o arquivo para arquitetura “x86-i686”. O malware cria um soquete e verifica se o servidor C2 é válido. Se não, ele encerra o programa. Se o servidor for confirmado como acessível, o malware configura uma conexão com o servidor C2 “45[.]128[.]232[.]229”, que é o endereço IP de origem do exploit CVE-2023-1389, executa o comando “ps” e reúne informações de saída relacionadas ao processo.

O malware define o endereço IP do servidor C2 como o endereço IP de origem CVE-2023-1389

Figura 14: Definir endereço IP do servidor C2

O malware executa o comando “ps -eo pid,comm –no-headers” por meio de “/bin/bash” para obter todos os PIDs de processo (IDs de processo) e nomes de comando em execução sem uma linha de cabeçalho.

O malware executa o comando

Figura 15: Executa comando

Em seguida, ele aproveita os PIDs (IDs de processo) obtidos para verificar ainda mais os comandos dos processos em execução usando “/proc/<PID>/comm”.

O malware verifica os comandos dos IDs de processo que executam os processos

Figura 16: Comando de processo de leitura

Depois, o malware envia informações relacionadas ao servidor C2.

O malware envia as informações para o servidor C2

Figura 17: Enviando informações para o servidor C2

De acordo com nossa análise, os invasores parecem ter um servidor de comando e controle (C2) na nuvem (45[.]128[.]232[.]229) e um armazenamento de malware conectado à rede (209[.]141[.]35[.]56). O invasor primeiro verifica se o dispositivo alavancado pode alcançar o armazenamento de malware conectado à rede para baixar malware e executar os seguintes estágios de ataque.

Skibidi

Este malware, que chamamos de “Skibidi”, foi espalhado pelo invasor usando duas vulnerabilidades diferentes simultaneamente. Uma é CVE-2023-1389 no TP-Link Archer AX21, que botnets têm explorado continuamente desde que foi lançado, conforme detalhado no relatório produzido pelo FortiGuard Lab. A outra é CVE-2024-21887 no Ivanti Connect Secure, que causou sensação em abril de 2024.

Tráfego de ataque através do Ivanti Connect Secure

Figura 18: Tráfego de ataque através do Ivanti Connect Secure (CVE-2024-21887)

Tráfego de ataque através do TP-Link Archer AX21

Figura 19: Tráfego de ataque através do TP-Link Archer AX21 (CVE-2023-1389)

Os invasores primeiro baixam o malware “Skibidi” com um script de download. Ele baixa e executa cada malware para determinar a arquitetura de ataque Linux adequada.

O script do downloader

Figura 20: Script do Downloader

braço4mips
braço5mipsel
braço6ppc
braço7sh4
x86_64 

Figura 21: O malware tem como alvo arquiteturas Linux

A análise a seguir é baseada no malware “skibidi.x86_64”. Durante a execução do malware, ele exibe a sequência “youre not skibidi enough”.

A execução do malware exibe a sequência "você não é skibidi o suficiente"

Figura 22: Executa o malware

Ele então chama a função Linux “ptrace” para manipular o processo no host da vítima. O malware envia sinais como um depurador para o subprograma, o próprio malware, para bifurcar outro processo para evitar a detecção.

O malware chama a função ptrace

Figura 23: Chamada de função “ptrace”

O malware então decodifica sequências codificadas pelo XOR para os comportamentos, criando o processo e exibindo a sequência de resultados da execução.

As strings codificadas em XOR

Figura 24: Sequências de caracteres codificadas por XOR

Ele chama a função do sistema “prctl”, que manipula o processo de chamada nomeando-o com as strings codificadas por XOR “-bash” e “x86_64”.

O processo do malware

Figura 25: Processo do malware

Depois, o malware tenta se conectar com seu servidor C2 por meio de um socket. Enquanto isso, ele usa a chamada de sistema “select” para ouvir os eventos de arquivos nos quais o invasor está interessado, como eventos de processo.

O malware chama a função select para ouvir eventos de arquivo

Figura 26: Chamada de função “select”

O malware repete essas etapas de escuta de eventos e envia os resultados de volta ao servidor.

Conclusão

A flexibilidade e eficiência inerentes dos serviços de nuvem involuntariamente forneceram aos criminosos cibernéticos uma nova arena para suas atividades. Essa mudança para operações baseadas em nuvem marca uma evolução significativa no cenário de ameaças, com operadores de malware explorando as vantagens dessas plataformas. As organizações devem reforçar suas defesas de segurança na nuvem, pois botnets e ferramentas DDoS continuam a alavancar serviços de nuvem. Medidas de segurança robustas e monitoramento vigilante em ambientes de nuvem são essenciais para combater esses ataques sofisticados. Implementar uma abordagem de segurança em várias camadas, incluindo patches regulares, atualizações e segmentação de rede, é essencial para isolar ativos críticos e mitigar possíveis violações.

Proteções Fortinet

O malware descrito neste relatório é detectado e bloqueado pelo FortiGuard Antivirus como:

BASH/Mirai.AEH!tr.dldr

ELF/Gafgyt.ST!tr

ELF/Mirai.CDB!tr

ELF/Mirai.CEA!tr

ELF/Mirai.CPD!tr

ELF/Mirai.OX!tr

ELF/Skibidi.CQC!tr

ELF/UDPFlooder.1C8B!tr

ELF/UDPFlooder.1EE7!tr

ELF/UDPFlooder.E063!tr

Linux/Mirai.CPD!tr

Linux/Mirai.REAL!tr

FortiGate, FortiMail, FortiClient e FortiEDR dão suporte ao serviço FortiGuard AntiVirus. O mecanismo FortiGuard AntiVirus faz parte de cada uma dessas soluções. Como resultado, os clientes que têm esses produtos com proteções atualizadas estão protegidos.

O serviço de filtragem da Web FortiGuard bloqueia os servidores C2 e baixa URLs.

O FortiGuard Labs fornece assinaturas IPS contra ataques que exploram a seguinte vulnerabilidade:

CVE-2016-20016: JAWS.DVR.CCTV.Shell.Não autenticado.Comando.Execução

CVE-2017-17215: Huawei.HG532.Remote.Code.Execution

CVE-2018-10561: Dasan.GPON.Remote.Code.Execution

CVE-2018-10562: Dasan.GPON.Remote.Code.Execution

CVE-2023-1389: TP-Link.Archer.AX21.Unauthenticated.Command.Injection

CVE-2024-21887: Ivanti.Connect.Política.Segura.Autenticação.Segura.Ignorar

Também sugerimos que as organizações passem pelo módulo de treinamento gratuito NSE da Fortinet: NSE 1 – Information Security Awareness. Este módulo foi criado para ajudar os usuários finais a aprender como identificar e se proteger de ataques de phishing.

O FortiGuard IP Reputation e o Anti-Botnet Security Service bloqueiam proativamente esses ataques agregando dados de IP de origem maliciosa da rede distribuída de sensores de ameaças da Fortinet, CERTs, MITRE, concorrentes cooperativos e outras fontes globais que colaboram para fornecer inteligência de ameaças atualizada sobre fontes hostis.

Se você acredita que esta ou qualquer outra ameaça à segurança cibernética afetou sua organização, entre em contato com nossa Equipe Global de Resposta a Incidentes FortiGuard.

COIs

C2

45[.]128[.]232[.]15

45[.]128[.]232[.]90

45[.]128[.]232[.]229

45[.]128[.]232[.]234

URLs

hxxp://45[.]128[.]232[.]15

hxxp://45[.]128[.]232[.]90

hxxp://45[.]128[.]232[.]229

hxxp://209[.]141[.]35[.]56/getters

hxxp://45[.]128[.]232[.]234

arquivos

d5e81e9575dcdbbaa038a5b9251531d8beccedc93bd7d250a4bb2389c1615cd6

6226e896850de8c5550b63481b138067582ebf361f7c5448d9d0596062150d89

4c2dcd13685f24800b73856d1f3ec9a2c53c2b5480a9c10b73035a43df26c2e8

31914b317ba6a44a9d3acb99979ec8c163bef8667b0ae41524e335847d70afb0

5fbfc4c8204309e911d22d3b544773f8d4f9ab2edc71f8967bbdcce6cbc834ca

53daa1e4c2f5c11a75989334c2a0227689509606aeda9d7ab11dd200ee6138c6

a9690df4542f28fc4e3b9161b9f8d685d4ce8753bfd9b1f5c8aacd6aa4bef873

fb86bb0863d15ac65a916979052220f755765eb0d5bc4c1c47e34762738d2311

cd05eaa2b01ec1a4880839628d1c6e3bed9045478cacbfb88f14d1937ccf667b

c88da56b348f8d89b5ab99a710de7131bdbc2f1dba4bb9809b1b3fd27322630e

83a2608a93b643f68ab3dcfccf8de7b13394cc214a78fa59b6867e47fc56928c

3660fbe90420f60664e68859de918a5c592dd33024f69bebff8bb77ab41b8fca

75b594a20110e487e35ec4590a5211a425119cdf0fea6fcf030ee20cb548b7e5

ef2e57a5992d85ea2bfb5c5645f8b361dcd5c49eede38185a7b99ec00c287550

2e69d9942a4c0d6d0294d038263f2d12f3a5f6aef8d72279b01e025d32addab2

1a8508f62447e5ee624866b571a29cedc369d6ee8182782f32a75dcd58494d8c

305e0eb9b815dddd40d73f4464946a0ec21866b7727e4fe073692bf82bb46936

0092b27bee2df9536e8aff8948a1007ed1eb03f0e12e0348b72a113e7d4cb585

65f2850892365a4d6bafc303ed04379bef3b41a85336e274f9348603105d2f37

c569eb7f33dcec3e6cdcfee7195202813fda6b7bf9ecb786a4a909d6745cbbff

5110f8af13cdd872b904784d2aec75031c663baad01d68b5f05daa950d18ced3

eec122d6480803bcdd2c6906b0ae35bcffaf6bf5117dac8c7b2621f0b98b68ea

9f14cdea1b41ac1c7251e3f2d4186e12d480d108942bc8f1f7bcac133ed88ccc

5a0a8de050cc8ad2f9af41e4018b0317afc39c571f23bc9cfa115c6558205722

eb9ba3171a98dc543cbc599eb6ab9aa3a5a47cc6931afe511fa839c6a5fb889c

1825c787c308d3cb1125d416025af8c8344a158f0a0b3467df6c0c875d2d8800

eb926f93bdd9b38d44d2239b4ec9c1d45762f850bee80cf9556b23372b6f0639

8fb6110b2114e7786b1d4e7f600a08de0a25432417f863d9663d576a3c895e86

dc87ff82199cb60a8bcf59d4f8c0a706bf10051d0c15a911d37d1cda8fcf5f9e

1816c473ba94f4740c0931e118d038ecb0733f8ffb7cbb74dedc7b78952f8318

d4dbd379f914ff5ba40c1aac1be37602e4cde687e47cfd7793cb10192617f4af

d034664f627af11bd2a34ba1b228b5a6841309caabfd72a731bbd4724d947e27

4cc2110f89afac1de0c1989d0af07f8879003cac0803660f37cf394a0027db69

bd42e67e6238dfec0b7786797733c54ae1d92fe0e883758dddea779e113b5271

bd42e67e6238dfec0b7786797733c54ae1d92fe0e883758dddea779e113b5271

e758c4428a590519a281344a31f236146c996c784433fbe82eee009dd922516c

3a3581da268d0fdb8c8027e261b682b07b6715c62fbf2c8aca301b7e8dd9d637

6e21e400928f24630339441f6da0f3f1b66860bf480a9f5af20482878b686189

8363ecc977d426f0e922abbeb4f1e8ed06397c0b6951dd75233016d3b5af58c9

e511f5c8fc0bd713dc9b9742e8c682ba66177bb617e9118f84b150cf6ff4a07f

ddcb420c4141760feed2fc8c76425b72ab111d271385040c1446f6ab3993c6d7

2b526e5ac01916d74e7aa88770102a8f34d4c57cea7a4e45c501331670635e26

666eed520d2b430e1016eec555c0cd125912f9a8f7590d77c286eff52416fbaf

ba4229f5e44c378ae293b58139233a9bfbecbfd22fb51e05f74de38b186a071c

c376db6e6f6905113e7beb1f14d8e5a44b8374a959eefd0f5d25ab0f3cbabee2

ae999de92c369e53a3287ab034f2839367b44f7fd82d6ed56a5700c22ed44635

e94b6b99fae4dc8e5b0796c877ed01bf25f77ccab95fb43d24abed00e0f8a15a

8fcb5c4c5306f3e7ffa2a47dedaddc108c77ef8ef48ec0980a0c441333e0a18b

34f653119e418621c1cbfe7cf0614ea62e9a98dc345e4d7408eea96a08d3ac0d

a51333460fb711e0b172b6e4893d5bca6b9996f240b450fdaa5cbf14511c9e27

90a43ca83efb2d460b86ff897b1bc657170b6c79c2c804610cdfca8f24adc71e

c5b6320925963ca6d5439dca7154c526c3a26500e204b48ff30a50c3a1b875ad

e7d87e68265a9a324d76759cca4f613c28c590b36490c8c65ee3d17918e5d3ec

2867b3fd3c840aa9c868a88a5f6d417a09e4158f8209f0450a07eeb7e99ba4c8