mshta executing remote or inline script (T1218.005)
AQLhighconfidence 80/100generated 2026-10-18
mshta.exe launched with an http(s) URL or an inline javascript: / vbscript: handler — a signed-binary proxy for script payloads. Observed for: APT29, APT32, Confucius, Earth Lusca, Gamaredon Group, GOLD CABIN and 7 more.
- Linked actors
- APT29 · APT32 · Confucius · Earth Lusca · Gamaredon Group · GOLD CABIN · Inception Framework · Kimsuky · LazyScripter · MuddyWater · RAZOR TIGER · SideCopy · TA2541
- False positives
- Local .hta files without a URL or inline script handler do not match.
AQL search
skopnix-qradar-ttp-t1218-005-eca0156f.aqldownload .aql ↓SELECT DATEFORMAT(starttime, 'yyyy-MM-dd HH:mm:ss') AS event_time, LOGSOURCENAME(logsourceid) AS log_source, sourceip, username, "Process Name", "Process CommandLine"
FROM events
WHERE "Process Name" ILIKE 'mshta.exe' AND ("Process CommandLine" ILIKE '%http://%' OR "Process CommandLine" ILIKE '%https://%' OR "Process CommandLine" ILIKE '%javascript:%' OR "Process CommandLine" ILIKE '%vbscript:%')
LAST 7 DAYS
CRE rule (build in Offenses > Rules)
download .txt ↓Rule name: "Skopnix: mshta executing remote or inline script (T1218.005)"
Rule type: Event
Test stack:
- and when the event(s) were detected by one or more of [Microsoft Windows Security Event Log, Microsoft Windows Sysmon]
- and when the event matches this AQL filter query: "Process Name" ILIKE 'mshta.exe' AND ("Process CommandLine" ILIKE '%http://%' OR "Process CommandLine" ILIKE '%https://%' OR "Process CommandLine" ILIKE '%javascript:%' OR "Process CommandLine" ILIKE '%vbscript:%')
Response: dispatch new event / create offense indexed by Source IP; annotate "Skopnix T1218.005".
FP-safety: Local .hta files without a URL or inline script handler do not match.How to deploy on IBM QRadar
- 1.Create the reference set from its spec (Reference Data API, or Admin > Reference Set Management) and schedule the skopnix feed load.
- 2.Paste the AQL into Log Activity > Advanced Search to hunt the last seven days.
- 3.For alerting, build the CRE rule from the test stack shown and exclude your known-good building block.
Check · Custom properties ("URL Host", "URL", "File Hash", "Process CommandLine") come from your DSMs and content extensions; rename them if yours differ.
References
- attack.mitre.org/techniques/T1218/005/ ↗
- skopnix.com/actors/apt29 ↗
- skopnix.com/actors/apt32 ↗
- skopnix.com/actors/confucius ↗
- skopnix.com/actors/earth-lusca ↗
- skopnix.com/actors/gamaredon-group ↗
- skopnix.com/actors/gold-cabin ↗
- skopnix.com/actors/inception-framework ↗
- skopnix.com/actors/kimsuky ↗
- skopnix.com/actors/lazyscripter ↗
- skopnix.com/actors/muddywater ↗