SOC Prime Bias: Crítico

12 Jan 2026 12:59 UTC

BlueDelta (APT28) Suplantación de Credenciales a través de Alojamiento Gratuito y Ngrok

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
BlueDelta (APT28) Suplantación de Credenciales a través de Alojamiento Gratuito y Ngrok
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

BlueDelta, un grupo afiliado al GRU también conocido como APT28/Fancy Bear, llevó a cabo múltiples campañas de robo de credenciales entre febrero y septiembre de 2025. Las campañas utilizaron servicios gratuitos de hospedaje y tunelización para alojar páginas de inicio de sesión falsas de Outlook, Google y Sophos VPN y exfiltrar las credenciales capturadas. Los señuelos incluían documentos PDF legítimos y lenguaje específico de la región para aumentar la credibilidad. La operación tuvo como objetivo entidades del sector energético, investigación nuclear, gubernamentales y académicas en Turquía, Macedonia del Norte y Uzbekistán.

Investigación

Insikt Group de Recorded Future recopiló más de una docena de páginas de phishing alojadas en servicios como Webhook.site, InfinityFree, Byet Internet Services y ngrok. JavaScript en las páginas capturó nombres de usuario, contraseñas e identificadores de las víctimas, envió señales a webhooks controlados por atacantes y luego redirigió a las víctimas a portales auténticos. Múltiples variantes reutilizaron código y modificaron nombres de variables para simplificar el despliegue. La infraestructura tenía una vida corta y utilizó acortadores de enlaces como ShortURL.at.

Mitigación

Bloquear dominios conocidos de hospedaje gratuito y tunelización, monitorear el tráfico saliente hacia servicios de webhook y reforzar el MFA en todas las cuentas con acceso externo. Educar a los usuarios sobre las páginas de phishing que imitan portales de OWA, Google y VPN, especialmente cuando se adjuntan señuelos PDF. Implementar filtrado de red para URLs maliciosas conocidas y aplicar controles de seguridad de correo electrónico para detectar enlaces PDF sospechosos.

Respuesta

Alertar a los analistas de SOC cuando se observen HTTP POSTs a endpoints de webhook conocidos y cuando se carguen páginas de robo de credenciales. poner en cuarentena la página maliciosa, aislar cuentas de usuario afectadas, forzar restablecimientos de contraseñas y revisar registros para detectar movimientos laterales. Realizar una búsqueda de amenazas para otras páginas que utilicen la misma infraestructura y actualizar listas de bloqueos en consecuencia.

Flujo de Ataque

Ejecución de Simulación

Prerequisito: La Verificación Previa 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. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.

  • Narrativa y Comandos del Ataque:

    1. Entrega inicial de phishing: Un atacante envía un correo electrónico de phishing que contiene una URL corta que redirige al webhook.site página.
    2. Interacción de la víctima: La víctima hace clic en el enlace; el navegador sigue la redirección y emite un HTTP GET solicitud a https://webhook.site/e8ae3bbd-ab02-46b7-b84c-f5f4baa5d7c7.
    3. Página de captura de credenciales: La página alberga JavaScript que roba las credenciales ingresadas y las envía por POST a la misma URL del webhook, pero el proxy solo registra la solicitud GET inicial, lo cual es suficiente para activar la regla.
    4. Para la prueba, emulamos a la víctima utilizando Invoke-WebRequest de PowerShell para solicitar la exacta URL maliciosa, reproduciendo la misma entrada del registro del proxy.
  • Script de Prueba de Regresión:

    # -------------------------------------------------
    # Simulación de Acceso al Sitio Webhook de BlueDelta (TC-20260109-9X3BZ)
    # -------------------------------------------------
    $maliciousUrls = @(
        "https://webhook.site/e8ae3bbd-ab02-46b7-b84c-f5f4baa5d7c7",
        "https://webhook.site/3791f8c0-1308-4c5b-9c82-0dc416aeb9c4"
    )
    
    foreach ($url in $maliciousUrls) {
        try {
            Write-Host "Solicitando URL maliciosa: $url"
            Invoke-WebRequest -Uri $url -UseBasicParsing -Method GET -TimeoutSec 10 | Out-Null
            Write-Host "✅ Solicitud enviada."
        } catch {
            Write-Warning "Solicitud a $url falló: $_"
        }
    }
  • Comandos de Limpieza:

    # Vaciar caché de proxy (si aplica) para evitar entradas residuales
    net stop "Servicio Squid"
    net start "Servicio Squid"
    
    # Eliminar cualquier archivo temporal creado por el script (ninguno en este caso)
    Write-Host "Limpieza completa."