『嘶吼RoarTalk』滥用 DLL 错误配置:从威胁情报收录到武器化开发
一、概述
当WindowsSide-by-Side(WinSxS)清单未明确说明程序正在加载的DLL的特征时 , 就会发生动态链接库(DLL)的侧加载 。 更简单地解释说 , DLL侧加载可以使攻击者诱导程序加载恶意DLL 。 如果各位读者想了解有关DLL侧加载的工作原理 , 以及关于此类型攻击的更多信息 , 可以阅读我们发布的白皮书 。
当攻击者能够利用Windows搜索和加载顺序 , 从而允许执行恶意DLL而非合法DLL时 , 就会发生DLL劫持的情况 。
DLL侧加载和劫持的情况已经存在了多年 。 实际上 , FireEyeMandiant最早在2010年就发现了DLL侧加载技术和DLL搜索顺序劫持 。 时至今日 , 该技术仍然是一种可行的方法 , 并且已经在现实世界的入侵攻击中利用 。 在应急响应期间 , FireEyeMandiant仍然使用DLL滥用技术来识别和观察威胁参与者 。 目前 , 仍然有许多经过签名的可执行文件容易受到此攻击 , 我们的红方团队已经将DLL滥用技术武器化我们攻击方案的一部分 。 有关DLL滥用技术的检测和预防措施 , 我们将在后面详细说明 。
目前 , DLL滥用技术已经不再是新型或前沿的技术 , 本文将展示FireEyeMandiant红方团队如何使用FireEyeIntelligence来加速大规模确定易受攻击的可执行文件的研究工作 。 我们还会介绍如何发现存在DLL滥用风险的可执行文件 , 以及FireEyeMandiant红方团队如何在其DueDLLigence工具中将这些DLL滥用技术武器化 。 DueDLLigence工具最初是作为应用程序白名单绕过的框架发布的 , 但是考虑到其不受管理的导出的特点 , 它也可以用于DLL滥用技术之中 。
二、收集和武器化FireEye情报
FireEyeMandiant红方团队成员的一大优势在于可以获得大量的威胁情报 。 在过去的十年中 , 我们在应急响应和情报分析过程中已经观察、记录和分析了攻击者几乎在所有严重漏洞利用中的行为 。 对于此项目 , FireEyeMandiant红方团队要求FireEye技术运营和逆向工程高级实践团队利用FireEyeIntelligence , 为我们提供攻击者利用的下述DLL滥用技术:
1、使用独立的PE文件(.exe文件)来调用恶意DLL;
2、.exe必须具有签名 , 并且证书在一年之内有效;
3、有关该技术的情报必须包含被调用的恶意DLL的名称 。
在将结果提供给红方团队后 , 我们开始利用文章中描述的方法来实现武器化 , 具体包括:
1、识别容易受到DLL搜索顺序劫持的可执行文件;
2、识别可执行文件的库依赖关系;
【『嘶吼RoarTalk』滥用 DLL 错误配置:从威胁情报收录到武器化开发】3、确保API被正确导出 。
2.1DLL搜索顺序劫持
在很多情况下 , 可以利用不安全的库引用 , 在合法的可移植可执行文件(PE)的上下文中执行代码 。 如果开发人员允许LoadLibrary动态解析库的路径 , 那么该PE还会在当前目录中查找库DLL 。 通过将合法的PE复制到该攻击者具有写入权限的目录中 , 就可以将这种行为用于恶意目的 。 如果攻击者创建了自定义的PayloadDLL , 则应用程序将加载该DLL并执行攻击者的代码 。 这对于红方团队来说可能是有帮助的——此时的PE可能已经经过签名 , 这样会获得终端安全解决方案(AV/EDR)的信任 , 从而绕过应用程序白名单(AWL) , 并且可能会使调查过程出现混淆或阻碍 。
在本节中 , 我们将看到一个示例 , 其中我们确定了劫持PE的条件 , 并在我们的PayloadDLL中满足了要求 。 针对这个测试用例 , 我们将使用有签名的二进制PotPlayerMini(MD5:f16903b2ff82689404f7d0820f461e5d) 。 之所以选择这个PE , 原因在于攻击者在2016年曾经使用过它 。
2.2识别库依赖
通过使用IDA或Ghidra之类的工具进行静态分析 , 我们可以确定PE需要哪些库和导出 。 例如 , 下图所示的屏幕截图显示了PotPlayerMini尝试加载名为"PotPlayer.dll"的DLL 。
推荐阅读
- 嘶吼RoarTalk|5 个简单的方法让你的 Gmail 邮箱更安全
- 爱集微APP|调查将至?蓝牙配件商Tile指控苹果滥用权力并非法偏袒自家产品
- 苹果|配件商 Tile 指控苹果滥用权力并偏袒自家产品
- 内容网易易盾四款产品入选嘶吼安全研究院《2020网络安全产业链图谱》
- 『手机』手机好功能竟被滥用!一加官方公告:跟秋意滤镜说再见吧
- [嘶吼RoarTalk]全球数据安全标准和认证展望
- 『嘶吼RoarTalk』阻止语音欺诈的 7 种方法
