TASK#STOMP -- VBS-to-PowerShell Windows Backdoor: Document Theft, Timestomping & Runtime C# Compilation

Rotating scheduled-task persistence, dual token-authenticated C2, and anti-forensic timestomping delivered by a VBScript orchestrator and two hidden PowerShell modules.
Threat
TASK#STOMP
Severity
HIGH -- SINGLE-SOURCE
Type
Windows Backdoor -- Document Theft & Remote Access
Access
Unconfirmed (suspected phishing: ZIP/ISO/IMG)
Version
v0.1 · 2026-09-22
Author
HuntPack
Confidence
Medium -- single infected machine (Securonix)
01

Executive Summary

TASK#STOMP is a VBScript-to-PowerShell Windows backdoor documented by Securonix Threat Research (Akshay Gaikwad and Aaron Beardslee) on 2026-09-21. Its objective is continuous, unattended document theft -- Word, PDF, PowerPoint, Excel, and archives are harvested from every fixed drive, prioritized by type and recency -- combined with credential/clipboard theft, screenshot capture, and open-ended remote-command execution over two redundant, token-authenticated command-and-control servers.

The malware's single highest-value defensive angle is not any one filename or task name -- both rotate -- it is the behavioral spine of the install chain: wscript.exe decodes and runs a VBScript from a user-writable path, that script registers four scheduled tasks from XML definitions staged under a single non-standard %LOCALAPPDATA% folder, drops a Startup-folder re-execution copy, backdates five of its own artifacts to a single fixed historical timestamp, launches two hidden PowerShell modules, and compiles C# at runtime via the legitimate csc.exe. That sequence survives every rename the operator makes to task names, folder names, or script filenames, and none of it resembles normal user or admin activity when correlated end to end.

Securonix built this analysis from one infected machine and explicitly states it cannot say how many organizations are affected, and separately states it is not making an attribution claim -- "nothing in the sample's code, infrastructure, or TTPs overlaps cleanly with a known APT's established toolkit." The document-type priority order (Word → PDF → PowerPoint → Excel, ahead of archives) points to corporate-document espionage rather than opportunistic crimeware, and reused, buggy watchdog code across both PowerShell modules is read by Securonix as the signature of a "competent-but-not-elite," mid-tier operator rather than a mature APT.

Single-source limitation: every atomic indicator in this pack traces back to one Securonix write-up analyzing one infected host. Treat IOCs as high-fidelity for THIS sample but do not assume broad campaign infrastructure, scale, or attribution from them -- see §4 and §18.

Defender priority: hunt the chain wscript.exe → ScheduledTaskRegistered (x4, AppData-rooted) → hidden PowerShell → csc.exe under a WinDefendSvc-style folder in %LOCALAPPDATA%. This behavioral spine is mechanically detectable and survives every filename/task-name rotation the operator makes -- prioritize Q1, Q3, and Q6 (§8) over any single hash or domain block.

02

Source Review & Web Hunter Notes

Sourcing constraint: Securonix is the sole independent primary source. The Hacker News, Help Net Security, and CyberPress are all derivative coverage of the same Securonix report -- none contributes an independent sample, hash, or infrastructure observation. This pack's confidence and the Falcon IOC-import CSV action column (§4, §10) are both scoped down to reflect that.

TierSourceKey FindingCarry Forward
1 -- PrimarySecuronix Threat Research blogFull technical write-up: 9-stage attack chain, all 10 file hashes, both C2 domains, static auth token, 9 API paths, MITRE mapping, and vendor-style hunting queries. States the analysis is built from a single infected machine.Yes
2 -- DerivativeThe Hacker News (Ravie Lakshmanan)Summarizes the Securonix report; adds the observation that the initial VBS filename is deliberately randomized to defeat filename-based detection, and quotes Securonix directly on native-tooling abuse.Partial
2 -- DerivativeHelp Net Security (Mirko Zorz, interview with Aaron Beardslee)Original interview quotes not in the primary blog: explicit single-machine/no-attribution statements, a shared watchdog bug in both PowerShell modules, the "mid-tier operator" assessment, the IranTenders lure-theme caveat, and responder-recommended containment order.Yes
3 -- Derivative, low-confidence captureCyberPressShort restatement of the same C2/capability facts. Direct fetch returned HTTP 403 (WAF block); content was captured via a secondary page-text extraction rather than raw HTML, so treat this snapshot as a close paraphrase, not a byte-for-byte capture.Partial

Research decisions carried into this pack

  • Every atomic IOC in §10's Falcon IOC-management CSV ships as action=detect, never prevent, and severity is capped at high (never critical) -- directly because of the single-machine provenance stated above.
  • irantenders[.]com is not shipped as a blockable indicator. Beardslee told Help Net Security the site itself is not treated as malicious and warned against blocking the whole domain on a single decoy-page observation -- see §4's non-atomic indicators note.
  • Three additional MITRE techniques observed directly in the primary source but not called out in the original tasking brief -- T1016 (System Network Configuration Discovery, via netsh), T1070.004 (File Deletion, purge.bat), and T1059.003 (Windows Command Shell) -- are folded into §6 and §7 since Falcon endpoint telemetry does not cleanly isolate them into standalone CQL.
03

Hunt Brief & Attack Chain

Attack chain

StepStageTelemetryHunt Angle
1wscript.exe executes encoded VBScript (95c9050t66.vbs) staged on the user's DesktopProcessRollup2Q1
2Creates 4 scheduled tasks from XML under %LOCALAPPDATA%\WinDefendSvc (task.xml..task4.xml), named to impersonate Windows componentsScheduledTaskRegisteredQ3
3Drops msdiag.vbs in the user Startup folder for logon persistenceProcessRollup2 / AsepValueUpdateQ2
4Terminates existing loader instances via a WMI query before relaunchProcessRollup2Q10
5Backdates 5 artifacts to a fixed historical timestamp (2024-01-15 08:30:00) -- T1070.006ProcessRollup2 (command-line) / MFT-USN forensicsQ7, Q8, native hunt (§7)
6Launches two hidden PowerShell modules -- sys_loader.ps1 (decodes diag_pack.dat) and win_conn.ps1 (decodes win_conn_cfg.dat)ProcessRollup2Q5
7Runtime C# compilation via the legitimate .NET compiler csc.exe -- T1027.004ProcessRollup2Q6
8Opens Chrome to an irantenders[.]com tender-portal URL (decoy/lure, not itself malicious)ProcessRollup2 (command-line correlation only)Native hunt (§7); not blocked -- see §4
9purge.bat cleanup routine invoked (contents not recovered by Securonix)ProcessRollup2 (invocation only)Native hunt (§7)
OngoingRecursive document theft, real-time filesystem watch, Wi-Fi password theft (netsh), clipboard theft/clear, screenshot, system-info discovery, arbitrary remote commands over dual token-authenticated C2ProcessRollup2 / DnsRequest / NetworkConnectIP4 / proxy logsQ9, native hunt (§7)

Hunt hypotheses

  1. H1 (high): wscript.exe launching a .vbs file from Desktop/Downloads/Temp is a reliable initial-stage signal regardless of filename. → Q1.
  2. H2 (high): A second wscript.exe → .vbs launch from the Startup folder on a later logon indicates re-execution persistence has already taken hold. → Q2.
  3. H3 (high): Scheduled tasks that impersonate core Windows component names but resolve to an executable under a user's AppData\Local path are almost never legitimate. → Q3.
  4. H4 (high): Any process activity rooted in an AppData folder named to impersonate a Defender/security service (WinDefendSvc-style) merits review even before other TTPs fire. → Q4.
  5. H5 (medium): Hidden, Base64-encoded PowerShell that references a .dat file is a strong loader-stage signal once correlated with H3/H4. → Q5.
  6. H6 (high): csc.exe spawned directly by powershell.exe is rare outside developer/build hosts and is the clearest single-event T1027.004 signal in this chain. → Q6.
  7. H7 (medium): PowerShell invoking SetLastWriteTime is a generic but useful timestomping signal fleet-wide. → Q7.
  8. H8 (high): The literal backdate value 2024-01-15 08:30:00 is a near-unique, high-confidence pivot once it appears alongside timestomping syntax. → Q8.
  9. H9 (high): DNS resolution of either named C2 domain is a direct, low-noise network signal. → Q9.
  10. H10 (medium): WMI enumeration/termination that references the loader's own module-name fragments indicates the self-replacement behavior in Stage 4. → Q10.
04

Consolidated IOC Table

Confidence is capped at medium and action is fixed at detect for every atomic indicator below -- Securonix built this evidence from a single infected machine and explicitly cannot speak to prevalence. This table's Action column matches the Falcon IOC-management CSV in §10 exactly, row for row -- do not deploy any of these in prevent mode without independent corroboration.

Atomic indicators (importable -- matches §10 CSV exactly)

TypeValueConfidenceActionContextExpiry
sha2565251098838fab2f3192307cac99ad2d3a71b55ba1f256412d43a9dfb3b93ac58MediumdetectStage-1/3 VBScript orchestrator -- shared hash for 95c9050t66.vbs and its Startup-folder copy msdiag.vbs2027-03-22
sha2567a9e7b4c2f75f7de03838f5c9589148cdbefb76200ea3cf2d6f1a2288c302493MediumdetectScheduled-task XML definition task.xml ("Local Credential Manager")2027-03-22
sha256ff12c194128d0733434ce1580691bfde5896f14ba9f360c0f6c3a622eed24312MediumdetectScheduled-task XML definition task2.xml ("Network Audio Service")2027-03-22
sha256e46111264ebd91e80bbad85141d254930354faa0f15d3bbfaf4826adf5a53c8dMediumdetectScheduled-task XML definition task3.xml ("Windows Display Manager")2027-03-22
sha256335d19f4e757e0c36c9ef1cb4638e151aac041b7814e3eb8bda6f78ff7011f32MediumdetectScheduled-task XML definition task4.xml ("Device Credential Handler")2027-03-22
sha256103b4d4a666bc0a89c10c9df55f54f4be5fa111e8429c37ae14fa8f16cb50fe8MediumdetectHidden PowerShell module sys_loader.ps1 -- document theft / surveillance branch2027-03-22
sha25602ba7c982b68ec8f5a1cb47c6f3969f3f2f38ea9b4ebb8833d1b8b0ba2ab1407MediumdetectEncoded config diag_pack.dat decoded by sys_loader.ps12027-03-22
sha2568f448080cec5cba2f0ba6a960bc3425a2d99a6767464f581d13476985eaa4a2eMediumdetectHidden PowerShell module win_conn.ps1 -- secondary C2 channel branch2027-03-22
sha25641231e7f5db49055dbe4246462e60077a67b1845696df3947eb1121fe392947fMediumdetectEncoded config win_conn_cfg.dat decoded by win_conn.ps12027-03-22
sha256bd200756b4e996a6e7cc63036aa760f9585f252c55a60cab12f29e389b96e0efMediumdetectCleanup script purge.bat (contents not recovered by Securonix)2027-03-22
domaincorecloudfileshare[.]xyzMediumdetectPrimary token-authenticated C2 server2027-03-22
domainattachmentsharingdrive[.]xyzMediumdetectRedundant/failover token-authenticated C2 server2027-03-22

Non-atomic indicators (behavioral -- not Falcon IOC-manageable, hunt only)

TypeValueConfidenceActionContext
http-headerX-Auth-Token: rRRcoksYyhkueVRBv4V6yFDW2ZHRwdpKzJjI2wRoMediumhuntStatic, hardcoded auth token on every C2 request. Not rotated per victim -- Beardslee called it a durable, high-confidence network indicator if seen against ANY domain. Hunt via proxy/web-gateway logs, not endpoint IOC import.
url-path (x9)/status /upload /api/client_info /api/client_map /api/register /api/client_online /api/heartbeat /api/c2/poll/ /api/c2/result/MediumhuntC2 API paths. Combine with the auth token or the two C2 domains for a high-confidence proxy-log hit.
path%LOCALAPPDATA%\WinDefendSvcMediumhuntStaging folder for all four task XML files and both PowerShell modules; name impersonates a Windows Defender service.
taskname (x8)"Local Credential Manager", "Network Audio Service", "Windows Display Manager", "Device Credential Handler" (install); "Network Session Agent", "System Audio Controller", "Host Session Broker", "System Registry Handler" (startup re-exec)MediumhuntCamouflage names only -- expect rotation in future samples. See Q3 TUNING for exclusions.
domain (do not block)irantenders[.]comLowenrich (context only)Legitimate third-party Iranian government tender/contracts portal, abused as a decoy page opened in Chrome during Stage 8. Securonix explicitly does not treat this site as malicious and warns against blocking the whole domain on one decoy-page observation. Use only for lure-theme correlation, never as a block/detect indicator.
url (context only)hxxps://www[.]irantenders[.]com/tender/tot-delete-6e137de.phpLowenrich (context only)Specific decoy path opened by the VBS orchestrator. Useful as a process-command-line pivot on hosts already flagged by Q1/Q3; not a blocklist candidate.
timestamp pivot2024-01-15 08:30:00High (as a pivot, not a campaign-start date)huntFixed anti-forensic backdate applied to 5 artifacts. Securonix explicitly cautions this is fabricated by the attacker and must not be used to infer when the real campaign began.
05

Affected Surface & Telemetry Matrix

SurfaceRequired TelemetryPriorityGap Risk
Windows endpoints (workstations/laptops)Falcon process creation (ProcessRollup2/SyntheticProcessRollup2)HighLow -- native Falcon sensor coverage
Scheduled Task SchedulerFalcon ScheduledTaskRegisteredHighLow -- direct Falcon event
Startup folder / autostart locationsFalcon process creation + AsepValueUpdateHighLow
DNS / network egressFalcon DnsRequest, NetworkConnectIP4HighLow, unless split-DNS or third-party DoH bypasses the sensor
Web proxy / TLS-inspected trafficProxy/web-gateway logs (HTTP header + URI path)MediumMedium -- requires TLS interception to see the X-Auth-Token header and API paths; not all orgs decrypt
Fixed-drive document storesFalcon FileOpenInfo/FileReadInfo (bulk-read pattern), DLP/CASB egress loggingMediumMedium -- Falcon endpoint telemetry sees the reads but bulk document-exfil detection is stronger with DLP
Wi-Fi credential storeFalcon process creation (netsh command-line auditing)MediumLow
Windows Event Log (non-Falcon estates / IR triage)Security 4688/4698/4699/4702, Sysmon Event ID 1/11MediumMedium -- coverage depends on audit-policy configuration; see §7
NTFS filesystem metadata (forensics)MFT $STANDARD_INFORMATION/$FILE_NAME, USN JournalLow (IR-only, not real-time)Medium -- requires offline/forensic tooling, not covered by live EDR telemetry
06

ATT&CK Mapping

TacticTechniqueNameObserved BehaviorQuery / Control
ExecutionT1059.005Visual BasicInitial and Startup-folder re-execution via wscript.exeQ1, Q2
ExecutionT1059.001PowerShellHidden, Base64-encoded PowerShell loads both modulesQ5, Q7, Q8, Q10
ExecutionT1059.003Windows Command ShellBatch cleanup (purge.bat) and netsh invocations via cmd.exeNative hunt (§7)
PersistenceT1053.005Scheduled TaskFour tasks registered from AppData-rooted XML, camouflaged as system componentsQ3
PersistenceT1547.001Registry Run Keys / Startup Foldermsdiag.vbs dropped to the Startup folderQ2
Defense EvasionT1036.005Match Legitimate Name or LocationTask names and WinDefendSvc folder impersonate Windows componentsQ3, Q4
Defense EvasionT1070.006Timestomp5 artifacts backdated to 2024-01-15 08:30:00Q7, Q8; native MFT/USN forensics (§7)
Defense EvasionT1070.004File Deletionpurge.bat cleanup routine (contents unrecovered)Native hunt (§7)
Defense EvasionT1027.004Compile After DeliveryRuntime C# compilation via csc.exeQ6
DiscoveryT1057Process DiscoveryWMI query enumerates/terminates existing loader instancesQ10
DiscoveryT1082System Information DiscoverySystem metadata collected for C2 registrationFolded into Q5/Q9 correlation; no standalone query (see §15 gap)
DiscoveryT1016System Network Configuration Discoverynetsh used both for Wi-Fi password theft and network contextNative hunt (§7)
CollectionT1119Automated CollectionRecursive fixed-drive document scan + real-time FileSystemWatcher§7 native hunt; Falcon FileOpenInfo baseline recommended
CollectionT1005Data from Local SystemWord/PDF/PPT/Excel/archive harvesting, skips files over 500 MB§7 native hunt
CollectionT1113Screen CaptureScreenshot of the primary display§7 native hunt
CollectionT1115Clipboard DataClipboard theft and clipboard clearing§7 native hunt
Credential AccessT1552.001Credentials In FilesSaved Wi-Fi passwords harvested via netshNative hunt (§7)
Command and ControlT1071.001Web ProtocolsDual token-authenticated HTTP(S) C2 channelsQ9; proxy-log hunt (§7)
Command and ControlT1105Ingress Tool TransferC2 supports arbitrary remote command execution / additional payload stagingQ9
ExfiltrationT1041Exfiltration Over C2 ChannelStolen documents uploaded to the C2 /upload endpointQ9; proxy-log hunt (§7)
07

Native Audit-Log Hunts

These checks do not require Falcon and cover techniques (T1016, T1059.003, T1070.004, T1119, T1005, T1113, T1115, T1552.001) that endpoint process telemetry alone represents only partially. Use them to backstop §8's CQL queries, especially in estates with inconsistent sensor coverage.

  1. Security Event 4698/4699/4702 (Task Created/Deleted/Updated): filter for the eight known camouflage task names in §4, independent of EDR. Requires "Audit Other Object Access Events" enabled.
  2. Sysmon Event ID 11 (FileCreate): alert on file creation under %LOCALAPPDATA%\WinDefendSvc\ and the Startup folder for any user, regardless of the process that wrote it.
  3. NTFS timestamp forensics: during IR triage, compare $STANDARD_INFORMATION vs $FILE_NAME timestamps in the MFT and review the USN Journal for the five artifacts. Securonix explicitly calls out that several scripts/data files under a user-writable path sharing the identical historical value 2024-01-15 08:30:00 is itself a high-confidence hunting pivot, independent of any live telemetry.
  4. Wi-Fi credential theft (T1552.001, T1016): Security Event 4688 command-line auditing for netsh wlan show profile combined with key=clear, launched by a non-interactive parent (wscript.exe, powershell.exe, or cmd.exe) rather than an interactively-typed console session.
  5. Proxy / web-gateway log review (T1071.001, T1016): search for the static X-Auth-Token value or any request to the nine listed API paths (§4) against ANY destination, not just the two known domains -- the token does not rotate per victim and is Securonix's strongest standalone network indicator. This is also the only practical way to catch the malware on hosts without endpoint telemetry.
  6. Decoy-page correlation (context only, T1059.003): browser history / process-creation review for chrome.exe launched with the irantenders[.]com/tender/tot-delete-6e137de.php URL as a command-line argument. Use strictly to corroborate a host already flagged by Q1/Q3 -- see §4 for why the domain itself is not blocked.
  7. Cleanup-script invocation (T1070.004): Security Event 4688 / Prefetch / AmCache review for any cmd.exe or powershell.exe command line ending in purge.bat. Contents of the script were never recovered by Securonix, so this hunts the invocation, not the payload.
  8. Bulk document read/collection baseline (T1119, T1005): DLP/CASB or Falcon FileOpenInfo baseline for a single process performing high-volume sequential reads of .docx/.pdf/.pptx/.xlsx/archive files across multiple fixed drives in a short window, especially from a process image outside the user's normal office-suite footprint.
  9. Screenshot / clipboard abuse (T1113, T1115): where available, EDR or DLP clipboard-monitoring telemetry for a script-host or PowerShell process reading clipboard contents and immediately clearing it -- the clear-after-read pattern is unusual for legitimate tooling.
08

CrowdStrike LogScale CQL Hunt Queries

Pick your tenant's cloud first — every "Open in Falcon" button below uses this selection.
Q1 · Encoded VBScript Launch via wscript.exe (Initial Stage)
CONF HIGHFP LOWCOST LOW

Looks for: wscript.exe launching a .vbs script from Desktop, Downloads, or a Temp path -- the TASK#STOMP initial-stage signature regardless of the random filename used.

// HUNT: wscript.exe launching an encoded VBScript staged in a user-writable path
// MITRE: T1059.005
// CONF: high  FP: low  COST: low | REQUIRES: Falcon process telemetry (ProcessRollup2 / SyntheticProcessRollup2)
// FALSE POSITIVES: a handful of legacy logon/admin scripts still run .vbs from Desktop in some estates -- verify the script name is high-entropy / random rather than a known internal script.
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^wscript\.exe$/i
| CommandLine=/\.vbs/i
| CommandLine=/(\\Desktop\\|\\Downloads\\|\\AppData\\Local\\Temp\\)/i
| table([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, SHA256HashData, aid])
Q2 · Startup-Folder VBScript Re-Execution Persistence
CONF HIGHFP LOWCOST LOW

Looks for: a second wscript.exe/.vbs launch, this time from the Startup folder, indicating the persistence copy is already re-executing at logon.

// HUNT: Startup-folder VBScript re-execution at logon (persistence copy)
// MITRE: T1547.001, T1059.005
// CONF: high  FP: low  COST: low | REQUIRES: Falcon process telemetry (ProcessRollup2)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^wscript\.exe$/i
| CommandLine=/\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\/i
| CommandLine=/\.vbs/i
| table([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, SHA256HashData, aid])
Q3 · Camouflaged Scheduled Task Registered from AppData XML
CONF HIGHFP MEDIUMCOST LOW

Looks for: a scheduled task registered under one of the eight known camouflage names whose executable resolves to a user-writable AppData\Local path. FP: some legitimate per-user updaters also live under AppData\Local -- see TUNING in the card.

// HUNT: Scheduled task registered from an AppData-rooted XML using a camouflaged system-component name
// MITRE: T1053.005, T1036.005
// CONF: high  FP: medium  COST: low | REQUIRES: Falcon ScheduledTaskRegistered telemetry
// FALSE POSITIVES: a small number of legitimate per-user updaters (browser/cloud-sync agents) also register scheduled tasks with executables under AppData\Local -- signed, well-known vendor paths cause most of the noise here.
// TUNING: exclude TaskExecutable paths signed by trusted vendors (Google\Update, Microsoft\Edge, OneDrive, Dropbox, Adobe) and cross-check the task's referenced binary hash against the known-bad hash table in Section 4 before escalating.
#event_simpleName=ScheduledTaskRegistered
| TaskName=/^(Local Credential Manager|Network Audio Service|Windows Display Manager|Device Credential Handler|Network Session Agent|System Audio Controller|Host Session Broker|System Registry Handler)$/i
| TaskExecutable=/\\AppData\\Local\\/i
| table([ComputerName, UserName, TaskName, TaskExecutable, TaskAuthor, aid])
Q4 · Process Activity in a Defender-Impersonating AppData Folder
CONF HIGHFP MEDIUMCOST LOW

Looks for: any process rooted in a WinDefendSvc-style AppData staging folder. FP: a small number of legitimate security agents use similarly-named folders -- see TUNING in the card.

// HUNT: Process activity rooted in a Defender-impersonating AppData staging folder
// MITRE: T1036.005
// CONF: high  FP: medium  COST: low | REQUIRES: Falcon process telemetry (ProcessRollup2)
// FALSE POSITIVES: some legitimate third-party security agents also stage components under an AppData\Local\*Defend*/*Svc* style folder name -- verify against your EDR/AV vendor's real installer paths first.
// TUNING: exclude known-good AV/EDR agent install paths (check ImageFileName against your endpoint-security vendor's documented install directory) before treating a WinDefendSvc-style hit as malicious.
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^(wscript\.exe|powershell\.exe|csc\.exe)$/i
| ImageFileName=/\\AppData\\Local\\WinDefendSvc\\/i
| table([ComputerName, UserName, FileName, ImageFileName, CommandLine, ParentBaseFileName, aid])
Q5 · Hidden Base64 PowerShell Loading a .dat Config Payload
CONF HIGHFP MEDIUMCOST LOW

Looks for: hidden, -enc PowerShell that also references a .dat file -- the loader-stage signature for both hidden modules. FP: RMM/deployment tooling also uses hidden encoded PowerShell -- see TUNING in the card.

// HUNT: Hidden, Base64-encoded PowerShell loading a .dat configuration payload
// MITRE: T1059.001, T1027.004
// CONF: high  FP: medium  COST: low | REQUIRES: Falcon process telemetry (ProcessRollup2)
// FALSE POSITIVES: RMM agents and some deployment/orchestration tooling also launch hidden, Base64-encoded PowerShell -- exclude known RMM binary paths and correlate with the WinDefendSvc parent staging folder from Q4 before escalating.
// TUNING: exclude signed RMM/agent executables (ConnectWise, NinjaOne, Datto, etc.) and require CommandLine to also reference a .dat file before alerting at high severity.
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^powershell\.exe$/i
| CommandLine=/-[Ee][Nn][Cc]/i
| CommandLine=/\.dat/i
| table([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, ParentCommandLine, aid])
Q6 · Runtime C# Compilation (csc.exe) Spawned from PowerShell
CONF HIGHFP MEDIUMCOST LOW

Looks for: csc.exe spawned directly by powershell.exe -- the runtime C# compilation stage. FP: developer/build hosts do this legitimately -- see TUNING in the card.

// HUNT: Runtime C# compilation via csc.exe spawned directly from PowerShell
// MITRE: T1027.004, T1059.001
// CONF: high  FP: medium  COST: low | REQUIRES: Falcon process telemetry (ProcessRollup2)
// FALSE POSITIVES: developer workstations and CI/build hosts legitimately spawn csc.exe from PowerShell-driven build scripts (MSBuild, module publishing pipelines).
// TUNING: exclude hosts tagged as developer/build endpoints, and exclude sessions where ParentCommandLine references MSBuild.exe or a known internal build-tooling path.
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^csc\.exe$/i
| ParentBaseFileName=/^powershell\.exe$/i
| table([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, ParentCommandLine, aid])
Q7 · PowerShell LastWriteTime Backdating (Timestomping)
CONF MEDIUMFP MEDIUMCOST LOW

Looks for: PowerShell invoking SetLastWriteTime, a generic timestomping signal. FP: backup/restore/sync tooling can trigger this -- see TUNING in the card.

// HUNT: PowerShell command line invoking LastWriteTime backdating (timestomping)
// MITRE: T1070.006
// CONF: medium  FP: medium  COST: low | REQUIRES: Falcon process telemetry (ProcessRollup2)
// FALSE POSITIVES: a small number of backup, sync, and file-restore utilities legitimately reset LastWriteTime during recovery operations.
// TUNING: exclude known backup/restore/sync tooling (Robocopy /COPY:DAT workflows, backup-agent restore jobs) and prioritize hits where the same host also matches Q1-Q6 in the same session.
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^powershell\.exe$/i
| CommandLine=/SetLastWriteTime/i
| table([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, aid])
Q8 · High-Confidence Pivot on the Fixed Timestomp Date (2024-01-15 08:30:00)
CONF HIGHFP LOWCOST LOW

Looks for: the same timestomping syntax as Q7, scoped to the literal TASK#STOMP backdate value 2024-01-15 -- a near-unique, high-confidence pivot.

// HUNT: High-confidence pivot on the TASK#STOMP anti-forensic backdate value (2024-01-15 08:30:00)
// MITRE: T1070.006
// CONF: high  FP: low  COST: low | REQUIRES: Falcon process telemetry (ProcessRollup2)
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^powershell\.exe$/i
| CommandLine=/2024-01-15/
| CommandLine=/SetLastWriteTime|LastWriteTime/i
| table([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, aid])
Q9 · DNS Resolution of TASK#STOMP C2 Domains
CONF HIGHFP LOWCOST LOW

Looks for: DNS resolution of either named C2 domain -- a direct, low-noise network signal.

// HUNT: DNS resolution of either TASK#STOMP token-authenticated C2 domain
// MITRE: T1071.001, T1105, T1041
// CONF: high  FP: low  COST: low | REQUIRES: Falcon DNS telemetry (DnsRequest)
#event_simpleName=DnsRequest
| DomainName=/^(corecloudfileshare\.xyz|attachmentsharingdrive\.xyz)$/i
| table([ComputerName, UserName, DomainName, aid])
Q10 · WMI Enumeration/Termination of Loader Module Instances
CONF MEDIUMFP MEDIUMCOST LOW

Looks for: WMI-based process enumeration/termination that references the loader's own module-name fragments. FP: WMI process queries are common in admin tooling -- see TUNING in the card.

// HUNT: WMI process enumeration/termination targeting the loader's own module names before relaunch
// MITRE: T1057
// CONF: medium  FP: medium  COST: low | REQUIRES: Falcon process telemetry (ProcessRollup2)
// FALSE POSITIVES: WMI-based process enumeration and termination via Get-WmiObject/Get-CimInstance is common in legitimate monitoring and software-deployment scripts.
// TUNING: require the CommandLine to reference Win32_Process together with one of the loader's own module-name fragments (sys_loader, win_conn, sysloader, winconn) before treating this as a TASK#STOMP indicator rather than generic admin tooling.
#event_simpleName=/ProcessRollup2|SyntheticProcessRollup2/
| FileName=/^powershell\.exe$/i
| CommandLine=/(Get-WmiObject|Get-CimInstance)/i
| CommandLine=/Win32_Process/i
| CommandLine=/(sys_loader|win_conn|sysloader|winconn)/i
| table([ComputerName, UserName, FileName, CommandLine, ParentBaseFileName, aid])
09

CrowdStrike Custom IOA Recommendations

Given the single-machine provenance (§2, §4), every recommendation below deploys in Detect / Alert-only mode first. None should be promoted to Prevent/Block until a second independent sample or corroborating source confirms the pattern is stable across more than one host.

IOA NameDetection PatternExclusionsDeployment Path
Camouflaged Scheduled Task from AppData XMLScheduledTaskRegistered where TaskName matches one of the 8 known names AND TaskExecutable path contains \AppData\Local\ (source: Q3)Signed vendor updater paths (Google\Update, Microsoft\Edge, OneDrive, Dropbox, Adobe)Custom IOA rule group, Detect-only → 14-day monitor → re-evaluate for Prevent only after a second corroborating source is published
wscript.exe VBS Launch from User-Writable PathProcessRollup2 where FileName=wscript.exe AND CommandLine matches *.vbs AND path is Desktop/Downloads/Temp (source: Q1)Known internal logon-script VBS names, if any exist in your estate (allowlist by hash, not by path)Custom IOA rule group, Detect-only → 14-day monitor
Runtime C# Compilation from PowerShellProcessRollup2 where FileName=csc.exe AND ParentBaseFileName=powershell.exe (source: Q6)Tagged developer/build hosts; ParentCommandLine referencing MSBuild.exeCustom IOA rule group, Detect-only → 14-day monitor -- high-value even in Detect mode since it is rare fleet-wide
10

Machine-Readable IOC Appendix

Falcon IOC Management CSVbulk import -- all rows action=detect
type,value,action,severity,expiration,description,tags
sha256,5251098838fab2f3192307cac99ad2d3a71b55ba1f256412d43a9dfb3b93ac58,detect,high,2027-03-22,TASK#STOMP VBScript orchestrator (95c9050t66.vbs / msdiag.vbs),campaign:TASKSTOMP
sha256,7a9e7b4c2f75f7de03838f5c9589148cdbefb76200ea3cf2d6f1a2288c302493,detect,high,2027-03-22,TASK#STOMP scheduled-task XML (task.xml),campaign:TASKSTOMP
sha256,ff12c194128d0733434ce1580691bfde5896f14ba9f360c0f6c3a622eed24312,detect,high,2027-03-22,TASK#STOMP scheduled-task XML (task2.xml),campaign:TASKSTOMP
sha256,e46111264ebd91e80bbad85141d254930354faa0f15d3bbfaf4826adf5a53c8d,detect,high,2027-03-22,TASK#STOMP scheduled-task XML (task3.xml),campaign:TASKSTOMP
sha256,335d19f4e757e0c36c9ef1cb4638e151aac041b7814e3eb8bda6f78ff7011f32,detect,high,2027-03-22,TASK#STOMP scheduled-task XML (task4.xml),campaign:TASKSTOMP
sha256,103b4d4a666bc0a89c10c9df55f54f4be5fa111e8429c37ae14fa8f16cb50fe8,detect,high,2027-03-22,TASK#STOMP PowerShell module (sys_loader.ps1),campaign:TASKSTOMP
sha256,02ba7c982b68ec8f5a1cb47c6f3969f3f2f38ea9b4ebb8833d1b8b0ba2ab1407,detect,high,2027-03-22,TASK#STOMP encoded config (diag_pack.dat),campaign:TASKSTOMP
sha256,8f448080cec5cba2f0ba6a960bc3425a2d99a6767464f581d13476985eaa4a2e,detect,high,2027-03-22,TASK#STOMP PowerShell module (win_conn.ps1),campaign:TASKSTOMP
sha256,41231e7f5db49055dbe4246462e60077a67b1845696df3947eb1121fe392947f,detect,high,2027-03-22,TASK#STOMP encoded config (win_conn_cfg.dat),campaign:TASKSTOMP
sha256,bd200756b4e996a6e7cc63036aa760f9585f252c55a60cab12f29e389b96e0ef,detect,high,2027-03-22,TASK#STOMP cleanup script (purge.bat),campaign:TASKSTOMP
domain,corecloudfileshare.xyz,detect,high,2027-03-22,TASK#STOMP primary C2,campaign:TASKSTOMP
domain,attachmentsharingdrive.xyz,detect,high,2027-03-22,TASK#STOMP redundant C2,campaign:TASKSTOMP
Behavioral Signatureshunt / enrich, not importable
# TASK#STOMP behavioral signatures -- hunt/enrich only, not Falcon-importable IOC types
process: wscript.exe -> CommandLine matches *.vbs, launched from Desktop|Downloads|AppData\Local\Temp|Startup
process: powershell.exe -> CommandLine matches -enc AND *.dat (hidden loader-stage pattern)
process: csc.exe -> ParentBaseFileName = powershell.exe (runtime C# compilation, T1027.004)
process: powershell.exe -> CommandLine matches SetLastWriteTime AND 2024-01-15 08:30:00 (timestomp pivot)
path: %LOCALAPPDATA%\WinDefendSvc\ (staging folder for task*.xml, sys_loader.ps1, win_conn.ps1)
scheduled-task names (install): Local Credential Manager | Network Audio Service | Windows Display Manager | Device Credential Handler
scheduled-task names (startup re-exec): Network Session Agent | System Audio Controller | Host Session Broker | System Registry Handler
http-header: X-Auth-Token: rRRcoksYyhkueVRBv4V6yFDW2ZHRwdpKzJjI2wRo (static, not rotated per victim)
http-paths: /status /upload /api/client_info /api/client_map /api/register /api/client_online /api/heartbeat /api/c2/poll/ /api/c2/result/
Named Malware / Toolingcomponent -> hash map
# TASK#STOMP named components -> mapped SHA256 (see grab-csv for full detail)
95c9050t66.vbs        5251098838fab2f3192307cac99ad2d3a71b55ba1f256412d43a9dfb3b93ac58   Stage 1 -- Desktop VBScript orchestrator
msdiag.vbs             5251098838fab2f3192307cac99ad2d3a71b55ba1f256412d43a9dfb3b93ac58   Stage 3 -- Startup-folder persistence copy (same content/hash as 95c9050t66.vbs)
sys_loader.ps1          103b4d4a666bc0a89c10c9df55f54f4be5fa111e8429c37ae14fa8f16cb50fe8   Stage 6 -- document theft / surveillance module
diag_pack.dat            02ba7c982b68ec8f5a1cb47c6f3969f3f2f38ea9b4ebb8833d1b8b0ba2ab1407   Encoded config decoded by sys_loader.ps1
win_conn.ps1              8f448080cec5cba2f0ba6a960bc3425a2d99a6767464f581d13476985eaa4a2e   Stage 6 -- secondary C2 / command-execution module
win_conn_cfg.dat           41231e7f5db49055dbe4246462e60077a67b1845696df3947eb1121fe392947f  Encoded config decoded by win_conn.ps1
purge.bat                   bd200756b4e996a6e7cc63036aa760f9585f252c55a60cab12f29e389b96e0ef  Stage 9 -- cleanup routine, contents not recovered
Do-Not-Block Context / Patch-Auditirantenders caveat + config checklist
# Context-only -- do NOT add to a block/deny list on this evidence alone
domain: irantenders[.]com
  -- legitimate Iranian government tender/contracts portal; Securonix explicitly
     states it is not malicious and warns against blocking the whole domain.
url (containment-eligible per Securonix): hxxps://www[.]irantenders[.]com/tender/tot-delete-6e137de.php
  -- the SPECIFIC decoy path may be blocked/removed during active containment;
     do not extend that action to the parent domain.

# Patch / configuration audit checklist (run before deploying Section 12 hardening)
Confirm Windows Script Host (WSH) execution policy / current restriction state
Confirm PowerShell execution policy and Script Block Logging (Event ID 4104) status
Confirm ASR rule "Block execution of potentially obfuscated scripts" (block/audit/off)
Confirm mail-gateway handling of .iso/.img/.vbs attachments
Confirm Task Scheduler audit logging (4698/4699/4702) is enabled
11

Detection Validation Gates

GateRequirementStatus Before Promotion
Telemetry readyProcessRollup2/SyntheticProcessRollup2, ScheduledTaskRegistered, and DnsRequest confirmed flowing for the target host groupVerify with a 10-minute head(10) run of Q1 and Q3 before relying on either
Benign baselineQ3-Q7, Q10 (FP medium) run in Detect-only mode for a minimum 14-day window against production trafficNot yet run against a live tenant -- pending deployment
Positive testsEach query validated against at least one known-bad sample: the published hash set (§4/§10) or a lab replay of the attack chainValidate field names and regex behavior in a non-production Falcon workspace before relying on results in an active incident
Promotion criteriaZero false positives across the 14-day baseline AND a second independent source corroborates the pattern beyond this single Securonix sampleNot met -- single-source pack; hold all queries at Detect/Hunt, do not promote to Prevent (§9)

Validation gates fold in the coverage-map caveats from §15: this pack should be re-scored once a second corroborating source or additional infected-host telemetry becomes available.

12

Hardening -- Tiered & Deployable

Immediate (this week)

Restrict Windows Script Host for standard users (M1042, M1038). Block wscript.exe/cscript.exe from executing scripts located in Desktop, Downloads, and Temp for non-administrative accounts, via an AppLocker or WDAC rule, or Group Policy WSH restriction. Cited directly by Securonix/Beardslee as the top containment recommendation. Verify: Get-AppLockerPolicy -Effective | Select-Object -ExpandProperty RuleCollections shows the WSH deny rule active.

Enable ASR rule "Block execution of potentially obfuscated scripts" (M1040). CIS Microsoft Windows 11 Benchmark and the MS Security Baseline both recommend this ASR rule in Block mode. Verify: Get-MpPreference | Select-Object -ExpandProperty AttackSurfaceReductionRules_Ids includes 5beb7efe-fd9a-4556-801d-275e5ffc04cc with action Block.

Block the two confirmed C2 domains at the DNS/proxy layer (M1037). corecloudfileshare[.]xyz and attachmentsharingdrive[.]xyz only -- do not extend to irantenders[.]com (§4). Verify: a DNS sinkhole/RPZ query against both domains returns NXDOMAIN or the sinkhole address.

Near term (1-4 weeks)

Enable PowerShell Script Block Logging and Constrained Language Mode for standard users (M1042, M1045). Captures decoded content of Base64/-enc invocations (Q5, Q7, Q8) even if a future variant changes filenames. Verify: Event ID 4104 is being generated in the Microsoft-Windows-PowerShell/Operational log; $ExecutionContext.SessionState.LanguageMode returns ConstrainedLanguage for standard users.

Strip or sandbox ISO/IMG/VBS attachments at the mail gateway (M1031, M1049). Beardslee's best estimate for the delivery vector is a phishing email carrying a ZIP or ISO/IMG attachment containing the script -- this is the most likely point to stop the chain before Stage 1. Verify: send a benign test message with a .vbs-in-.iso attachment and confirm the gateway strips or detonates it.

Deploy Custom IOA detections from §9 in Detect-only mode. 14-day monitor before any promotion decision, per the single-source validation gate in §11.

Strategic (1-3 months)

Application control (WDAC) for csc.exe and the .NET compiler toolchain on non-developer endpoints (M1038). Runtime C# compilation via csc.exe (T1027.004, Q6) is rare outside build/dev hosts; a WDAC policy denying csc.exe execution fleet-wide except on a tagged developer-host allowlist closes this stage entirely. Verify: citool.exe --policy-list (or legacy Get-CIPolicy) shows the csc.exe deny rule scoped to non-developer device groups.

DLP/CASB bulk-document-egress monitoring (M1057). Addresses T1119/T1005 -- the malware's core objective -- independent of any single detection rule catching the loader stage. Verify: a DLP test policy flags a simulated bulk read/upload of 50+ Office documents from a single endpoint within a short window.

13

Deployable Playbooks

Playbook 1 -- Restrict Windows Script Host for standard users

# Playbook 1 -- Restrict Windows Script Host for standard users
# Prerequisites: Domain Admin or local GPO edit rights; AppLocker/WDAC already
#                enabled in at least Audit mode on target OUs.
# Reboot required: No (GPO refresh via gpupdate /force is sufficient)
# Rollback: Set the WSH rule action back to "Not Configured" / delete the
#           AppLocker rule, then gpupdate /force. No data loss; scripts that
#           were blocked simply become runnable again.

# 1. Create/verify an AppLocker Script Rule collection is in Enforce mode
Set-AppLockerPolicy -XmlPolicy "C:\Policies\WSH-Restrict.xml" -Merge

# 2. Deny .vbs/.js execution from user-writable roots for the Everyone group,
#    excluding a signed-script allowlist if one exists in your estate
# (Author via Local Security Policy > Application Control Policies > AppLocker
#  > Script Rules > New Rule > Path: %OSDRIVE%\Users\*\Desktop\*;
#  %OSDRIVE%\Users\*\Downloads\*; %OSDRIVE%\Users\*\AppData\Local\Temp\*)

# 3. Push via GPO and force refresh on a pilot OU first
gpupdate /target:computer /force

# 4. Verify enforcement
Get-AppLockerPolicy -Effective | Select-Object -ExpandProperty RuleCollections

Playbook 2 -- Enable ASR rule: Block execution of potentially obfuscated scripts

# Playbook 2 -- Enable ASR rule: Block execution of potentially obfuscated scripts
# Prerequisites: Microsoft Defender Antivirus active (or Defender in passive
#                mode alongside a third-party AV, ASR rules still apply);
#                pilot ring identified before fleet-wide Block.
# Reboot required: No
# Rollback: Re-run with -AttackSurfaceReductionRules_Actions AuditMode (or
#           Disabled) for the same rule ID to revert; takes effect immediately,
#           no reboot required.

# 1. Pilot in Audit mode first
Set-MpPreference -AttackSurfaceReductionRules_Ids 5beb7efe-fd9a-4556-801d-275e5ffc04cc -AttackSurfaceReductionRules_Actions AuditMode

# 2. Review Defender ASR audit events (Event ID 1122) for 1-2 weeks for FPs

# 3. Promote to Block once the pilot ring shows zero unexpected blocks
Set-MpPreference -AttackSurfaceReductionRules_Ids 5beb7efe-fd9a-4556-801d-275e5ffc04cc -AttackSurfaceReductionRules_Actions Enabled

# 4. Verify
Get-MpPreference | Select-Object -ExpandProperty AttackSurfaceReductionRules_Ids

Playbook 3 -- Block confirmed C2 domains (DNS/proxy)

# Playbook 3 -- Block confirmed C2 domains at DNS / proxy (never irantenders[.]com)
# Prerequisites: Access to the DNS sinkhole / RPZ zone or secure web gateway
#                policy console.
# Reboot required: No
# Rollback: Remove the two RPZ/deny entries; propagation is immediate to a
#           few minutes depending on TTL/cache.

# 1. Add both confirmed C2 domains to your DNS RPZ / sinkhole zone
corecloudfileshare.xyz    CNAME  sinkhole.internal.
attachmentsharingdrive.xyz CNAME sinkhole.internal.

# 2. Mirror at the secure web gateway / proxy as an explicit deny category

# 3. DO NOT add irantenders.com or any subdomain -- Securonix explicitly
#    cautions against blocking that domain on this evidence (see Section 4).
#    If containment requires action, remove only the specific decoy path:
#    hxxps://www[.]irantenders[.]com/tender/tot-delete-6e137de.php

# 4. Verify
nslookup corecloudfileshare.xyz
nslookup attachmentsharingdrive.xyz
14

Containment Runbook

Phase order follows Securonix/Beardslee's own responder guidance verbatim: preserve evidence first, then stop, then remove every persistence mechanism in one coordinated pass, then block network, then verify after reboot.

PhaseActionsOwnerEvidence to Preserve
1 -- IsolateNetwork-isolate the host in Falcon (contain). Do not power off -- volatile memory and running-process state matter for confirming which of the two PowerShell modules is active.IR / SOC AnalystFalcon process tree, network-connection table, running scheduled-task list
2 -- PreserveBefore touching anything, save copies of the malware's files (95c9050t66.vbs, msdiag.vbs, all four task*.xml, sys_loader.ps1, win_conn.ps1, diag_pack.dat, win_conn_cfg.dat, purge.bat) and the scheduled-task XML definitions for analysis.IR Analyst / ForensicsFile hashes, MFT $STANDARD_INFORMATION/$FILE_NAME timestamps, USN Journal entries around the intrusion window
3 -- StopStop the running scripts and both hidden PowerShell processes.IR AnalystProcess-termination timestamps, final CommandLine values
4 -- EradicateIn one coordinated pass, remove all four scheduled tasks the malware created, the Startup-folder copy (msdiag.vbs), and the staged files under %LOCALAPPDATA%\WinDefendSvc. Removing only one persistence mechanism at a time risks the others silently rebuilding the infection.IR Analyst / Endpoint EngineeringBefore/after scheduled-task export, Startup-folder listing, WinDefendSvc folder contents
5 -- BlockBlock the two confirmed C2 servers (corecloudfileshare[.]xyz, attachmentsharingdrive[.]xyz) at DNS/proxy. Do not block irantenders[.]com; the specific decoy URL path may be removed/blocked during active containment per Securonix guidance (§4).Network / Security EngineeringFirewall/proxy change ticket, DNS RPZ entry
6 -- RecoverReboot the host, then verify none of the malware's scripts or scheduled tasks start running again. Re-scan for the WinDefendSvc folder and the eight camouflage task names.IR AnalystPost-reboot scheduled-task list, process tree, and a clean run of Q1-Q10 against the host
7 -- Investigate credential/document exposureGiven confirmed clipboard, Wi-Fi password, and document theft capability, rotate any credentials exposed via saved Wi-Fi profiles and assess which documents may have been exfiltrated before containment.IR Lead / Data OwnerList of documents matching the theft criteria (Word/PDF/PPT/Excel/archives, recently modified, under 500 MB) present on the host at time of compromise
15

Detection Coverage Map

TechniqueBehaviorCQLIOACoverage
T1059.005 / T1547.001VBS initial + Startup re-executionQ1, Q2Candidate (§9)Good
T1053.005 / T1036.005Camouflaged scheduled tasksQ3, Q4Candidate (§9)Good
T1059.001 / T1027.004Hidden PowerShell loaders + C# compileQ5, Q6Candidate (§9, Q6)Good
T1070.006Timestomping to fixed dateQ7, Q8NoPartial -- CQL relies on command-line syntax; confirm with MFT/USN forensics (§7) for full confidence
T1057WMI loader-instance terminationQ10NoPartial -- generic WMI-query pattern, FP medium
T1071.001 / T1105 / T1041Dual-domain C2 + exfilQ9NoGood for DNS; Partial for the auth-token/API-path layer, which needs proxy logs (§7), not endpoint CQL
T1552.001 / T1016Wi-Fi password theft via netshNoneNoGap -- no CQL query; covered only by the native Event 4688 hunt in §7
T1119 / T1005Automated document collectionNoneNoGap -- Falcon endpoint process telemetry does not cleanly isolate bulk file reads; requires DLP/CASB baseline (§7, §12)
T1113 / T1115Screenshot / clipboard theftNoneNoGap -- no reliable Falcon endpoint event for this behavior class; native hunt only (§7)
T1082System information discoveryNone (folded into Q5/Q9)NoPartial -- inferred from loader/C2 activity, not independently queried
T1070.004 / T1059.003purge.bat cleanup invocationNoneNoGap -- script contents never recovered by Securonix; only the invocation is huntable (§7)
Initial access vectorUnconfirmed -- suspected phishing (ZIP/ISO/IMG)NoneNoGap -- Securonix could not confirm delivery from the recovered sample; mail-gateway hardening in §12 is precautionary, not evidence-driven

Validation gates (§11): telemetry-readiness and positive-test checks are pending live-tenant deployment; the 14-day benign-baseline window has not yet started as of pack publication (2026-09-22).

16

Hunt Summary Ticket

TITLE:      TASK#STOMP -- VBS-to-PowerShell Windows Backdoor Hunt
SEVERITY:   HIGH (single-source -- do not treat as confirmed widespread campaign)
SCOPE:      Windows endpoints; all hosts with Falcon sensor coverage
HYPOTHESIS: H1-H10 (Section 3) -- wscript.exe VBS launch, AppData-rooted
            scheduled-task persistence, hidden PowerShell loaders, runtime
            C# compilation, timestomping, and dual-domain C2 beaconing
            together form a detectable behavioral chain independent of any
            single filename or task name.
QUERIES:    Q1-Q10 (Section 8); Custom IOA candidates in Section 9
DO FIRST:   1. Run Q1 and Q9 fleet-wide (highest confidence, lowest FP)
            2. Run Q3 scoped to a pilot OU before fleet-wide due to FP:medium
            3. Cross-reference any Q1/Q3/Q9 hit against the hash table in
               Section 4/10 and the WinDefendSvc path in Section 7
FINDINGS:   [populate after hunt execution -- no findings at time of publish]
GAPS:       Initial-access vector unconfirmed; T1552.001/T1119/T1005/T1113/
            T1115/T1070.004 have no CQL coverage, native hunts only
            (Section 7, Section 15)
ACTIONS:    Deploy Q1/Q3/Q6/Q9 as Custom IOAs in Detect-only mode (Section 9);
            deploy Immediate-tier hardening (Section 12); do NOT block
            irantenders[.]com (Section 4)
OWNER:      HuntPack
VERSION:    v0.1 -- 2026-09-22
17

Changelog

v0.12026-09-22Initial pack release. Built from Securonix Threat Research's TASK#STOMP write-up (2026-09-21, single infected machine). 10 CQL hunt queries, 12 atomic IOCs in the Falcon import CSV (10 SHA256 hashes + 2 domains, all action=detect/severity=high), 3 Custom IOA candidates, tiered hardening, and a 7-phase containment runbook.
18

References

TierSourceUsed ForAccess Date
1 -- PrimarySecuronix Threat Research -- "TASK#STOMP: VBS-PowerShell Backdoor Using Rotating Scheduled Tasks, Timestomping, and Runtime C# Compilation for Document Theft and Remote Access" (Akshay Gaikwad, Aaron Beardslee)Full attack chain, all 10 file hashes, C2 domains/token/API paths, MITRE mapping, vendor hunting queries2026-09-22
2 -- DerivativeThe Hacker News -- "TASK#STOMP PowerShell Backdoor Steals Documents, Wi-Fi Passwords, and Clipboard Data" (Ravie Lakshmanan)Corroboration, filename-randomization observation2026-09-22
2 -- DerivativeHelp Net Security -- "The TASK#STOMP Windows backdoor takes Wi-Fi passwords, screenshots, and business files" (Mirko Zorz, interview with Aaron Beardslee)Single-machine/no-attribution statements, watchdog-bug detail, operator-tier assessment, responder containment order2026-09-22
3 -- Derivative, reduced-confidence captureCyberPress -- "TASK#STOMP Deploys Dual C2"Secondary corroboration only; direct HTTP fetch blocked (403), captured via page-text extraction2026-09-22

All four snapshots were checked for embedded instructions directed at an AI agent (prompt injection). None were found in any of the four sources.

Generated 2026-09-22 · HuntPack v0.1 · TASK#STOMP PowerShell Backdoor Hunt · single-source pack, see §2/§4