
文章插图
一个简单的VBScript足以让用户获得管理权限并完全绕过windows 10上的UAC 。
在普华永道英国安全研究人员Wietze Beukema的最新报告中 , 我们了解到将近300个Windows 10可执行文件容易受到DLL劫持的攻击 。
在普华永道英国安全研究人员Wietze Beukema的最新报告中 , 我们了解到将近300个Windows 10可执行文件容易受到DLL劫持的攻击 。
“事实证明 , System32文件夹中的近300个可执行文件容易受到相对路径DLL劫持的攻击 。您知道吗 , 使用一个简单的VBScript , 其中一些EXE可以用于提升此类执行 , 而完全绕开UAC?”Beukema解释说 。
此处提到的漏洞是相对路径DLL劫持 , 这是当攻击者可能导致合法Windows可执行文件加载攻击者选择的任意DLL时 , 很可能是出于恶意目的 。
DLL劫持攻击可以证明对熟练的攻击者有用 , 因为它们可以授予诸如任意代码执行 , 特权提升和目标系统持久性之类的功能 。
Beukema博客文章中涵盖了DLL劫持的各种技术 , 包括DLL替换 , DLL代理 , DLL搜索顺序劫持 , Phantom DLL劫持 , DLL重定向 , WinSxS DLL替换以及相对路径DLL劫持 。
一个有效的例子为了在实践中演示相对路径DLL劫持 , Beukema着重研究了Windows 10(v1909)计算机上“ C: WindowsSystem32”文件夹中存在的库 。
他将合法的winstat.exe进程复制到了系统上的downloads文件夹中 。然后 , 他运行了进程监视工具procmon , 以更好地了解EXE在执行过程中查找的DLL 。

文章插图
进程监视器显示访问的DLL
“这使我们能够识别每个应用程序查询的所有DLL , 这将是所有潜在的可劫持DLL候选对象 。但是并不能自动得出所有这些也都已加载(并因此执行)的结果 。”研究人员解释说 。
“找出正确加载了哪些DLL的最可靠方法是编译我们自己的DLL版本 , 并在成功加载后将其写入唯一文件 。如果我们随后对所有目标可执行文件和DLL重复上述方法 , 则将导致文件收集 , 这些文件告诉我们已确认哪些DLL容易受到DLL劫持 。”
但是 , 对攻击者构成挑战的是编译一个可以由可执行文件启动的自定义版本的DLL , 而不会出现任何问题 。为了获得对合法DLL结构的可靠了解 , Beukema建议使用DLL Export Viewer之类的工具进行分析 。
该工具通过枚举所有外部函数名称来深入了解我们试图重新编译的DLL结构 , 这些名称随后将在DLL Hijacking漏洞中重复使用 。

文章插图
查找易受攻击的可执行文件的方法
研究人员提供了一个完整的库列表 , 这些库是劫持攻击的理想选择 。
他补充说:“这些不仅仅是理论上的目标 , 这些已经过测试并证实是有效的 。该列表包括287个可执行文件和263个唯一的DLL 。”
通过
github.com/wietze/windows-dll-hijacking/提供了包含这些库的完整列表的CSV 。
一些限制研究人员针对此示例攻击所解释的一些警告包括:
1)仅运行不需要任何参数的可执行文件
2)避免使用具有高级GUI和错误报告功能的应用程序
3)避免使用C ++编写的DLL 。
研究人员已经在Windows 10 64位(操作系统内部版本18362.476)上进行了测试 , 但表示:“某些[DLL]在[32位Windows]上将无法使用 。您可以使用32位GCC编译C文件 , 然后将可以正常使用 。”
请注意 , 如Twitter线程中突出显示的那样 , 此处说明的攻击可能不适用于所有Windows版本 。
绕过UACWindows用户帐户控制(UAC)是Windows Vista及更高版本中添加的一项安全功能 , 该功能询问用户是否打算在执行高风险应用程序之前将其运行 。

文章插图
Windows UAC提示
从Windows 7开始 , 由于一再要求用户授权合法的过程(可能很快变得烦人) , Microsoft在UAC框架内引入了内置的“例外” 。有效地 , 这使受信任的系统DLL可以“自动提升”特权 , 而不必使用UAC提示来打扰用户 。
推荐阅读
- 将32位Windows10升级到64位版本的方法,就是这么简单
- eBay PB 级日志系统的存储方案实践
- 黑客必备神器,包括系统和网络安全、逆向等工具
- 利用YOLOV3检测算法来实现人物定位与距离计算,打造全球定位系统
- 淘宝违规词上架不被删除?是技巧还是走系统漏洞? 淘宝怎么排除关键词
- 打瘦脸针安全嘛?
- Win10系统下搭建Go lang开发环境更换国内源并且体验宇宙最快框架
- 电脑盲目关闭系统升级,可能导致数据丢失,这样做才是最科学的
- CentOS7下安全审计工具Auditd的简单使用
- 基于CentOS8Linux运维教程-Linux系统用户与组管理
