PrintNightmare打域控漏洞的一次艰难利用

2024-10-01 13 0

一、前言

PrintNightmare这个打域控的漏洞利用中遇到很多坑,从dll加载失败,再到权限校验失败一步一步debug深入分析解决。虽然坑多,但是毕竟能够打域。

二、本地测试

通过使用管理员账号测试远程加载dll发现失败了,但是确实发现系统上dll上传了

PrintNightmare打域控漏洞的一次艰难利用插图

于是再将dll指向本地,发现了如下报错。

PrintNightmare打域控漏洞的一次艰难利用插图1

三、为什么加载dll失败了

然后使用Promonitor进行监控,到底怎么报了其他程序占用dll文件,从而导致文件无法被加载的问题。

问题就出现在这个调用栈,

PrintNightmare打域控漏洞的一次艰难利用插图2

于是windbg进行直接附加

通过u命令反汇编对应的字节码,寻找到上一个call,bp下断点。

u 0x7ffdee15092b-10 0x7ffdee15092b+10

PrintNightmare打域控漏洞的一次艰难利用插图3

打断点捕获到MoveFileExW函数在移动C:\Windows\System32\spool\drivers\x64\3\x643.dll,

PrintNightmare打域控漏洞的一次艰难利用插图4

https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-movefileexw

然后rax返回0,表示失败了。

PrintNightmare打域控漏洞的一次艰难利用插图5

通过查询资料得知,MoveFileExW移动文件的的要求:

一个文件在打开时使用了 FILE_SHARE_DELETE 标志,MoveFileExW 函数可以移动或重命名该文件,即使文件已经被另一个进程打开。

四、spoolsv.exe如何加载dll的?

通过procmonitor发现在前面确实已经对C:\Windows\System32\spool\drivers\x64\3\x643.dll进行了CreateFile了,而且重复CreateFile,我们来看下是如何打开文件的?

PrintNightmare打域控漏洞的一次艰难利用插图6

还是同样直接下断点打开

发现CreateFile第三个参数的值为1,也就是dwShareMode为1,是以共享读方式FILE_SHARE_REA


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

GShark:一款针对GitHub的敏感信息安全扫描与审计工具
BotKube:一款针对Kubernetes集群的安全监控与调试部署工具
Apache OFBiz SSRF漏洞CVE-2024-45507分析
Chainsaw:一款基于Windows事件日志的信息安全取证工具
SEMA:一款基于符号执行的恶意软件分析工具
简单易懂!Java应用中的不安全反序列化

发布评论