Adversaries may execute malicious payloads via loading shared modules. Shared modules are executable files that are loaded into processes to provide access to reusable code, such as specific custom functions or invoking OS API functions (i.e., Native API).
Adversaries may use this functionality as a way to execute arbitrary payloads on a victim system. For example, adversaries can modularize functionality of their malware into shared objects that perform various functions such as managing C2 network communications or execution of specific actions on objective.
The Linux & macOS module loader can load and execute shared objects from arbitrary local paths. This functionality resides in dlfcn.h in functions such as dlopen and dlsym. Although macOS can execute .so files, common practice uses .dylib files.(Citation: Apple Dev Dynamic Libraries)(Citation: Linux Shared Libraries)(Citation: RotaJakiro 2021 netlab360 analysis)(Citation: Unit42 OceanLotus 2017)
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 LoadLibrary at run time.(Citation: Microsoft DLL)
T1129「Shared Modules」(共有モジュール) は、攻撃者がOSの 「共有ライブラリ(WindowsではDLL、Linuxでは.so)」 を読み込む正規のメカニズムを悪用して、悪意のあるコードを実行する手法です。
この手法で攻撃者は、「既存の正規プロセスを利用した、隠密性の高いコード実行」を実現します。
攻撃者は、OSの「ローダー(プログラムを読み込む仕組み)」を騙す形で活動します。
LoadLibrary などのAPIを直接叩いて読み込ませます(T1106 Native APIとの組み合わせ)。DllMainなど)が自動的に実行され、攻撃が開始されます。「どこから何が読み込まれるか」を厳格に管理することが重要です。
システム上で「身に覚えのない場所(Downloads や Public フォルダなど)」からロードされているDLLを発見した場合、それは T1129 を用いた侵害の可能性が高い非常に重要な兆候です。
この攻撃手法を利用する脅威アクターは登録されていません。