Ceplin Command Identifier

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

Opens the identifier with your command. It is read in your browser and sent nowhere.

How setupapi.dll is abused

documented by LOLBAS

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

from LOLBAS, each read by the identifier

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}
Identify

Trips 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}
Identify

Trips 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

Sigma process creation rules
T1218.011System Binary Proxy Execution: Rundll32

Is it the real setupapi.dll?

file version info and known copies
Installed inC:\Windows\system32\
C:\Windows\SysWOW64\
Signed byMicrosoft Windows
ProductMicrosoft Windows Operating System, Microsoft Corporation
DescriptionWindows Setup API

2 known copies

10.0.19041.1 (WinBuild.160101.0800) · C:\Windows\SysWOW64\setupapi.dll · signed by Microsoft Windows

d6ea01758bbf399176aa36047b8438758a96b82f1e9cb1e5643fda798982c78a

10.0.19041.1 (WinBuild.160101.0800) · C:\Windows\system32\setupapi.dll · signed by Microsoft Windows

fee5d3a740cfd073e5bf5f0d8bebfe2977c24469b7cd0222ff17e77a5d5fe179

From 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.