Identifier / Programs / Windows
setupapi.dll
Windows Setup API file version info (xCyclopedia)
LOLBAS AWL Bypass, Execute 1 ATT&CK technique 2 documented commands 2 known copies with hashes
How setupapi.dll is abused
AWL Bypass T1218.011 System Binary Proxy Execution: Rundll32
Run by rundll32.exe: setupapi.dll,installhinfsection defaultinstall
Execute T1218.011 System Binary Proxy Execution: Rundll32
Run by rundll32.exe: setupapi.dll,installhinfsection defaultinstall
Each abuse is LOLBAS's category and the options and words it uses; the full write-up is on LOLBAS's page for setupapi.dll.
2 documented commands
AWL Bypass T1218.011 System Binary Proxy Execution: Rundll32 User privileges
Execute the specified (local or remote) .wsh/.sct script with scrobj.dll in the .inf file by calling an information file directive (section name specified).
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 {PATH_ABSOLUTE:.inf}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 file via the InstallHinfSection function and .inf file section directive.
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 {PATH_ABSOLUTE:.inf}IdentifyTrips 1 Sigma rule: mediumPotentially Suspicious Rundll32 Activity by juju4, Jonhnathan Ribeiro, oscd.community, Nasreddine Bencherchali (Nextron Systems)
All 2 commands the identifier reads trip a Sigma process-creation rule. These commands and their descriptions are from LOLBAS’s entry for setupapi.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 setupapi.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 setupapi.dll?
C:\Windows\system32\C:\Windows\SysWOW64\2 known copies
10.0.19041.1 (WinBuild.160101.0800) · C:\Windows\SysWOW64\setupapi.dll · signed by Microsoft Windows
d6ea01758bbf399176aa36047b8438758a96b82f1e9cb1e5643fda798982c78a10.0.19041.1 (WinBuild.160101.0800) · C:\Windows\system32\setupapi.dll · signed by Microsoft Windows
fee5d3a740cfd073e5bf5f0d8bebfe2977c24469b7cd0222ff17e77a5d5fe179From 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.