Windows系统使用通用的方法来查找要加载到程序中的DLL。

 

概念

        DLL搜索顺序劫持是指攻击者利用Windows DLL搜索顺序和程序来模糊指定的DLL,从而获取特权升级以及保持持久性。

ATT&CK之DLL搜索顺序劫持

 

 

攻击手段

        攻击者使用与Windows中合法DLL之前搜索的位置中的名称不明确的指定DLL相同的名称来命名恶意DLL,并以此来执行DLL预加载(也称为二进制植入攻击)。一般而言,这个位置是程序的当前工作目录。在加载DLL之前,将程序的当前目录设置为远程位置(例如Web共享)时,就会发生远程DLL预加载攻击。攻击者可能会使用这种行为使程序加载恶意DLL。

 

        攻击者还可以通过替换现有DLL或修改.manifest或.local重定向文件、目录或联结,使程序加载不同DLL,以此来保持持久性或获得特权升级。

 

        如果为这些搜索易受攻击的程序运行配置更高的特权级别,则加载的受对手控制的DLL也将在更高的级别于行。在这种情况下,该技术可用于从用户到管理员或系统,或从管理员到系统的特权升级,主要取决于程序。

 

        成为路径劫持受害者的程序可能看上去依然在正常运行,因为恶意DLL可能被配置为依然加载将要被替换的合法DLL。

 

程序示例

ATT&CK之DLL搜索顺序劫持

点击查看👆图片查看大图

 

缓解方法

名称

描述

审计

  • 使用能够检测企业内系统上的DLL搜索顺序劫持机会的审计工具,并对其进行纠正。  例如包含PowerUp模块的PowerSploit框架之类的工具包,可用于探索DLL劫持漏洞的系统。

执行预

防方案

  • 对手可能会使用新的DLL来执行此技术。使用能够阻止合法软件加载的DLL的应用程序白名单解决方案,识别并阻止通过搜索顺序劫持而执行的潜在恶意软件。

限制

库加载

  • 禁止加载远程DLL。Windows Server 2012+默认包含此功能,并且XP +和Server 2003+的路径算法修补程序可以使用此功能。

  • 在本地目录DLL(例如用户的主目录)之前,启用安全DLL搜索模式,以强制对目录搜索系统DLL加以更大的限制(如%SYSTEMROOT%)

  • 可以通过计算机配置> [策略]>管理模板> MSS(传统): MSS: (安全DLL搜索模式) 组合策略启用。

    与此相关的Windows注册表项位于HKLMSYSTEMCurrentControlSetControlSession ManagerSafeDLLSearchMode[

 

检测方法

        监视文件系统中移动、重命名、替换或修改DLL的行为。与之前相比,与已知软件、补丁程序等不相关的进程所加载的DLL组如有更改,便有可疑。

        监视加载到进程中的DLL,并检测具有相同文件名但路径异常的DLL。若有与软件更新不相关的.manifest和.local重定向文件的修改或创建行为,也是非常可疑的。

 

关于我们

        云纷科技自成立以来,将“安全运营中心(SOC)”分层分解,以更灵活的模块化方式交付“下一代安全运营服务”,高效整合人、技术和流程,为不同的企业客户提供符合现状和中远期发展的安全运营能力。同时,以十年安全管理经验为依托,我们的安全托管服务(MSS)可以为企业提供7*24小时全天候安全保障,全面提高企业安全抵御能力,为抵抗威胁建立可靠屏障。

        云纷希望在为客户建立运营体系的同时,结合自身对于安全的理解和知识,协同利用开发能力、开发并调用各类自动以及半自动化工具,为客户提供最切合实际的安全运营服务,最终帮助用户清晰定位威胁、降低风险,提高整体安全水平。

 

**参考来源:ATT&CK,胖头鱼编译,欢迎转载,转载请注明出处,非常感谢~~

Share this content:

Categories:

Tags:

Comments are closed