SOC Prime Bias: Critical

16 Feb 2026 17:31

Operation MacroMaze: new APT28 campaign using basic tooling and legit infrastructure

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Operation MacroMaze: new APT28 campaign using basic tooling and legit infrastructure
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Summary

APT28 (Fancy Bear) ran a spear-phishing operation dubbed Operation MacroMaze targeting organizations across Western and Central Europe. The lure used weaponized Word documents with macro droppers that pulled additional scripts and moved stolen data out through legitimate webhook services. The chain sticks to low-friction tooling—VBS, batch scripts, and Microsoft Edge launched in hidden or headless mode—while keeping infrastructure on the public service webhook.site.

Investigation

Lab52 tracked four macro variants between September 2025 and January 2026, noting iterative changes in dropper behavior, scheduled-task persistence, and browser-driven exfiltration. Analysts highlighted recurring indicators including INCLUDEPICTURE fields, GUID-style filenames, and SendKeys-based automation. They also extracted relevant artifacts, URLs, and the specific scheduled-task creation flow used to maintain access.

Mitigation

Turn off automatic macro execution in Office and apply strict Outlook attachment handling. Monitor for suspicious scheduled-task creation and atypical Microsoft Edge launches in headless or off-screen modes. Block or alert on outbound traffic to webhook.site and similar public webhook platforms. Use application allow-listing to restrict execution of unknown VBS and batch files.

Response

If activity is detected, isolate the host, preserve the malicious document and related artifacts, and hunt for the created scheduled task and dropped files. Capture network telemetry to identify exfiltration endpoints and remove any malicious scheduled tasks. Perform forensic scoping for credential theft and notify stakeholders. Update detections to cover the observed IOCs and behavioral patterns.

"graph TB %% Class definitions classDef technique fill:#c2e0ff %% Node definitions t1566_001["<b>Technique</b> – T1566.001<br/><b>Name</b>: Spearphishing Attachment<br/><b>Description</b>: Send email with malicious attachment that, when opened, delivers payload."] class t1566_001 technique t1204["<b>Technique</b> – T1204<br/><b>Name</b>: User Execution<br/><b>Description</b>: Victim runs malicious file or script, initiating the attack."] class t1204 technique t1564_007["<b>Technique</b> – T1564.007<br/><b>Name</b>: Hide Artifacts: VBA Stomping<br/><b>Description</b>: Modify VBA macro code to hide malicious content while preserving functionality."] class t1564_007 technique t1059_005["<b>Technique</b> – T1059.005<br/><b>Name</b>: Visual Basic<br/><b>Description</b>: Execute commands using Visual Basic for Applications (VBA) scripts."] class t1059_005 technique t1137_001["<b>Technique</b> – T1137.001<br/><b>Name</b>: Office Template Macros<br/><b>Description</b>: Distribute malicious macros through Office template files."] class t1137_001 technique t1546_002["<b>Technique</b> – T1546.002<br/><b>Name</b>: Event Triggered Execution: Screensaver<br/><b>Description</b>: Register a malicious screensaver to execute when triggered."] class t1546_002 technique t1218_001["<b>Technique</b> – T1218.001<br/><b>Name</b>: Compiled HTML File<br/><b>Description</b>: Use compiled HTML (CHM) files to run code on the victim system."] class t1218_001 technique t1027_006["<b>Technique</b> – T1027.006<br/><b>Name</b>: HTML Smuggling<br/><b>Description</b>: Encode malicious payload within HTML to bypass security controls."] class t1027_006 technique t1102_001["<b>Technique</b> – T1102.001<br/><b>Name</b>: Dead Drop Resolver<br/><b>Description</b>: Use a deadu2011drop resolver to retrieve commands or exfiltrate data."] class t1102_001 technique t1102_002["<b>Technique</b> – T1102.002<br/><b>Name</b>: Bidirectional Communication<br/><b>Description</b>: Establish twou2011way communication channel for command and control."] class t1102_002 technique t1102_003["<b>Technique</b> – T1102.003<br/><b>Name</b>: Oneu2011Way Communication<br/><b>Description</b>: Use a unidirectional channel to send data out of the network."] class t1102_003 technique t1074_001["<b>Technique</b> – T1074.001<br/><b>Name</b>: Data Staged: Local Data Staging<br/><b>Description</b>: Gather and stage collected data on the local host before exfiltration."] class t1074_001 technique t1074_002["<b>Technique</b> – T1074.002<br/><b>Name</b>: Data Staged: Remote Data Staging<br/><b>Description</b>: Transfer staged data to a remote location for later exfiltration."] class t1074_002 technique t1560_001["<b>Technique</b> – T1560.001<br/><b>Name</b>: Archive via Utility<br/><b>Description</b>: Compress staged data using archive utilities."] class t1560_001 technique t1567_004["<b>Technique</b> – T1567.004<br/><b>Name</b>: Exfiltration Over Webhook<br/><b>Description</b>: Send exfiltrated data to an external service via webhook."] class t1567_004 technique %% Connections t1566_001 –>|leads_to| t1204 t1204 –>|leads_to| t1564_007 t1564_007 –>|leads_to| t1059_005 t1059_005 –>|leads_to| t1137_001 t1137_001 –>|leads_to| t1546_002 t1546_002 –>|leads_to| t1218_001 t1218_001 –>|leads_to| t1027_006 t1027_006 –>|leads_to| t1102_001 t1102_001 –>|leads_to| t1102_002 t1102_002 –>|leads_to| t1102_003 t1102_003 –>|leads_to| t1074_001 t1074_001 –>|leads_to| t1074_002 t1074_002 –>|leads_to| t1560_001 t1560_001 –>|leads_to| t1567_004 "

Attack Flow

Simulation Execution

Prerequisite: The Telemetry & Baseline Pre‑flight Check must have passed.

Rationale: This section details the precise execution of the adversary technique (TTP) designed to trigger the detection rule. The commands and narrative MUST directly reflect the TTPs identified and aim to generate the exact telemetry expected by the detection logic.

  • Attack Narrative & Commands:

    An APT28‑style malicious Word macro is delivered via phishing. When the document is opened, the macro runs a small VBScript that creates a WScript.Shell object. This object is then used to launch cmd.exe with a payload that writes a base‑64‑encoded PowerShell reverse shell to a temporary file and executes it. The sequence generates two process‑creation events that satisfy the Sigma rule:

    1. wscript.exe (or cscript.exe) runs the VBScript containing WScript.Shell.
    2. The same VBScript calls WScript.Shell.Run "cmd.exe /c powershell -nop -w hidden -EncodedCommand …" which spawns cmd.exe.

    The child‑parent relationship and the presence of WScript.Shell in the command line are the exact indicators the rule looks for.

  • Regression Test Script:

    # -------------------------------------------------------
    # MacroMaze simulation – launches wscript.exe → cmd.exe
    # -------------------------------------------------------
    # 1. Create a temporary VBS that uses WScript.Shell to run cmd.exe
    $vbsContent = @"
    Set sh = CreateObject("WScript.Shell")
    sh.Run "cmd.exe /c echo Malicious payload executed > %TEMP%payload.txt"
    "@
    $vbsPath = "$env:TEMPmacromaze.vbs"
    $vbsContent | Set-Content -Path $vbsPath -Encoding ASCII
    
    # 2. Execute the VBS via wscript.exe (will generate the desired telemetry)
    Start-Process -FilePath "wscript.exe" -ArgumentList "`"$vbsPath`"" -WindowStyle Hidden
    
    # Optional: pause to allow SIEM to ingest events
    Start-Sleep -Seconds 5
    # -------------------------------------------------------
  • Cleanup Commands:

    # Remove the temporary VBS and payload file
    Remove-Item -Path "$env:TEMPmacromaze.vbs" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPpayload.txt" -ErrorAction SilentlyContinue