- Home
- Techniques
- Enterprise
- Shared Modules
Shared Modules
Adversaries may abuse shared modules to execute malicious payloads. The Windows module loader can be instructed to load DLLs from arbitrary local paths and arbitrary Universal Naming Convention (UNC) network paths. This functionality resides in NTDLL.dll and is part of the Windows Native API which is called from functions like CreateProcess
, LoadLibrary
, etc. of the Win32 API. [1]
The module loader can load DLLs:
via specification of the (fully-qualified or relative) DLL pathname in the IMPORT directory;
via EXPORT forwarded to another DLL, specified with (fully-qualified or relative) pathname (but without extension);
via an NTFS junction or symlink program.exe.local with the fully-qualified or relative pathname of a directory containing the DLLs specified in the IMPORT directory or forwarded EXPORTs;
via
<file name="filename.extension" loadFrom="fully-qualified or relative pathname">
in an embedded or external "application manifest". The file name refers to an entry in the IMPORT directory or a forwarded EXPORT.
Adversaries may use this functionality as a way to execute arbitrary code on a victim system. For example, malware may execute share modules to load additional components or features.
Procedure Examples
Name | Description |
---|---|
Astaroth |
Astaroth uses the LoadLibraryExW() function to load additional modules. [2] |
Attor |
Attor's dispatcher can execute additional plugins by loading the respective DLLs.[3] |
BOOSTWRITE |
BOOSTWRITE has used the DWriteCreateFactory() function to load additional modules.[4] |
gh0st RAT | |
Hydraq |
Hydraq creates a backdoor through which remote attackers can load and call DLL functions.[6][7] |
Metamorfo |
Metamorfo had used AutoIt to load and execute the DLL payload.[8] |
PipeMon |
PipeMon has used call to |
PUNCHBUGGY |
PUNCHBUGGY can load a DLL using the LoadLibrary API.[10] |
TajMahal |
TajMahal has the ability to inject the |
Mitigations
Mitigation | Description |
---|---|
Execution Prevention |
Identify and block potentially malicious software executed through this technique by using application control tools capable of preventing unknown DLLs from being loaded. |
Detection
Monitoring DLL module loads may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances, since benign use of Windows modules load functions are common and may be difficult to distinguish from malicious behavior. Legitimate software will likely only need to load routine, bundled DLL modules or Windows system DLLs such that deviation from known module loads may be suspicious. Limiting DLL module loads to %SystemRoot%
and %ProgramFiles%
directories will protect against module loads from unsafe paths.
Correlation of other events with behavior surrounding module loads using API monitoring and suspicious DLLs written to disk will provide additional context to an event that may assist in determining if it is due to malicious behavior.
References
- Wikipedia. (2017, January 31). Microsoft Windows library files. Retrieved February 13, 2017.
- Salem, E. (2019, February 13). ASTAROTH MALWARE USES LEGITIMATE OS AND ANTIVIRUS PROCESSES TO STEAL PASSWORDS AND PERSONAL DATA. Retrieved April 17, 2019.
- Hromcova, Z. (2019, October). AT COMMANDS, TOR-BASED COMMUNICATIONS: MEET ATTOR, A FANTASY CREATURE AND ALSO A SPY PLATFORM. Retrieved May 6, 2020.
- Carr, N, et all. (2019, October 10). Mahalo FIN7: Responding to the Criminal Operators’ New Tools and Techniques. Retrieved October 11, 2019.
- Quinn, J. (2019, March 25). The odd case of a Gh0stRAT variant. Retrieved July 15, 2020.
- Symantec Security Response. (2010, January 18). The Trojan.Hydraq Incident. Retrieved February 20, 2018.
- Lelli, A. (2010, January 11). Trojan.Hydraq. Retrieved February 20, 2018.
- Zhang, X.. (2020, February 4). Another Metamorfo Variant Targeting Customers of Financial Institutions in More Countries. Retrieved July 30, 2020.
- Tartare, M. et al. (2020, May 21). No “Game over” for the Winnti Group. Retrieved August 24, 2020.
- Elovitz, S. & Ahl, I. (2016, August 18). Know Your Enemy: New Financially-Motivated & Spear-Phishing Group. Retrieved February 26, 2018.
- GReAT. (2019, April 10). Project TajMahal – a sophisticated new APT framework. Retrieved October 14, 2019.