Rastreando uma Cadeia de Eliminação do Ransomware Akira Através de Logs de Perímetro e Endpoint
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.
Fluxo de Ataque
Detecções
Possível Enumeração de Conta de Admin ou Grupo (via linha de comando)
Ver
Possível Enumeração ou Manipulação de Conta ou Grupo (via linha de comando)
Ver
Descoberta Suspeita de Confianças de Domínio (via linha de comando)
Ver
Atividade Suspeita de VSSADMIN (via linha de comando)
Ver
Detecção de Movimento Lateral Baseado em RDP e Escalação de Privilégio em Nível de Domínio [Log de Evento de Segurança do Microsoft Windows]
Ver
Detecção de Força Bruta de SSLVPN e Preenchimento de Credenciais [Firewall]
Ver
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:
- 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). - 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. - 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”.
- 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).
- 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,
-
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."