Operation Blackout 2025: Phantom Check
Muestra algunas de las técnicas comunes de detección de virtualización utilizadas por los atacantes. Los jugadores podrán crear reglas de detección identificando consultas WMI específicas, comparando procesos para la detección de máquinas virtuales y analizando claves de registro o rutas de archivo asociadas con entornos virtuales.

Which WMI class did the attacker use to retrieve model and manufacturer information for virtualization detection?
Vamos a ver que eventos tiene el archivo Windows-Powershell-Operational.evtx.
Get-WinEvent -Path .\Windows-Powershell-Operational.evtx |
Group-Object Id |
Sort-Object Count -Descending |
Select-Object Count, Name
Count Name
----- ----
385 4104
74 4105
73 4106
67 4103
11 40961
11 53504
10 40962
El evento 4104 (Event ID 4104) en el Visor de eventos de Windows corresponde al Registro de bloques de scripts de PowerShell (Script Block Logging).
Agarramos el archivo Windows-Powershell-Operational.evtx y ejecutamos el siguiente comando dentro del directorio donde se encuentra, no vaya a ser que lo ejecutes en otro lado y no funcione. Filtra los eventos 4104.
Get-WinEvent -FilterHashtable @{
Path = ".\Windows-Powershell-Operational.evtx"
Id = 4104
} |
Select-Object TimeCreated, Message |
Out-GridView
En el cuadro Filter filtramos por WMI.

Win32_ComputerSystem
Which WMI query did the attacker execute to retrieve the current temperature value of the machine?
Get-WinEvent -FilterHashtable @{
Path = ".\Windows-Powershell-Operational.evtx"
Id = 4104
} |
Where-Object {
$_.Message -match 'temperature'
} |
Select-Object Message |
Format-List
Message : Creando texto de bloque de script (1 de 1):
Get-WmiObject -Query "SELECT * FROM MSAcpi_ThermalZoneTemperature" -ErrorAction SilentlyContinue
Id. de bloque de script: 5bede686-4917-4326-ab5e-ccd7fba2662c
Ruta de acceso:
SELECT * FROM MSAcpi_ThermalZoneTemperature
The attacker loaded a PowerShell script to detect virtualization. What is the function name of the script?
Filtramos por el evento 4104 donde el mensaje tengo algo relacionado a virtualización y lo mostramos de una forma bella para nuestros ojos.
Get-WinEvent -FilterHashtable @{
Path = ".\Windows-Powershell-Operational.evtx"
Id = 4104
} |
Where-Object {
$_.Message -match 'virtual|vmware|virtualbox|hyper-v|hyperv|qemu|xen|vbox|sandbox'
} |
Select-Object RecordId, Message |
Out-GridView

A primera vista aparece una función en el evento 3047. Mostramos el contenido y copiamos el nombre de la función.
Get-WinEvent -Path .\Windows-Powershell-Operational.evtx |
Where-Object RecordId -eq 3047 |
Select-Object -ExpandProperty Message
Check-VM