Cacería de Stuxbot con Elastic Stack

🧠 Informe de Inteligencia de Amenazas: Stuxbot

Summary

Grupo: "Stuxbot"
Motivación: 🕵️ Espionaje (no financiero)
Plataforma afectada: 💻 Microsoft Windows
Riesgo: 🔥 Crítico — posible toma total del dominio
Método inicial: 🎣 Phishing con archivos OneNote


💥 Secuencia del ataque

Example

📧 Correo phishing → 📄 invoice.one → ⚙️ .bat → 🧩 PowerShell en memoria → 🪲 RAT persistente


🧾 Detalles técnicos

Fase Descripción Evidencia
📨 Correo Falsa factura “Invoice #76” Link a OneNote (Mega.io / Transfer.sh)
🧩 OneNote Botón oculto ejecuta batch invoice.bat
⚙️ PowerShell Descarga scripts desde Pastebin pastebin.com/raw/AvHtdKb2
🧠 RAT Mimikatz, CMD remoto, capturas Persistencia vía .exe
🔄 Movimiento lateral PsExec o WinRM Uso legítimo de herramientas firmadas

🧱 Indicadores de Compromiso (IOCs)

Tipo Valor Nota
📄 OneNote https://transfer.sh/get/kNxU7/invoice.one Archivo inicial
📄 OneNote https://mega.io/dl9o1Dz/invoice.one Variante
💻 PowerShell https://pastebin.com/raw/AvHtdKb2 Script Fase 0
🌐 C2 91.90.213.14:443 Nodo C2
🌐 C2 103.248.70.64:443 Nodo C2
🌐 C2 141.98.6.59:443 Nodo C2
🔑 Hash 018D37CBD3878258C29DB3BC3F2988B6AE688843801B9ABC28E6151141AB66D4 RAT ejecutado

🧭 TTPs / MITRE ATT&CK

Tip

Referencias clave detectadas:


🧱 Análisis en Elastic / Kibana

Info

🔍 En Kibana analizamos eventos de Sysmon y Zeek

🕓 Rango de tiempo: últimos 15 años
🌍 Zona horaria: Europe/Copenhagen

Índices:

  • 🪟 windows* → Logs de Windows + Sysmon

  • 🌐 zeek* → DNS, conexiones y red


🔍 1️⃣ Búsqueda inicial — detección del archivo OneNote

event.code:15 AND file.name:*invoice.one
Info

¿Qué busca?
El evento 15 de Sysmon indica "creación de archivo".
Aquí filtramos por cualquier archivo cuyo nombre contenga invoice.one.

📊 Resultado:
Pasted image 20251027183737.png

💡 Conclusión:
El archivo fue descargado por el usuario Bob, lo que confirma el vector inicial de phishing.


📂 2️⃣ Confirmación de creación del archivo

event.code:11 AND file.name:invoice.one*
Info

¿Qué hace?
El evento 11 de Sysmon corresponde a FileCreate.
Confirmamos que el archivo realmente se escribió en disco, no solo en caché del navegador.

📄 Resultado:
Pasted image 20251027183148.png
Pasted image 20251027183924.png

🧠 Conclusión:
Archivo descargado manualmente desde el navegador → indica interacción del usuario (clic en el enlace del correo).


🌐 3️⃣ Resolución DNS (Zeek)

source.ip:192.168.28.130 AND dns.question.name:*
Info

¿Qué hace?
Busca todas las consultas DNS realizadas por el host 192.168.28.130
para detectar si resolvió dominios relacionados con el malware.

📊 Resultado:
Pasted image 20251027183212.png
Pasted image 20251027184146.png
Pasted image 20251027184337.png
Pasted image 20251027184404.png

🧠 Conclusión:
El equipo contactó sitios de file-sharing y Pastebin, típicos de malware para descargar payloads.


💣 4️⃣ Ejecución del archivo malicioso

event.code:1 AND process.command_line:*invoice.one*
event.code:1 AND process.parent.name:"ONENOTE.EXE"
Info

¿Qué hace?
El evento 1 de Sysmon indica creación de proceso.
Aquí comprobamos si OneNote.exe abrió el archivo malicioso.

📊 Resultado:
Pasted image 20251027185025.png

⚠️ Conclusión:
El archivo .one no era un documento legítimo, sino un contenedor con script oculto.


⚙️ 5️⃣ PowerShell malicioso

event.code:1 AND process.parent.command_line:*invoice.bat*

hemos agregado process.nameprocess.args, y process.pid como columnas)

Info

¿Qué hace?
Busca procesos hijos creados desde invoice.bat.
Esperamos ver un PowerShell que descargue el payload.

📊 Resultado:
Pasted image 20251027185332.png

🧠 Conclusión:
PowerShell ejecuta código en memoria desde Pastebin → técnica T1059.001 (Command Scripting / PowerShell).


🧬 6️⃣ Seguimiento del proceso PowerShell

process.pid:"9944" and process.name:"powershell.exe"

Añadiendo algunos campos informativos adicionales (file.pathdns.question.name, y destination.ip ) como columnas a esa vista, podemos expandirla.

Info

¿Qué hace?
Rastrear el proceso PowerShell (PID 9944) para ver qué acciones ejecuta después.

📊 Resultado:
Pasted image 20251027185423.png
Pasted image 20251027185451.png

🧠 Conclusión:
Ngrok se utiliza como túnel de C2 (MITRE T1573.001).


🪲 7️⃣ Ejecución del RAT

process.name:"default.exe"
Info

Tenga en cuenta que el process.nameprocess.argsevent.codefile.pathdestination.ip, y dns.question.name Los campos se agregaron como columnas.

¿Qué busca?
Identifica ejecución del ejecutable descargado (default.exe), sospechoso de ser el RAT.

📊 Resultado:
Pasted image 20251027185620.png

process.name:"SharpHound.exe"

Pasted image 20251027185710.png
- svchost.exe (falso)

🧠 Conclusión:
El RAT desplegado realiza recolección de credenciales y enumeración de dominio.


🧗 8️⃣ Movimiento lateral

process.hash.sha256:018d37cbd3878258c29db3bc3f2988b6ae688843801b9abc28e6151141ab66d4
Info

¿Qué hace?
Busca actividad del binario identificado (hash del RAT) en otros hosts.

📊 Resultado:
Pasted image 20251027185751.png

🧠 Conclusión:
El atacante usó PsExec para moverse lateralmente → MITRE T1021.002.


🔑 9️⃣ Accesos remotos sospechosos

Code

(event.code:4624 OR event.code:4625) AND winlog.event_data.LogonType:3 AND source.ip:192.168.28.130

Info

¿Qué hace?
Busca inicios de sesión exitosos o fallidos (4624 / 4625) de tipo 3 (red)
desde el host comprometido.

📊 Resultado:
Pasted image 20251027185821.png

🧠 Conclusión:
El atacante movió lateralmente usando credenciales robadas.


🚨 Resumen del caso

Etapa Evidencia MITRE ID
📧 Phishing inicial invoice.one T1566.001
⚙️ PowerShell Pastebin script T1059.001
🪲 RAT ejecutado default.exe T1105
🌍 C2 Ngrok túnel HTTPS T1573.001
🧱 Movimiento lateral PsExec (svc-sql1) T1021.002
🧑‍💻 Credenciales válidas LogonType:3 T1078