一个名为“Dragon Breath”、“Golden Eye Dog”或“APT-Q-27”的高级持续性威胁(APT) 黑客组织如今向世人展示了一股新趋势,即使用典型的DLL侧加载技术的多种复杂变体来逃避检测。
这些攻击变体始于一条初始途径,该途径利用了一个干净的应用程序(最常见的是Telegram),侧加载第二阶段的攻击载荷(有时也是干净的),第二阶段的攻击载荷进而侧加载恶意软件加载程序DLL。
吸引受害者的诱饵是沦为木马的Telegram、LetsVPN或WhatsApp应用程序,这些适用于安卓、iOS或Windows的应用程序据称针对中国网民进行了本地化处理。沦为木马的应用程序被认为是使用BlackSEO或恶意广告进行推广的。
据密切关注这伙威胁分子近期攻击的Sophos分析师声称,这起活动的目标范围集中在中国、日本、中国台湾、新加坡、中国香港和菲律宾讲中文的Windows用户。
图1. 普通攻击示意图(图片来源:Sophos)
DLL侧加载是一种自2010年以来就被攻击者利用的攻击技术,利用Windows加载应用程序所需要的DLL(动态链接库)文件的不安全方式大搞破坏。
攻击者在应用程序的目录中放置一个与所需的合法DLL同名的恶意DLL。当用户启动该可执行文件时,Windows优先考虑本地恶意DLL,而不是系统文件夹中的合法DLL。
攻击者的DLL包含在此阶段加载的恶意代码,通过利用加载它的受信任、经过签名的应用程序,为攻击者提供特权或在主机上运行命令。
在这起活动中,受害者执行上述应用程序的安装程序,而安装程序会在系统上投放组件,并创建桌面快捷方式和系统启动条目。
如果受害者尝试启动新创建的桌面快捷方式(这是威胁分子预料的第一步),而不是启动应用程序,以下命令就在系统上执行。
图2. 在被攻击系统上执行的命令(图片来源:Sophos)
该命令运行重命名版本的“regsvr32.exe”(“appR.exe”),以执行重命名版本的“scrobj.dll”(“appR.dll”),并提供一个DAT文件(“appR.dat”)作为其输入。该DAT文件含有由脚本执行引擎库(“appR.dll”)执行的JavaScript代码。
JavaScript代码在前台启动Telegram应用程序用户界面,同时在后台安装各种侧加载组件。
接下来,安装程序使用干净的依赖项(“libexpat.dll”)加载第二阶段的应用程序,进而加载第二个干净的应用程序作为中间攻击阶段。
在攻击的一种变体中,干净的应用程序“XLGame.exe”被重命名为“Application.exe”,而第二阶段加载程序也是一个干净的可执行文件,已由北京百度网讯科技有限公司签名。
图3. 第一个攻击变体示意图(图片来源:Sophos)
在另一种变体中,第二阶段的干净加载程序是“KingdomTwoCrowns.exe”,它没有经过数字签名,Sophos 无法确定除了混淆执行链之外它还有什么优点。
在攻击的第三种变体中,第二阶段加载程序是干净的可执行文件“d3dim9.exe”,已由惠普公司进行数字签名。
图4. 由惠普签名的可执行文件(图片来源:Sophos)
这种“双DLL侧加载”技术实现了规避、混淆和持久化等目的,使防御者更难适应特定的攻击模式、有效地保护其网络。
在所有观察到的攻击变体中,最终的攻击载荷DLL从txt文件(“templateX.txt”)解密后在系统上执行。
该攻击载荷是支持多个命令的后门,比如系统重启、注册表项修改、获取文件、窃取剪贴板内容、在隐藏的CMD窗口上执行命令等等。
该后门还针对MetaMask加密货币钱包Chrome扩展插件,旨在窃取受害者的数字资产。
总之,DLL侧加载仍然是黑客们的一种有效的攻击方法,也是微软和开发人员十多年来未能解决的一种方法。
在最新的APT-Q-27攻击中,分析师观察到DLL侧加载变体难以跟踪,因此它们获得了一条更隐蔽的感染链。
参考及来源:
https://www.bleepingcomputer.com/news/security/hackers-start-using-double-dll-sideloading-to-evade-detection/