Evooo1Bot Linux Botnet: Capacidades e Técnicas de Ataque
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Evooo1Bot é um botnet Linux recém-identificado, baseado em Mirai, que compromete dispositivos de borda para estabelecer uma infraestrutura de proxy persistente. O malware inclui capacidades avançadas, como comunicação C2 criptografada, um módulo de relay SOCKS e um arsenal de exploits integrado. Ele visa várias vulnerabilidades que afetam dispositivos IoT e hardware de rede.
Investigação
O FortiGuard Labs descobriu o botnet por meio de telemetria IPS que capturou tentativas de exploração ativas. A investigação revelou uma arquitetura modular em que um script de carregamento recupera binários adaptados à arquitetura do sistema alvo. Os analistas também identificaram várias técnicas de evasão, incluindo a descriptografia de strings em várias camadas e verificações para ferramentas de análise.
Mitigação
As organizações devem priorizar a aplicação pontual de correções em todos os dispositivos voltados para a internet e equipamentos de rede. Atualizações de firmware regulares e monitoramento contínuo para conexões de saída suspeitas são essenciais para reduzir a exposição. A desativação de serviços desnecessários em dispositivos de borda pode reduzir ainda mais a superfície de ataque disponível.
Resposta
Se for detectada atividade do Evooo1Bot, dispositivos de borda afetados devem ser isolados da rede imediatamente para parar o movimento lateral e o abuso de proxy. Os investigadores devem determinar o escopo do comprometimento e procurar por mecanismos de persistência, como cron jobs ou serviços systemd. Qualquer credencial potencialmente exposta pelo sniffer de credenciais do botnet também deve ser alterada.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Permissões Perigosas para um Binário/Script/Pasta foram configuradas (via linha de comando)
Upload/Download de Arquivos Remotos via Ferramentas Padrão (via linha de comando)
Arquivo Oculto Foi Criado em Host Linux (via evento de arquivo)
IOCs (HashSha256) para detectar: Botnet Linux Multifuncional “Evooo1Bot”
IOCs (SourceIP) para detectar: Botnet Linux Multifuncional “Evooo1Bot”
IOCs (DestinationIP) para detectar: Botnet Linux Multifuncional “Evooo1Bot”
Uso Repetido de wget ou curl e Ajustes em /proc/self/oom_score_adj para Persistência pelo Evooo1Bot [Sistema Linux]
Detecção de Inicialização de Processo Evooo1Bot e Presença de Ferramentas de Depuração [Criação de Processo Linux]
Detectar Execução de Script wget.sh para Evooo1Bot [Evento de Arquivo Linux]
Execução de Simulação
Pré-requisito: O Teste de Pré-voo de Telemetria e Linha de Base deve ter sido aprovado.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e objetivam gerar exatamente a telemetria esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.
-
Narrativa de Ataque & Comandos: Um adversário obteve acesso inicial a um servidor Linux. Para garantir que seu agente de botnet permaneça ativo durante o uso intenso de recursos, executa um comando que baixa um payload de um servidor C2 remoto usando
curl -sL(silencioso, segue redirecionamentos). Imediatamente após o download, o processo tenta manipular sua própria prioridade no kernel usando echo-17em/proc/self/oom_score_adj. Esta combinação específica de um download “furtivo” e “proteção de processo” é a assinatura do Evooo1Bot. -
Script de Teste de Regressão:
#!/bin/bash # Simulação do comportamento do Evooo1Bot # Objetivo: Acionar a regra de detecção correspondendo a ambas as condições de CommandLine echo "[+] Iniciando Simulação do Evooo1Bot..." # Etapa 1: Simular o download furtivo usando os exatos flags na regra # Usamos um loopback local ou um URL fictício para evitar tráfego externo real, se necessário # mas a CommandLine deve corresponder à string da regra. echo "[+] Executando curl -sL para imitar o download do payload..." curl -sL http://localhost:8080/payload > /tmp/payload_test 2>/dev/null || echo "[!] Nota: URL não acessível, mas o comando foi executado." # Etapa 2: Simular o ajuste do OOM score para persistência echo "[+] Ajustando oom_score_adj para evitar a terminação..." echo -17 > /proc/self/oom_score_adj echo "[+] Simulação Completa. Verifique alertas no SIEM." -
Comandos de Limpeza:
# Remover o arquivo de payload fictício rm -f /tmp/payload_test # Redefinir o OOM score (embora só afete o shell/processo atual) echo 0 > /proc/self/oom_score_adj