Identifier / Programs / Windows
shell32.dll
Windows Shell Common Dll file version info (xCyclopedia)
LOLBAS Execute 1 ATT&CK technique 4 documented commands 2 known copies with hashes
How shell32.dll is abused
Execute T1218.011 System Binary Proxy Execution: Rundll32
Run by rundll32.exe: shell32.dll,control_rundll
Execute T1218.011 System Binary Proxy Execution: Rundll32
Run by rundll32.exe: shell32.dll,shellexec_rundll
Execute T1218.011 System Binary Proxy Execution: Rundll32
Run by rundll32.exe: shell32.dll,#44
Each abuse is LOLBAS's category and the options and words it uses; the full write-up is on LOLBAS's page for shell32.dll.
4 documented commands
Execute T1218.011 System Binary Proxy Execution: Rundll32 User privileges
Launch a DLL payload by calling the Control_RunDLL function.
rundll32.exe shell32.dll,Control_RunDLL {PATH_ABSOLUTE:.dll}IdentifyTrips 1 Sigma rule: mediumPotentially Suspicious Rundll32 Activity by juju4, Jonhnathan Ribeiro, oscd.community, Nasreddine Bencherchali (Nextron Systems)
Execute T1218.011 System Binary Proxy Execution: Rundll32 User privileges
Launch an executable by calling the ShellExec_RunDLL function.
rundll32.exe shell32.dll,ShellExec_RunDLL {PATH:.exe}IdentifyTrips 1 Sigma rule: mediumPotentially Suspicious Rundll32 Activity by juju4, Jonhnathan Ribeiro, oscd.community, Nasreddine Bencherchali (Nextron Systems)
Execute T1218.011 System Binary Proxy Execution: Rundll32 User privileges
Launch command line by calling the ShellExec_RunDLL function.
rundll32 SHELL32.DLL,ShellExec_RunDLL {PATH:.exe} {CMD:args}IdentifyTrips 1 Sigma rule: mediumPotentially Suspicious Rundll32 Activity by juju4, Jonhnathan Ribeiro, oscd.community, Nasreddine Bencherchali (Nextron Systems)
Execute T1218.011 System Binary Proxy Execution: Rundll32 User privileges
Load a DLL/CPL by calling undocumented Control_RunDLLNoFallback function.
rundll32.exe shell32.dll,#44 {PATH:.dll}IdentifyTrips 1 Sigma rule: mediumDLL Call by Ordinal Via Rundll32.EXE by Florian Roth (Nextron Systems)
All 4 commands the identifier reads trip a Sigma process-creation rule. These commands and their descriptions are from LOLBAS’s entry for shell32.dll, by LOLBAS Team, 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 shell32.dll. 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
Is it the real shell32.dll?
C:\Windows\system32\C:\Windows\SysWOW64\2 known copies
10.0.19041.488 (WinBuild.160101.0800) · C:\Windows\SysWOW64\shell32.dll · signed by Microsoft Windows
6e5dc1215721f2a9613ab776a532b9f361fd5cb7ebb97aad7cc9038e908be9b310.0.19041.329 (WinBuild.160101.0800) · C:\Windows\system32\shell32.dll · signed by Microsoft Windows
3f18343cf6693c8e7a8bf58b5bbbada6463d5d019485412fcb38c53f9b346708From 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.