打破边界:PrintNightmare - 深入Windows打印服务的RCE/LPE漏洞
去发现同类优质开源项目:https://gitcode.com/
简介
PrintNightmare是一个影响所有版本Windows系统的远程代码执行(RCE)和本地权限提升(LPE)漏洞(CVE-2021-34527, CVE-2021-1675)。攻击者能够利用这个漏洞,在运行打印服务的系统上获取SYSTEM级别的权限,进而创建新账户、安装程序、读取或修改数据,甚至开启全用户权利的新账户。
该漏洞源于Windows系统的打印服务spoolsv.exe
中的授权绕过bug,允许认证的远程用户通过RPC调用RpcAddPrinterDriver安装打印驱动,并指定远程位置的驱动文件。恶意用户可借此机会在安装打印驱动时注入恶意DLL,从而获得对运行该服务的Windows系统的SYSTEM权限。
尽管微软针对CVE-2021-1675发布了更新,但这并不保护域控制器或者配置了特定Point and Print选项的Windows系统。
项目中提供了三个PoC漏洞利用实现:
- cube0x0编写的Python脚本
- cube0x0的SharpPrintNightmare
- afwu的EXP(Printnightmare)
技术分析
受影响的系统包括截至2021年7月4日的所有Windows版本。已测试的环境包括Windows 2019 Server及Windows 10 Pro。
应用场景
PrintNightmare的影响是全局性的,任何暴露在网络中的Windows服务器都可能成为潜在的目标,特别是那些作为打印服务器或部署了Point and Print功能的系统。此外,域控制器由于其重要性,一旦被利用,后果更是不堪设想。
项目特点
- 远程执行代码:攻击者无需物理接触目标机器即可执行任意代码。
- 权限提升:一旦攻击得手,可以获得系统最高权限。
- 广泛影响:所有版本的Windows系统均受影响。
- 多样化的利用方式:提供多个不同的Proof of Concept(PoC),包括Python和C#实现。
防御与工作区
Microsoft建议停用Print Spooler服务或通过组策略禁用远程打印以缓解风险。此外,可以卸载“Print-Services”功能来完全阻止打印功能。
结语
PrintNightmare揭示了我们安全防御中的一个弱点,提醒我们在日常运维中不仅要关注软件更新,还要深入理解系统组件的工作原理并采取预防措施。对于开发者和网络安全专业人士来说,这是一个了解攻击手段并提高防御策略的宝贵案例。请务必关注此漏洞,并及时采取必要的安全措施。
去发现同类优质开源项目:https://gitcode.com/
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考