一篇鸽了好几年的文章,其实当时就写完了就是懒得发,好多人来问hhh。。。)
Original:
记得比赛时没人打完,卡在了一个点,赛后作者放了trick,打完了简单记录下。
入口是一个 WordPress:
admin/123456弱口令,后台getshell:
第一个flag:
iox打个隧道:
挂个代理,smb扫下内网:
好几个windwos,fscan扫下永恒之蓝:
有一台有永恒之蓝,msf挂下代理打下,记得payload设置成正向的:
第二个flag:
在172.22.15.24的web服务发现一个oa系统,admin/123456弱口令登录进行:
这里给了一堆名字很容易想到Kerberoasting与AS-REP Roasting,先给他做成个字典:
GetNPUsers.py 进行批量测试:
通过结果可以知道,只有lixiuying与huachunmei他俩开启了“不使用Kerberos预认证”,使用kali自带的工具与字典进行爆破:
利用得到的两个用户密码,简单跑下rdp:proxychains4 -q ./cme rdp 172.22.15.1/24 -u huachunmei -p 1qaz2wsx -d xiaorang.lab:
proxychains4 -q ./cme rdp 172.22.15.1/24 -u lixiuying -p winniethepooh -d xiaorang.lab:
分别远程登录,最后发现lixiuying对这台机器具有”GenericWrite任意写权限”:
使用基于资源的约束委派进行本地提权。利用Powermad.ps1,先创建一个test1机器用户 密码123456:
利用powerview查询创建的机器账户的sid:
利用powerView,设置委派 修改XR-0687的msds-allowedtoactonbehalfofotheridentity的值:
1 | $SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-3745972894-1678056601-2622918667-1147)" |
查询是否修改成功:
1 | Get-DomainComputer XR-0687 -Properties msds-allowedtoactonbehalfofotheridentity |
使用getst.py生成票据:
导入票据,使用wmiexec:
提权成功,读取第三个flag:
通过之前fscan的结果可以知道,还差最后一个域控与一台证书服务器,结合一下这两个,很明显就可以想到CVE-2022-26963:
1 | 漏洞允许低权限用户在安装了 Active Directory 证书服务 (AD CS) 服务器角色的默认 Active Directory 环境中将权限提升到域管理员。现在很少有没有安装 AD CS 的大中型 Active Directory 环境,所以该漏洞危害和利用性都较强。该漏洞已作为Microsoft 2022 年 5 月安全更新的一部分进行了修补。 |
先在XR-0687上执行下面内容,将之前创建的机器账户test1的dnshostname设为xr-dc01.xiaorang.lab:
我们以计算机账户test1$的身份申请Machine模版证书,test1$的dnshostname属性值将嵌入证书中作为主题备用名称,由于test1$的dnshostname属性值被改为了xr-dc01.xiaorang.lab,因此将为我们颁发域控制器的证书:
接着我们通过颁发的证书对KDC进行PKINT kerberosr身份验证,并获取域控制器的TGT票据:
1 | proxychains certipy auth -pfx xr-dc01.pfx -dc-ip 172.22.15.13 -debug |
在执行上面的命令时,报了KDC_ERR_PADATA_TYPE_NOSUPP 错误,显示 KDC 不支持 PADATA 类型,详细内容:https://whoamianony.top/posts/pass-the-certificate-when-pkinit-is-nosupp/
直接用文章里的方法:
将cert.pfx上传到XR-0687这台机器上。使用PassTheCertificate.exe:
1 | .\PassTheCertificate.exe -CertPath .\cert.pfx -CertPassword 123456 -MachineAccount test1$ -MachinePassword 123456 -Target "CN=XR-DC01,OU=Domain Controllers,DC=xiaorang,DC=lab" |
获取票据:
导入票据&&横向:
最后一个flag: