SOC Prime Bias: Medio

07 Abr 2026 18:22

La Ilusión del Decodificado de Certificados: Cómo el Blank Grabber Stealer Oculta Su Cargador

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
La Ilusión del Decodificado de Certificados: Cómo el Blank Grabber Stealer Oculta Su Cargador
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

BlankGrabber es un infostealer basado en Python que comienza con un cargador de scripts por lotes que ‘decodifica’ un stager compilado en Rust disfrazado como un archivo de certificado. El stager realiza comprobaciones de sandbox y VM, desencripta una carga útil incrustada y deja caer múltiples componentes maliciosos, incluido un cliente XWorm y un ladrón empaquetado con PyInstaller. La exfiltración se basa en servicios web públicos como las API de bot de Telegram y los puntos finales de búsqueda de IP para mezclarse con el tráfico normal. El malware también altera la configuración del sistema, bloquea el acceso a sitios de seguridad e intenta eludir UAC para fortalecer la persistencia.

Investigación

El Equipo de Investigación de Amenazas de Splunk analizó el cargador inicial entregado a través de gofile.io, su uso de certutil.exe para decodificar la carga útil, y la lógica de anti-análisis del stager Rust. Revirtieron el flujo de desencriptación AES-GCM/CTR, extrajeron un archivo ZIP incrustado y mapearon el conjunto de cargas resultante. Las pruebas de comportamiento mostraron un amplio descubrimiento de host, captura de cámara web, recolección del portapapeles y robo de claves de host y otros artefactos sensibles.

Mitigación

Monitoree el uso sospechoso de certutil.exe, comandos de PowerShell que alteren las preferencias de Windows Defender y ediciones no autorizadas del archivo de hosts. Alerta sobre la ejecución de WinRAR/rar.exe desde rutas no estándar y búsquedas DNS hacia la API de Telegram o servicios conocidos de búsqueda de IP. Bloquee nombres de archivos maliciosos conocidos y restrinja la ejecución de binarios de Python no firmados empaquetados con PyInstaller mediante políticas de control de aplicaciones.

Respuesta

Si se detectan indicadores, aísle el punto final, preserve evidencia volátil y capture el directorio %TEMP% para revisión forense. Retire tareas programadas maliciosas o entradas de Ejecutar en el registro, revierta cualquier modificación en el archivo de hosts y restablezca las exclusiones de Windows Defender. Realice un restablecimiento completo de credenciales para las credenciales del navegador potencialmente expuestas y los datos de la billetera de criptomonedas.

"gráfico TB %% Definiciones de clase classDef técnica fill:#e6f7ff classDef operador fill:#ffcc66 classDef data fill:#d9ead3 %% Nodos u2013 Técnicas init_exec["<b>Técnica</b> – T1059.003: Shell de comandos de Windows<br/><b>Descripción</b>: El script por lotes ejecuta certutil para decodificar el stager Rust incrustado"] class init_exec technique evasion_vm["<b>Técnica</b> – T1497: Evasión de Virtualización/Sandbox<br/><b>Descripción</b>: Comprueba controladores, nombres de usuario y UUIDs para detectar entornos de análisis"] class evasion_vm technique obfuscation["<b>Técnica</b> – T1027: Archivos o Información Ofuscada<br/><b>Descripción</b>: El ejecutable Rust está disfrazado como un archivo de certificado"] class obfuscation technique decode["<b>Técnica</b> – T1140: Desofuscación/Decodificación de Archivos o Información<br/><b>Descripción</b>: Desencriptación AESu2011CTR/GCM de la carga útil encriptada (blank.aes)"] class decode technique load_stager["<b>Técnica</b> – T1105: Transferencia de Herramienta de Ingreso<br/><b>Descripción</b>: Deja caer un ejecutable con nombre aleatorio en %TEMP% y lo lanza"] class load_stager technique pers_startup["<b>Técnica</b> – T1037.005: Scripts de Inicialización de Arranque o Inicio de Sesión (Carpeta de Inicio)"] class pers_startup technique elev_uac["<b>Técnica</b> – T1548.002: Abuso del Mecanismo de Control de Elevación (elusión del Registro UAC)"] class elev_uac technique impair_def["<b>Técnica</b> – T1562.004: Deterioro de Defensas (Desactivar Windows Defender, añadir exclusión)"] class impair_def technique hide_hosts["<b>Técnica</b> – T1564.012: Ocultar Artefactos (Modificar archivo de hosts para bloquear sitios de seguridad)"] class hide_hosts technique data_collection["<b>Técnica</b> – T1082: Descubrimiento de Información del Sistema y recolección relacionada"] class data_collection data sysinfo["<b>Técnica</b> – T1082: Descubrimiento de Información del Sistema"] class sysinfo technique browser_info["<b>Técnica</b> – T1217: Descubrimiento de Información del Navegador"] class browser_info technique clipboard["<b>Técnica</b> – T1115: Datos del Portapapeles"] class clipboard technique video_capture["<b>Técnica</b> – T1125: Captura de Vídeo"] class video_capture technique wifi_passwords["<b>Técnica</b> – T1016: Descubrimiento de Configuración de Red del Sistema (contraseñas de WiFi)"] class wifi_passwords technique product_key["<b>Técnica</b> – T1012: Consultar Registro (clave del producto de Windows)"] class product_key technique removable_media["<b>Técnica</b> – T1025: Datos de Medios Extraíbles"] class removable_media technique wmi_queries["<b>Técnica</b> – T1047: Instrumentación de Administración de Windows (Consultas del Sistema)"] class wmi_queries technique archive_data["<b>Técnica</b> – T1560.001: Archivado de Datos Recopilados (herramienta RAR)"] class archive_data technique exfil_telegram["<b>Técnica</b> – T1041: Exfiltración a través del Canal C2 (API de bot de Telegram)"] class exfil_telegram technique exfil_public["<b>Técnica</b> – T1048: Exfiltración a través de Protocolo Alternativo (servicios publicos de compartición de archivos)"] class exfil_public technique self_delete["<b>Técnica</b> – T1070: Eliminación de Indicadores (Autoeliminación tras exfiltración)"] class self_delete technique %% Conexiones de flujo init_exec –>|leads_to| evasion_vm evasion_vm –>|leads_to| obfuscation obfuscation –>|leads_to| decode decode –>|leads_to| load_stager load_stager –>|enables| pers_startup load_stager –>|enables| elev_uac load_stager –>|enables| impair_def load_stager –>|enables| hide_hosts load_stager –>|starts| data_collection data_collection –>|includes| sysinfo data_collection –>|includes| browser_info data_collection –>|includes| clipboard data_collection –>|includes| video_capture data_collection –>|includes| wifi_passwords data_collection –>|includes| product_key data_collection –>|includes| removable_media data_collection –>|includes| wmi_queries data_collection –>|leads_to| archive_data archive_data –>|uses| exfil_telegram archive_data –>|uses| exfil_public exfil_telegram –>|followed_by| self_delete exfil_public –>|followed_by| self_delete "

Flujo de Ataque

Detecciones

Escalamiento de Privilegios (elusión de UAC) vía FodHelper (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Puntos de Persistencia Posibles [ASEPs – Software/Colmena de NTUSER] (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Posible Infiltración / Exfiltración de Datos / C2 a través de Servicios / Herramientas de Terceros (vía proxy)

Equipo SOC Prime
02 Abr 2026

Posible Preparación de Datos Capturados en la Carpeta Temp (vía file_event)

Equipo SOC Prime
02 Abr 2026

Posible Enumeración del Sistema (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Cambios en la Ruta del Entorno (vía registry_event)

Equipo SOC Prime
02 Abr 2026

Posible Uso de PING para Ejecución con Retraso (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Operaciones Sospechosas en la Clave del Registro Ms-settings (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Uso de Certutil para Codificación de Datos y Operaciones de Certificación (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Posible Descubrimiento de Contraseña WiFi (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Variables de Entorno en Argumentos de Línea de Comandos (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Posible Infiltración / Exfiltración de Datos / C2 a través de Servicios / Herramientas de Terceros (vía dns)

Equipo SOC Prime
02 Abr 2026

Posible Descubrimiento de Configuración de Red del Sistema (vía cmdline)

Equipo SOC Prime
02 Abr 2026

Posible Enumeración de Software de Antivirus o Firewall (vía process_creation)

Equipo SOC Prime
02 Abr 2026

Cambios Sospechosos en las Preferencias de Windows Defender (vía powershell)

Equipo SOC Prime
02 Abr 2026

Desactivar la Monitorización en Tiempo Real de Windows Defender (vía powershell)

Equipo SOC Prime
02 Abr 2026

Binarios / Scripts Sospechosos en Localización de Autostart (vía file_event)

Equipo SOC Prime
02 Abr 2026

Intentos de Comunicaciones a Dominios de Búsqueda de IP (vía dns)

Equipo SOC Prime
02 Abr 2026

Desactivar la Monitorización en Tiempo Real de Windows Defender y Otros Cambios de Preferencias (vía cmdline)

Equipo SOC Prime
02 Abr 2026

IOCs (HashSha256) para detectar: La Ilusión de Decodificación de Certificado: Cómo el Ladron de Blank Grabber Oculta su Cargador

Reglas de AI SOC Prime
02 Abr 2026

Detección de Comunicaciones C2 de BlankGrabber vía Consultas DNS [Windows Sysmon]

Reglas de AI SOC Prime
02 Abr 2026

Detectar Actividad de BlankGrabber PowerShell [Windows Powershell]

Reglas de AI SOC Prime
02 Abr 2026

Ejecución de Simulación

Prerrequisito: El chequeo de pre-vuelo de Telemetría y Línea Base debe haber pasado.

Razonamiento: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque y Comandos:
    El adversario, habiendo comprometido el punto final con el ladrón BlankGrabber, emite consultas DNS a tres servicios distintos utilizados por el malware para C2 y reconocimiento:

    1. Dominio de API de Telegram – utilizado para obtener comandos a través de un bot de Telegram.
      Resolve-DnsName -Name api.telegram.org -Type A
    2. Servicio de verificación de IP pública – obtiene la dirección IP externa de la víctima para su posterior exfiltración.
      Resolve-DnsName -Name api.ipify.org -Type A
    3. Servicio abusado de compartición de archivos – envía un pequeño fragmento de datos codificado a través de un subdominio de pastebin.com.
      Resolve-DnsName -Name maliciouspayload.pastebin.com -Type A

    Cada llamada se realiza utilizando la función nativa Resolve-DnsName de PowerShell para asegurar que los registros del cliente DNS se generen en el host local. Las tres consultas se mapean directamente a los tres bloques de selección_ de la regla Sigma, garantizando una coincidencia.

  • Script de Prueba de Regresión:

    # Simulación de C2 DNS BlankGrabber – activa regla de detección
    $domains = @(
        "api.telegram.org",
        "api.ipify.org",
        "maliciouspayload.pastebin.com"
    )
    
    foreach ($d in $domains) {
        Write-Host "Consultando $d ..."
        try {
            Resolve-DnsName -Name $d -Type A -ErrorAction Stop | Out-Null
            Write-Host "✅ $d consultado"
        } catch {
            Write-Warning "❌ Error al consultar $d : $_"
        }
        Start-Sleep -Seconds 2   # ligera demora para imitar tráfico realista
    }
  • Comandos de Limpieza:

    # No se crean artefactos persistentes por Resolve-DnsName.
    # Limpie la caché DNS para eliminar cualquier entrada residual.
    ipconfig /flushdns
    Write-Host "Caché DNS limpiada."