SOC Prime Bias: Alto

29 May 2026 07:16 UTC

Rastreando uma Cadeia de Eliminação do Ransomware Akira Através de Logs de Perímetro e Endpoint

Author Photo
SOC Prime Team linkedin icon Seguir
Rastreando uma Cadeia de Eliminação do Ransomware Akira Através de Logs de Perímetro e Endpoint
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O artigo descreve uma recente intrusão ligada à operação de ransomware Akira. Os atacantes obtiveram acesso inicial forçando a senha de uma conta desativada de SSL VPN local, então prosseguiram para descoberta de credenciais, Kerberoasting e movimento lateral via RDP. Antes de iniciar a criptografia, eles limparam logs e removeram cópias de sombra. Notavelmente, toda a sequência foi visível através dos dados de syslog do firewall e logs EVTX do Windows, sem depender de ferramentas de detecção de endpoint. O relatório destaca como a combinação de telemetria de perímetro e de endpoint pode expor atividades de ransomware em seus estágios iniciais.

Investigação

A investigação baseou-se exclusivamente em logs de firewall de SSL VPN e exportações de logs de eventos do Windows coletadas de controladores de domínio e servidores membros. IDs de eventos, incluindo 4624, 4688, 4769, 1102, e 7036 foram correlacionados para reconstruir toda a cadeia de ataque, desde o acesso inicial até o impacto final. As técnicas observadas incluíram enchimento de credenciais, descoberta de domínio, Kerberoasting, autenticação RDP, limpeza de logs e exclusão de cópias de sombra. Nenhuma imagem de memória ou telemetria de EDR foi necessária para mapear a intrusão.

Mitigação

O relatório recomenda aumentar a segurança de acesso remoto, aplicar MFA, remover contas desativadas das listas de acesso do firewall e reforçar as políticas de bloqueio de autenticação. Também aconselha habilitar auditoria detalhada de processos com o ID de Evento 4688 em todos os sistemas, aumentar a retenção de logs de segurança e encaminhar logs críticos para armazenamento externo. O conteúdo de detecção deve cobrir especificamente tickets Kerberos baseados em RC4, vssadmin exclusão de cópias de sombra, e comandos PowerShell inesperados utilizando -EncodedCommand. A sincronização de tempo consistente em toda a infraestrutura também é essencial para uma correlação confiável.

Resposta

Quando qualquer um dos indicadores identificados aparecer, os respondentes devem isolar imediatamente a conta VPN comprometida e colocar em quarentena os sistemas afetados. Os logs relevantes do firewall e EVTX devem ser preservados, as credenciais resetadas, contas comprometidas desativadas, e cópias de sombra restauradas a partir de backups limpos onde disponíveis. Uma revisão forense completa deve ser realizada para identificar qualquer atividade de persistência ou continuidade, enquanto os procedimentos de resposta a ransomware são ativados. As partes interessadas devem ser informadas prontamente, e a divulgação pública deve ser considerada quando necessário.

"graph TB %% Class definitions classDef phase fill:#ffcc99 classDef tool fill:#c2f0c2 %% Node definitions phase_initial_access["<b>Fase</b> – Acesso Inicial<br/><b>Técnica</b> – T1133 Serviços Remotos Externos<br/><b>Descrição</b>: Uso de preenchimento de credenciais contra SSL VPN, utilizando conta local comprometida."] class phase_initial_access phase tech_valid_accounts["<b>Técnica</b> – T1078 Contas Válidas<br/><b>Descrição</b>: Uso de credenciais roubadas para acessar a VPN."] class tech_valid_accounts phase phase_discovery["<b>Fase</b> – Descoberta<br/><b>Técnica</b> – T1482 Descoberta de Confiança de Domínio<br/><b>Descrição</b>: Enumerar confianças de domínio usando nltest."] class phase_discovery phase tech_account_discovery["<b>Técnica</b> – T1087 Descoberta de Contas<br/><b>Descrição</b>: Enumerar grupos e usuários via net.exe e whoami."] class tech_account_discovery phase phase_credential_access["<b>Fase</b> – Acesso a Credenciais<br/><b>Técnica</b> – T1558.003 Kerberoasting<br/><b>Descrição</b>: Solicitar tickets de serviço RC4 para quebrar senhas de contas de serviço."] class phase_credential_access phase phase_lateral_movement["<b>Fase</b> – Movimento Lateral<br/><b>Técnica</b> – T1021.001 Serviços Remotos Protocolo de Área de Trabalho Remota<br/><b>Descrição</b>: Usar RDP para mover lateralmente para servidores e controladores de domínio."] class phase_lateral_movement phase phase_persistence["<b>Fase</b> – Persistência e Escalação de Privilégios<br/><b>Técnica</b> – T1136 Criar Conta<br/><b>Descrição</b>: Criar uma nova conta de serviço em uma OU não padrão e adicioná-la a grupos privilegiados."] class phase_persistence phase phase_execution["<b>Fase</b> – Execução<br/><b>Técnica</b> – T1059.001 PowerShell<br/><b>Descrição</b>: Executar scripts do PowerShell com -EncodedCommand.<br/><b>Técnica</b> – T1059.003 Shell de Comando do Windows<br/><b>Descrição</b>: Usar cmd.exe para vários comandos."] class phase_execution phase phase_defense_evasion["<b>Fase</b> – Evasão de Defesa<br/><b>Técnica</b> – T1070.001 Limpar Logs de Evento do Windows<br/><b>Descrição</b>: Limpar logs de eventos do Windows.<br/><b>Técnica</b> – T1562 Comprometer Defesas<br/><b>Descrição</b>: Parar serviços de segurança usando sc.exe ou net stop."] class phase_defense_evasion phase phase_impact["<b>Fase</b> – Impacto<br/><b>Técnica</b> – T1490 Inibir Recuperação do Sistema<br/><b>Descrição</b>: Excluir cópias de sombra com vssadmin.<br/><b>Técnica</b> – T1565.001 Manipulação de Dados Armazenados<br/><b>Descrição</b>: Criptografar arquivos no disco."] class phase_impact phase tool_ssl_vpn["<b>Ferramenta</b> – Cliente SSL VPN"] class tool_ssl_vpn tool tool_nltest["<b>Ferramenta</b> – Utilitário nltest"] class tool_nltest tool tool_net["<b>Ferramenta</b> – Utilitário net.exe"] class tool_net tool tool_whoami["<b>Ferramenta</b> – Comando whoami"] class tool_whoami tool tool_powershell["<b>Ferramenta</b> – PowerShell"] class tool_powershell tool tool_cmd["<b>Ferramenta</b> – cmd.exe"] class tool_cmd tool tool_sc["<b>Ferramenta</b> – Comando sc.exe"] class tool_sc tool tool_vssadmin["<b>Ferramenta</b> – Utilitário vssadmin"] class tool_vssadmin tool %% Connections showing flow phase_initial_access –>|leads to| tech_valid_accounts tech_valid_accounts –>|leads to| phase_discovery phase_discovery –>|leads to| tech_account_discovery tech_account_discovery –>|leads to| phase_credential_access phase_credential_access –>|leads to| phase_lateral_movement phase_lateral_movement –>|leads to| phase_persistence phase_persistence –>|leads to| phase_execution phase_execution –>|leads to| phase_defense_evasion phase_defense_evasion –>|leads to| phase_impact %% Tool usage edges phase_initial_access –>|uses| tool_ssl_vpn phase_discovery –>|uses| tool_nltest phase_discovery –>|uses| tool_net phase_discovery –>|uses| tool_whoami phase_execution –>|uses| tool_powershell phase_execution –>|uses| tool_cmd phase_defense_evasion –>|uses| tool_sc phase_impact –>|uses| tool_vssadmin "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-voo de Telemetria e Base 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.

  • Narrativa e Comandos de Ataque:

    1. Reconhecimento (T1087): O atacante enumera nomes de usuário de um sistema interno comprometido e constrói uma lista de preenchimento de credenciais (por exemplo, users.txt).
    2. Loop de Força Bruta (T1021.001 / T1078.001): Usando um intervalo de IP externo comprometido pertencente a um provedor de hospedagem conhecido (por exemplo, 203.0.113.45), o atacante lança uma série rápida de tentativas de autenticação falhadas no SSLVPN (≥ 50) dentro de uma hora. Cada tentativa usa uma senha diferente da lista, visando uma única conta de vítima.
    3. Preenchimento de Credenciais Bem-Sucedido: Após esgotar a lista, é encontrada uma senha correta; o atacante se loga com sucesso a partir do mesmo IP, satisfazendo a cláusula “successful_auth”.
    4. Evasão (Opcional – T1070.001): O atacante limpa o log de Segurança no equipamento VPN após o login bem-sucedido para esconder vestígios (não coberto por esta regra).
  • Script de Teste de Regressão: Script Bash utilizando curl (funciona em caixa atacante Linux). Ajustar variáveis para o ambiente real.

    #!/usr/bin/env bash
    # ------------------------------------------------------------------
    # Simular força bruta/enchimento de credenciais em SSLVPN para acionar regra Sigma
    # ------------------------------------------------------------------
    
    VPN_ENDPOINT="https://vpn.example.com/remote/auth"
    USERNAME="victim_user"
    PASSWORD_LIST="passwords.txt"   # uma senha por linha
    SOURCE_IP="203.0.113.45"        # deve ser roteável para o VPN
    
    # Função para realizar uma única tentativa de login
    attempt_login() {
        local pwd="$1"
        # Usando --silent para evitar desordem; --write-out para capturar código HTTP
        curl --silent --output /dev/null --write-out "%{http_code}" 
            --user "$USERNAME:$pwd" 
            "$VPN_ENDPOINT"
    }
    
    # 1. Gerar 55 tentativas falhadas (taxa ~1/segundo)
    echo "Iniciando tentativas falhadas..."
    count=0
    while IFS= read -r pwd && [ $count -lt 55 ]; do
        http_code=$(attempt_login "$pwd")
        echo "Tentativa $((count+1)): HTTP $http_code (esperado 401)"
        ((count++))
        sleep 1   # manter dentro da janela de 1 hora
    done < "$PASSWORD_LIST"
    
    # 2. Login bem-sucedido com senha correta (assume última linha no arquivo)
    echo "Realizando login bem-sucedido..."
    correct_pwd=$(tail -n1 "$PASSWORD_LIST")
    http_code=$(attempt_login "$correct_pwd")
    echo "Tentativa bem-sucedida: HTTP $http_code (esperado 200)"
    
    echo "Simulação concluída."
  • Comandos de Limpeza: Remova quaisquer arquivos temporários e redefina o limite de taxa do firewall (se alterado).

    #!/usr/bin/env bash
    # Limpeza após simulação de força bruta de SSLVPN
    
    # Excluir a lista de senhas temporária se foi criada em tempo real
    if [ -f passwords.txt ]; then
        shred -u passwords.txt
        echo "Deleted passwords.txt"
    fi
    
    # Opcionalmente, redefina quaisquer regras temporárias de iptables usadas para teste
    sudo iptables -D INPUT -s 203.0.113.45 -j DROP 2>/dev/null || true
    echo "Limpeza concluída."