DLL Sideloading Attacks Target政府组织

关键要点

  • 观察到多个针对亚洲政府组织的 DLL 侧载攻击,涉及中国 APT 群体使用的技术。
  • USB 蠕虫案例尤为引人注目,其复制特定目录中的所有组件,与其他 APT 攻击相关联。
  • 案例之间存在许多相似之处,为分析和防御提供线索。
  • 文章最后提供可用于识别这些攻击的指示器。

我们已经注意到多个针对亚洲政府组织的攻击事件,这些事件都涉及 DLL 侧载技术,这历史上一直是中国 APT 群体的常用手法,早在 2013年就有相关报道,最近的攻击则出现在 2020年。本文将探讨连接这五个案例的证据,展示威胁行为者如何基于知名且有效的技术展开攻击,并随时间增加复杂性与变异性。理解案件间的关联性有助于防御者(和客户)不仅思考是谁在攻击,也能了解可能存在的威胁类型,自然也能更好地优先考虑分析和防御工作,以取得最佳结果。

在五个案例中,最引人注目的一个是 USB 蠕虫,其感染了东南亚的多个组织。该蠕虫在自身复制时会将特定目录中找到的所有内容复制,包括其他 APT攻击的组件。我们没有任何证据表明这三组 APT 之间存在关联,并且我们也知道当多个 USB蠕虫同时感染系统时,可能会不经意间结合其文件。(这与“宏病毒交配”现象相似,这一现象在二十五年前就被发现。)

USB 蠕虫案例与我们观察到的其他四个案例有显著重叠,包括使用相同代码流混淆的加载 DLL 和相同的加载器外壳代码。我们不能确定 USB蠕虫案例与其他攻击是否来自同一威胁行为者——也可能是不同的威胁行为者使用相同的工具链,但相似之处令人信服。

我们将深入分析所有五个案例,并在附录中详细描述 USB蠕虫攻击的感染时间线。我们将重点关注一个似乎是所有五个案例共通点的外壳代码,并深入分析我们与这些案例关联的七种情境。最后,我们还将分享与这些案例相关的妥协指标,并在我们的
GitHub 上提供。

不过,在此之前,简要定义一下 DLL 脚本载入(DLL sideloading),因为它常常与另一种称为 DLL 预加载(DLLpreloading)的攻击混淆。

关于 DLL 脚本载入和预加载

DLL 脚本载入和预加载(有时称为搜索顺序劫持)都是劫持执行流程的攻击,尽管它们之间有细微的区别。

DLL 预加载(又名搜索顺序劫持)—
– 攻击者将恶意 DLL放进一个目录中,该目录会在已经存在的应用程序之前被搜索(基于 )。

  • 例如,如果一个合法应用必须加载 dll 且没有指定位置,它会首先搜索当前目录,然后按照 Windows 搜索顺序搜索其他目录。
  • 如果攻击者有权写入搜索顺序列表中的某个目录,他们就可以在该目录中放置名为 dll 的恶意 DLL,从而使应用程序加载它(前提是合法 DLL 还未被加载到内存中,且在任何先前搜索位置都未找到)。

  • 攻击者等待已存在的合法应用程序被执行,或强迫执行该过程(例如,通过重启机器)。

DLL 脚本载入 —
– 与上面相似,不过攻击者放置并调用一个加载该恶意 DLL 的合法应用程序。这允许攻击者利用系统已经对该应用程序的信任。 –
该技术已经被多种威胁行为者使用,例如 [REvil](https://www.mcafee.com/blogs

Leave a Reply

Your email address will not be published. Required fields are marked *