Botnets continuam explorando CVE-2023-1389 para disseminação em larga escala

No ano passado, foi divulgada uma vulnerabilidade de injeção de comando, CVE-2023-1389 , e desenvolvida uma correção para a interface de gerenciamento web do TP-Link Archer AX21 (AX1800).

Plataformas afetadas: TP-Link Archer AX21 (AX1800) Versão 1.1.4 Build 20230219 ou anterior
Usuários afetados: Qualquer organização
Impacto: Atacantes remotos ganham controle dos sistemas vulneráveis
​​Nível de gravidade: Alto

O FortiGuard Labs desenvolveu uma assinatura IPS para resolver esse problema. Recentemente, observamos vários ataques focados nesta vulnerabilidade de um ano, destacando botnets como Moobot, Miori, o agente “AGoent” baseado em Golang e a variante Gafgyt. Os picos causados ​​por essas ameaças são evidentes na figura a seguir. Este artigo explorará seus padrões de tráfego de infecção e oferecerá insights sobre essas botnets.

telemetria

Figura 1: Telemetria IPS

Figura 1: Telemetria IPS

Infecção – CVE-2023-1389

Esta é uma vulnerabilidade de injeção de comando não autenticada na API “locale” disponível através da interface de gerenciamento web. Os usuários consultam o formulário especificado “país” e realizam uma operação de “gravação”, que é tratada pela função “set_country”. Ele chama a função “merge_config_by_country” e concatena o argumento do formato especificado “country” em uma string de comando, que é executada pela função “popen”. Como o campo “país” não será esvaziado, o invasor pode conseguir a injeção de comando.

Figura 2: Prova de Conceito de Vulnerabilidade

Figura 2: Prova de Conceito de Vulnerabilidade

Eles estão indo

AGoent é um agente bot baseado em Golang. Primeiro ele busca o arquivo de script ”exec.sh“ de ”hxxp://5[.]10[.]249[.]153,” que recupera os arquivos ELF de diferentes arquiteturas baseadas em Linux.

Figura 3: Pacote de exploração

Figura 3: Pacote de exploração

Figura 4: O arquivo de script “exec.sh”

Figura 4: O arquivo de script “exec.sh”

Após baixar os arquivos ELF, o script tentará executar cada arquivo para encontrar a arquitetura apropriada e remover cada arquivo para apagar rastros de intrusão. A análise a seguir focará no arquivo executado projetado para a arquitetura “386”.

Existem dois comportamentos principais. A primeira é criar o nome de usuário e a senha do host usando caracteres aleatórios.

Figura 5: Código Assembly para Criação de Usuário

Figura 5: Código Assembly para Criação de Usuário

Após a criação do usuário, o malware estabelece uma conexão com o servidor C&C (comando e controle) e passa as credenciais recém-criadas pelo malware.

Figura 6: Execução de malware

Figura 6: Execução de malware

Figura 7: Pacote de sessão C2 estabelecido

Figura 7: Pacote de sessão C2 estabelecido

Figura 8: Pacote de sessão C2 estabelecido com a credencial

Figura 8: Pacote de sessão C2 estabelecido com a credencial

Variante Gafkyt

Gafgyt, também conhecido como BASHLITE, é um malware que infecta sistemas operacionais de arquitetura Linux para lançar um ataque DDoS (negação de serviço distribuída). Nesta variante, o bot baixa o arquivo de script “bins.sh” de “hxxp://195[.]62[.]32[.]227” e então executa o script. Gafgyt recupera arquivos de execução da arquitetura Linux com o prefixo “rebirth”.

Figura 9: Pacote de exploração

Figura 9: Pacote de exploração

Figura 10: O arquivo de script “bins.sh”

Figura 10: O arquivo de script “bins.sh”

A seguir, nos concentraremos em “rebirth.x86”. Gafgyt obtém o IP de destino comprometido e as informações de arquitetura, que concatena em uma string que faz parte de sua mensagem de conexão inicial.

Figura 11: Concatenação de mensagem de conexão inicial

Figura 11: Concatenação de mensagem de conexão inicial

Depois de estabelecer uma conexão com seu servidor C&C, o malware recebe um comando “PING” contínuo do servidor para garantir a persistência no alvo comprometido.

Figura 12: Conexão do servidor C2

Figura 12: Conexão do servidor C2

O malware aguarda qualquer um dos seguintes comandos de seu servidor C&C. Cada um deles representa um ataque ou função específica:

  • ”UDP“ significa ”Ataque de inundação UDP”
  • ”NATAL“ significa ”Ataque de NATAL”
  • ”VSE“ significa ”Ataque VSE”
  • “TCP” significa “Ataque de inundação TCP”
  • ”HEX” significa “definir string especificada dentro de pacotes de ataque”
  • “STOP” significa “parar o ataque”
Figura 13: Comandos codificados manualmente

Figura 13: Comandos codificados manualmente

Chegará

Moobot busca um arquivo de script de “hxxp://91[.]92[.]253[.]70.” A função principal de “1.sh” é recuperar um arquivo ELF com arquiteturas diferentes para infecção adicional.

Figura 14: Pacote de exploração

Figura 14: Pacote de exploração

Figura 15: O arquivo de script “1.sh”

Figura 15: O arquivo de script “1.sh”

A análise a seguir analisa o arquivo de execução projetado para a arquitetura “x86_64”. Uma vez executado, ele se remove e apaga todos os rastros do dispositivo comprometido. Em seguida, ele exibe “0x00000e9” no console e começa a entrar em contato com o servidor C2 “fjsnsinfinsf[.]ngcv[.]top”

Figura 16: Sessão C2 do Moobot

Figura 16: Sessão C2 do Moobot

Com base na chave XOR “0xDEADBEEF” usada para strings codificadas e na string codificada “w5q6he3dbrsgmclkiu4to18npavj702f”, podemos confirmar este malware como Moobot. Como indica a montagem, um ataque DDoS pode ser iniciado em IPs remotos por meio de um comando C2.

Figura 17: Código assembly para método DDoS

Figura 17: Código assembly para método DDoS

Variante Mirai

Além disso, há um ataque usando uma variante do Mirai. O processo de exploração começa baixando “tenda.sh” de “hxxp://94[.]156[.]8[.]244”. Este arquivo de script baixa então um arquivo de execução ELF do mesmo endereço IP, disponível em 13 arquiteturas diferentes.

Figura 18: Pacote de exploração

Figura 18: Pacote de exploração

Figura 19: O arquivo de script "tenda.sh"

Figura 19: O arquivo de script “tenda.sh”

O arquivo de execução original é compactado usando UPX.

Figura 20: UPX embalado

Figura 20: UPX embalado

Esta variante do Mirai exibe a mensagem “faggot got malware’d” e monitora processos para encerrar aqueles associados a ferramentas de análise de pacotes. Em seguida, ele envia pacotes para o servidor C2 “45[.]155[.]91[.]135:21425” e aguarda instruções adicionais para atacar.

Figura 21: Lista de ferramentas de análise de pacotes

Figura 21: Lista de ferramentas de análise de pacotes

Abaixo está uma ilustração de um cenário de ataque DDoS: O servidor de comando e controle (C2) envia um pacote com comprimento 0x15, direcionando o endpoint para iniciar um ataque. O comando especificado é 0x01 para uma inundação do Valve Source Engine (VSE), com duração de 60 segundos (0x3C), visando o endereço IP de uma vítima selecionada aleatoriamente e o número da porta 30129.

Figura 22: Pacotes de comando C2

Figura 22: Pacotes de comando C2

Miori

Miori, outra variante do Mirai, compartilha módulos semelhantes. O script em lote é obtido de “hxxp://185[.]224[.]128[.]34”. O downloader emprega protocolos HTTP e TFTP para recuperar os arquivos ELF.

Figura 23: Pacote de exploração

Figura 23: Pacote de exploração

Figura 24: O arquivo de script “shk”

Figura 24: O arquivo de script “shk”

Uma vez executado, Miori exibe “seu dispositivo acabou de ser infectado em um bootnoot” no console e envia \x00\x00 para o servidor C2 “rooty[.]cc” na porta TCP 33335. A chave XOR usada para configuração de decodificação é 0xDFEDDEEF, e uma lista de senhas codificadas está incluída para a função de ataque de força bruta.

Figura 25: Lista de nome de usuário/senha codificada

Figura 25: Lista de nome de usuário/senha codificada

O pacote de comando de ataque se assemelha aos vistos nas variantes anteriores do Mirai.

Figura 26: Pacotes de comando C2

Figura 26: Pacotes de comando C2

Condi

O script de download do Condi foi recuperado usando vários protocolos para aumentar a taxa de infecção.

Figura 27: Pacote de exploração

Figura 27: Pacote de exploração

Figura 28: O arquivo de script “jack5tr.sh”

Figura 28: O arquivo de script “jack5tr.sh”

Condi é executado com o parâmetro “work”, que está incluído no primeiro pacote enviado ao servidor C2 “bn[.]networkbn[.]click”. O comando permanece consistente com a versão distribuída no ano passado , mantendo a função de evitar reinicializações por meio da exclusão de binários responsáveis ​​por desligar ou reinicializar o sistema.

Figura 29: Sessão C2

Figura 29: Sessão C2

Ele também verifica processos ativos e referências cruzadas com strings predefinidas para encerrar processos com nomes correspondentes.

Figura 30: Processo de verificação

Figura 30: Processo de verificação

Com base em sua página de vendas, a Condi atualizou seus métodos de ataque, conforme mostrado abaixo.

Figura 31: Métodos de ataque de Condi

Figura 31: Métodos de ataque de Condi

Conclusão

Como sempre, as botnets visam incansavelmente as vulnerabilidades da IoT, tentando continuamente explorá-las. Apesar da descoberta e da correção da vulnerabilidade CVE-2023-1389 no ano passado, inúmeras campanhas ainda a exploram, resultando em picos significativos em nossa telemetria IPS. Os usuários devem estar vigilantes contra botnets DDoS e aplicar patches imediatamente para proteger seus ambientes de rede contra infecções, evitando que se tornem bots para agentes de ameaças mal-intencionados.

Proteções Fortinet

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

BASH/Mirai.AEH!tr.dldr
ELF/Mirai.A!tr
ELF/Mirai.BSC
!tr ELF/Mirai.CDB!tr
ELF/Mirai.GG!tr
ELF/Mirai.L!tr
ELF/Moobot.A! tr
Linux/Mirai.BSC!tr
Linux/Mirai.CEA!tr
Linux/Mirai.CJS!tr
Linux/Mirai.F!tr
Linux/Mirai.IZ1H9!tr
ELF/Mirai.AGIT!tr
ELF/Gafgyt.BJ!tr
ELF/Gafgyt.VE!tr
ELF/Gafgyt.WN!tr.bdr
Linux/Gafgyt.ARN!tr
Linux/Agent.AAO!tr

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

FortiGuard Web Filtering Service bloqueia os servidores C2 e baixa URLs.

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

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

Sugerimos também que as organizações passem pelo módulo gratuito de treinamento em segurança cibernética da Fortinet : Fortinet Certified Fundamentals . Este módulo foi desenvolvido para ajudar os usuários finais a aprender como se identificar e se proteger contra ataques de phishing.

O serviço de reputação IP e segurança anti-botnet FortiGuard bloqueia proativamente esses ataques, agregando dados IP de fontes maliciosas da rede distribuída Fortinet de sensores de ameaças, CERTs, MITRE, concorrentes cooperativos e outras fontes globais que colaboram para fornecer inteligência atualizada sobre ameaças 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 do FortiGuard .

COIs

C2

fjsnsinfinsf[.]ngcv[.]top
45[.]155[.]91[.]135
rooty[.]cc
bn[.]networkbn[.]clique
5[.]10[.]249[.]153
195 [.]62[.]32[.]227

URLs

hxxp://91[.]92[.]253[.]70
hxxp://94[.]156[.]8[.]244
hxxp://103[.]188[.]244[.] 189
hxxp://185[.]224[.]128[.]34
hxxp://5[.]10[.]249[.]153
hxxp://195[.]62[.]32[. ]227

arquivos

6104674bfa58ac11c697062d6068c568384f13037d1a146dbe25cd001104ca8b
f33a02781d60ca36f4ee56579c6d33846c2549ad7556bca499c73302cee17514
d02381634921d92358577c106180eba766b98a520c907870898b2c32d7de4547
0a3fbc79e742354c8fc82830fc3426f7f8d3b900260c06aa58e53547b48feaa6
475487bf7b96fe3da321dac0b5f59231651fc3d71f86bf9580bfa77e59b0f2c8
a3e8493f2fb38b7f2ba309809577281d3cc25bee9fb3b5c0053a6e89de1dbce7
5e6deba076cbe7b9833d0ddee7c8065e91d13f1fc2a5c7daf4db36da458d689a
29ef4c5d9172b09d6abc08da800a5a09b460b98aaadf1aa29edda81300fcc609
e7af5f1d5d68f75ee03a37ee8016695e35edaae528cdba4ab7b9a90570a1e4be
b45906c711ed4f109a10cfaffa0b4c18e56c6f6ddc8d100c87e0a0349a30293d
e9e8fc16c586f51eb2f86db5a60e54b46d66275fdd6df8fb72e96e50014a1290
b731fe97dc723d0d5a51fe8203b33f16a51183b3dab4c9c8ee7bd304462ad192
1ffc3c457eb84aa36cd4bc7f3d0dc9a6b8079d63c2bab03c3a646906152876c0
d8b4d8950ec1a3f812af69d261f452aae2b19d3bced8551f9178e40ca0c1bcf8
8562c9ad26ab3ad7d16ac43c9dcbf600d5319e5432d72dc684983cc5f64ff41e
092b3a57ee4ecd64591616da6ce0cfb9f01930dbeb179f05e1dbbdbc918098ac
092b3a57ee4ecd64591616da6ce0cfb9f01930dbeb179f05e1dbbdbc918098ac
c65f86d5917025a8674bf9758870decd923ea2662d6611a1365303f4fe55fa26
65f64b270a10255db1e55a158a02829a3af982cbcd4b56f14e58132cbb45e6a9
a383319a28d50e8c280646dc53a2f33fec62ad69ef4948dae76a4f1f6fe2f159
7ef190f05fe9be5d7f38bdb556fffdb7d9b5633ddf60cc43b98c09887a292c49
7322da39ce05e7496fcaef6602a15266943a59a5027e5ea97344133d42e0f6e3
a1c14e99cc8490a4d503ffd660e2d881fa5d766a4288eea328f73bd8ee99078d
a7d3ffbb3edff1956d7422dd04305d8c3ac16418e2eb190ed9a08a1c275c5e8e
1427deedaafd5345aa3c41d39b14b23a454ed894c73f3c9224cd0b51c88afcfa
f97c9802324eeb0ebdfc15ce3e390c8cca5a9062c3348f7d2b5b00d1efa49508
3307e4d1daefca1eeb1ee4a6dea7738594076aa04f3e7e470a8b2ae32b9e4893
86fe87891311228b58a606114a2d41d94b520c5c4be6ff6bc0add45f5b6250ef
b9962c3e066904cf8df05f60b9bd21d979466aca64596d2b7557be7fa4358c4d
a48807aaa7be63c41bbabcf55d40cba416bc23432f247e4038ed0cd32fd05519
4119530c4dba8a53ba081094ca163f28a51bd37c6ee40b4aa55097939ec1df38
2be7481bfec8fcbb370afa00e9befa97000e7aa987a17cd6c48fc9f2d0b60110
b605570db3158ba355552b5b638e7df4b0888d56d206004d9af6901c4770c75f
0dbf4c327df0159305ffc9776ad2fbdd655fe513712f75e360e211aa6686f69a
ae2d6b41150d61b828368847a0eba51d4562fa2bae4478c10940f5e3e3e46c6b
581adb7645ca54dbc3a043ee39a09037a7b5f572c1b8c137cb0c751b26ff9ebd
18753e0c31c2100889f0e085ba03eb1c616dcc50606d9733574b68e75be2ee7a
123a392cfa9114daeab28976f5ce740da4288d6ac516b5afbf1ea17e28eaada1
8317c084d08450a220fe7f38ce6b1a767b2e8776f8f4a436b84b912476b00cbc
94c9297951a48fcc0f22dac94da599bc2651c757d27cb94c9de16d00ea5af04f
fdcfaa03f99233d8aecc17098833d82860d68c12440c5ff7e898b50891cf65bf
045b8b9f7bb69e4450d49eb6197722b9b58a8f0e7af479640ea6f666553db4da
96c8ec9a54b0fef4bca739b47d943c295c766c7759d0f3a5a891585609019f42
1a6964f76f573dd50f41ee8dc4c5b29868807af6326faee92ad9ffaeba3dc5a3
e220a88f3c07a6ece0adcbeca93fd6024d9f63a971c4aa732ec90930e386b5aa
42deb408f0861891e49205fce2496cfe9a6c0cbf86f5d1c48bd88f9120631b1d
f19d69486f380f7f22482b17eab7343da36229a4e60b9f3938f7846002ff0fa2
8721dc3617731683a34eb7c8d9a688195d2db1efa8da3084edbe04f76cb0d047
7e8061fab5ad856312040a78674932dcd08b6926a8cc8a5de91252c590b4f6ba
9100bc0eb0bce4f5f7fc314fa820b4dee00db8d31892ec6fdb4fccca801a40d0
46d085e7c36ec4ada5f630c47b1ed418ceae077832d6fc2e7730af2715fb954d
cc197f92fb6564575d7bd64958bc96be9e0c09d06fa19449a0ad3dc50f09ddb6
4e94d9808d5c3c414100abb60233614fcbad2e884c2fd851cb9d694186165a4f
bfa195bd238473bfead86e74b796c4721d1f5281c284b96ff29d8806a82a6520
396b1e21260b374a45ba703239bc29b1345dea89ad9d54db0b7f312aa95c6984
1a1a8f9ccb66f37f14b5cf2a77e9e8d47400bdec957d9f20729e5c81bfc78be6
699d00adf4e8c070d2b955b23054e945c78267beb2ec9cc580130771200e5ea3
fdae7846f75c7b65130e73bafda28f442913e403534cb91657c21c2426869f2f
25f3558a2cdf5aca294254004954bb10d08a0ef0f913f3ddd1f8f3cc71f114dd
12273047ec3eb4e1318c26ec7c10b77e5d631738da126880e248d7f54dfa5718
F7faaadceebe69bec33096166a54ed9b593b1b690ba9594b4c353303f55101aa
e6d1df0621b10d051ebba4507ac3d14f4d206ab56bafbc3510db542d4c4470d9
4480d72a324f519d3a630bf2ef7b118f4e388c5bccdd0a5465bafd2253daa619
4509e84a9abcb732f0ee90bf27dd300247b23b6dac9b41cd01f59d6384b5348a
08166a0d2fe65a3ad8b289cb2714c3a150635e29664bff24e5befc6b48526899
ed85c3e25bac63b7e232ac3cfd91116bf7c64f1c4c96b933d5715bbe055ffc89
f0d62aec4a2a5353a6416bbd403969fc0617d08aeb8eb9e09de4d4068a2fd9f3
8cfdcaf4611fd855672ad561de196417deea97341f45efd02e97e26d4674291d
e73bbef9c7fcaf610c858be52a375b517bc62fd7e05dd867f928cd353536de16
c192146c8311694342f73a19cfe69ecc53f3f1d6cab006526d2daa5134846357
ab5ee18fd3df5a2d7f2d84c75b33fd2f73b76c8e0d2df278d9ded40943d16911
ef30bd34f8c11e042e2600c62cf702515c94290207cf72fad1ec0d277221bb70
0571c16d0f2d0267b354f81fdbfb49738f3cb867371b9ef0d3ffe1020fb9f9cf
bf5e6947f6829d17b8a8e5984366efcf5592d8f6bc7ec6d7e85b1872bebcb24a
549d3aac3b42f702f29ab27c653c0f239a51601a6aeb50564beda614f8f1f33e

Por Cara Lin e Vincent Li