环境
受害机:window2019(192.168.153.133)
攻击机:kali(192.168.153.134)
利用前提
或许需要:SeImpersonatePrivilege或SeAssignPrimaryTokenPrivilege权限
一定需要:一个普通的域用户
一定需要:开启Spooler服务
环境搭建
安装impacket
代码语言:javascript
代码运行次数: 0 运行 复制
下配置smb服务
vim /etc/samba/smb.conf
代码语言:javascript
代码运行次数: 0 运行 复制
sudo service smbd start
生成dll和启动msf
代码语言:javascript
代码运行次数: 0 运行 复制
下载exp
代码语言:javascript
代码运行次数: 0 运行 复制
利用漏洞
代码语言:javascript
代码运行次数: 0 运行 复制
遇到的坑
第一个坑:
按照exp里面的smb配置文件配置smb后无法匿名登录,需要提供账号和密码,后删除最后一行后可正常匿名访问。在本次实验时通过资源管理器直接访问smb服务器提示组策略出问题但是这个问题可以忽略(我也不知道为什么可以忽略),还有一个奇怪的是在公司同样的配置物理机可以直接访问smb,在家的电脑上却也需要密码而只有win7能正常访问。反正按照我上面讲的就能利用成功。
第二个坑:
这是另一个cpp的exp。大概执行过程是受害机会将dll下载到C:WindowsSystem32spooldriversd这个目录下然后执行。首先这个cpp需要改4个地方,第一个是112行需要改成C:WindowsSystem32DriverStoreFileRepository tprint.inf_amd64_[受害机特有的]Amd64、剩下是将三个含有old的路径改为C:\Windows\System32\spool\drivers\x64\%s。问题来了,第一个问题是不知道112行那个受害机特有的路径是啥,第二个问题明明dll是上传到C:WindowsSystem32spooldriversd这个目录但是exp却是执行的C:WindowsSystem32spooldriversd这个目录下的dll而这个目录下根本就没有dll。我也尝试把三个含有old路径修改为C:\Windows\System32\spool\drivers\x64\3\%s结果还是不行。
第三个坑:
因为这个洞和域没关系,我没有域环境也不想搭就偷懒以win7为靶机,结果一直Connection Failed,这个折腾了我很久。我猜测可能和SeImpersonatePrivilege或SeAssignPrimaryTokenPrivilege权限有关系,因为我这个win7虚拟机没有这个两个权限,以前利用potato提权也失败了。
第四个坑:
在域控上面尝试过利用域管和本地管理员账号来利用这个漏洞,结果都不行只有普通域用户才能利用成功。如果是普通pc就没有账号的限制,但是在普通pc上利用这个漏洞的意义不大。
第五个坑:
利用成功之后sploor这个服务会自动关闭,也就是说这个漏洞只能利用成功一次。
END