T1574.001: DLL
摘要
攻击者可能滥用动态链接库文件(DLL)以实现持久化、提升权限和逃避防御。DLL 是包含代码和数据的库,可以被多个程序同时使用。虽然 DLL 本质上并非恶意,但它们可以通过侧加载、劫持搜索顺序和幻影 DLL 劫持等机制被滥用。(Citation: unit 42) 攻击者滥用 DLL 的具体方式包括: ### DLL 侧加载 攻击者可能通过侧加载 DLL 来执行自己的恶意载荷。侧加载涉及通过投放然后调用一个执行其载荷的合法应用程序,来劫持程序加载哪个 DLL。 侧加载将受害者应用程序和恶意载荷并排放置。攻击者可能使用侧加载作为在合法、可信且可能具有提升权限的系统或软件进程下掩盖其操作的手段。用于侧加载载荷的良性可执行文件在投递和/或执行期间可能不会被标记。攻击者载荷也可能被加密/打包或以其他方式混淆,直到被加载到受信任进程的内存中。 攻击者还可能侧加载其他包,例如 BPL(Borland Package Library)。(Citation: kroll bpl) 攻击者可能多次串联 DLL 侧加载,以分散功能、阻碍分析。使用多个 DLL 文件的攻击者可以将加载器功能拆分到不同的 DLL 中,由一个主 DLL 加载分离出来的导出函数。(Citation: Virus Bulletin) 将加载器功能分散到多个 DLL 使分析更加困难,因为必须收集所有文件才能完全理解恶意软件的行为。另一种方法实现“加载器的加载器”,其中一个恶意 DLL 的唯一角色是加载包含真实载荷的第二个 DLL(或 DLL 链)。(Citation: Sophos) ### DLL 搜索顺序劫持 攻击者可能通过劫持 Windows 用于加载 DLL 的搜索顺序来执行自己的恶意载荷。此搜索顺序是程序在加载 DLL 时检查的一系列特殊和标准搜索位置。攻击者可以在 DLL 搜索顺序中优先级高于合法库位置的目录中投放一个木马 DLL。这将导致 Windows 在受害者程序请求时加载该恶意 DLL。(Citation: unit 42) ### DLL 重定向 攻击者可能通过 DLL 重定向直接修改搜索顺序,启用后(在注册表中或通过创建重定向文件)可能导致程序从不同位置加载 DLL。(Citation: Microsoft redirection)(Citation: Microsoft - manifests/assembly) ### 幻影 DLL 劫持 攻击者可能通过针对不存在 DLL 文件的引用来利用幻影 DLL 劫持。他们可能能够通过以正确的名称将自有的恶意 DLL 投放到缺失模块的位置来加载它。(Citation: Hexacorn DLL Hijacking)(Citation: Hijack DLLs CrowdStrike) ### DLL 替换 攻击者可能针对现有的有效 DLL 文件,用自有的恶意 DLL 替换它们,以相同的名称投放到与有效 DLL 文件相同的位置。(Citation: Wietze Beukema DLL Hijacking) 成为 DLL 劫持受害者的程序可能看起来行为正常,因为恶意 DLL 可能被配置为同时加载它们本应替换的合法 DLL,从而逃避防御。 当程序在加载 DLL 之前将其当前目录设置为远程位置(例如 Web 共享)时,可能发生远程 DLL 劫持。(Citation: dll pre load owasp)(Citation: microsoft remote preloading) 如果某个有效的 DLL 被配置为在更高权限级别运行,那么被加载的攻击者控制的 DLL 也将以该更高权限级别执行。在这种情况下,此技术可用于权限提升。
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- Windows
战术
Stealth
参考来源
- https://attack.mitre.org/techniques/T1574/001
- https://www.crowdstrike.com/en-us/blog/4-ways-adversaries-hijack-dlls/
- https://www.kroll.com/en/insights/publications/cyber/idatloader-distribution
- https://news.sophos.com/en-us/2023/05/03/doubled-dll-sideloading-dragon-breath/
- https://www.hexacorn.com/blog/2013/12/08/beyond-good-ol-run-key-part-5/
- https://learn.microsoft.com/en-us/security-updates/securityadvisories/2010/2269637
- https://learn.microsoft.com/en-us/windows/win32/sbscs/manifests?redirectedfrom=MSDN
- https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-redirection?redirectedfrom=MSDN
- https://owasp.org/www-community/attacks/Binary_planting
- https://www.virusbulletin.com/conference/vb2023/abstracts/unveiling-activities-tropic-trooper-2023-deep-analysis-xiangoop-loader-and-entryshell-payload/
- https://unit42.paloaltonetworks.com/dll-hijacking-techniques/
- https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows