DLL劫持

去年我分享了我发现的CVE-2020-3535:Cisco Webex Teams windows客户端dll劫持漏洞。实际上我发现了两个产品中都有这样的代码,分别是IBM(R) Db2(R)和VMware ThinApp。
最近发现针对某些目标,添加启动项,计划任务等比较明显的方式效果并不是很好,所以针对DLL劫持从而达到权限的维持的技术进行了一番学习,希望能与读者们一起分享学习过程,然后一起探讨关于DLL更多利用姿势。
动态链接库(Dynamic-Link-Library,缩写dll), 是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式。
在本篇文章中,将描述动态链接库(DLL)搜索顺序劫持的改建,以及攻击者可能如何将其用于Windows系统上的用户态持久性。这种技术可以对应到MITRE ATT&CK框架中的T1038:DLL搜索顺序劫持。
2008 R2到2009的所有Windows Server系统都存在%PATH%目录DLL劫持问题,受影响的服务以NT AUTHORITY\SYSTEM权限运行,普通用户能跟根据需要决定是否触发DLL加载操作,并且不需要主机重启。
在第三方Windows应用程序中,存在一个允许执行本地文件的漏洞,然而该漏洞却不支持带参数执行。因此,我决定在Windows中再找到一个其他的漏洞,以此来实现想要的漏洞利用。