RBCD深度利用之“烂番茄”

news2025/5/28 4:00:38

1.RBCD简介

本篇文章是在基于资源的约束委派的基础上的一个利用,篇幅会比较短,但个人认为利用面还是挺广泛的。于是就写一下。

首先,需要了解的是RBCD的基础知识:

简单回顾一下:
image
基于资源的约束委派(RBCD) 只支持2012及2012以上,它与 非约束委派约束委派
有个一个很大的区别,就是不需要管理员去单独配置。RBCD把设置的权限给了计算机本身,那么,既计算机本身可以决定‘我’可以委派谁来控制我,换句话说就是计算机自身可以直接在自己账户上配置msDS-
AllowedToActOnBehalfOfOtherIdentity属性来设置RBCD。

2.S4U2Self和S4U2Proxy

既然是RBCD,就一定绕不开两个协议,S4U2Self和S4U2Proxy,这两个协议的作用,主要是解决计算机以自己身份申请票据已达到完成认证的目的。

2.1.S4U2Self

  • S4U2Self
    通过此扩展可以拿到一张标识任意用户身份的ST,使用S4U2Self的原因,是因为,如果用户非Kerberos协议登录网站,那么就涉及到协议转换的问题,因此需要使用S4USelf。如果用户是使用Kerberos协议进行认证并登录该服务器的,那么,在该服务器上会有该用户的ST,就不需要使用S4USelf去申请ST,直接使用该的ST。这个协议的本质,其实是解决协议转换问题。当该用户user使用非Kerberos协议请求Server
    A的时候,Server A是没有user用户的ST的,但是Server A要去获取Server
    B的访问权限需要user用户的ST,因此S4U2Self解决了这个问题,Server A服务器可以使用它去向KDC请求一张user身份的ST,Server
    A服务器再用这张ST去发起S4U2proxy请求。

  • S4U2proxy
    该拓展作用是使用一张user用户身份的ST去向KDC请求一张用于访问Server B的ST,这张ST的身份还是user用户,这样Server
    A就可以利用uesr用户的权限去访问Server B上的文件了。

3.msDS-AllowedToActOnBehalfOfOtherIdentity

默认情况下,属性在ldap中是查不到的,需要单独配置才可以。谁配置了msDS-
AllowedToActOnBehalfOfOtherIdentity属性,就说明谁配置了RBCD。

image
msDS-AllowedToActOnBehalfOfOtherIdentity的values是这样的:

O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;serverA的sid)

其中O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO未固定写法,;;;后面为被委派的用户的SID

如上图,values:D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-5199876-230042057-2391242617-1113)

说明:CN=SR,CN=Computers,DC=test,DC=org配置了S-1-5-21-5199876-230042057-2391242617-1113的委派

针对这,可以根据rabbit大佬的思路来理解:配置了msDS- AllowedToActOnBehalfOfOtherIdentity,values指向域内某个用户,就可以理解为,该计算机将鉴定权能力交出去,相当于,该计算机完全信任委派的用户。

按照上图就是:

CN=SR,CN=Computers,DC=test,DC=org配置了S-1-5-21-5199876-230042057-2391242617-1113的委派,就相当于CN=SR,CN=Computers,DC=test,DC=org信任S-1-5-21-5199876-230042057-2391242617-1113

3.1.谁可以配置?

既然知道了配置了RBCD的具体表现以及含义,那么问题来了,谁能修改msDS- AllowedToActOnBehalfOfOtherIdentity的values,准确的来讲,应该是:谁可以添加msDS- AllowedToActOnBehalfOfOtherIdentity的values并修改values

这里直接抛结论:

  • 机器用户

  • mS-DS-CreatorSID 账号(mS-DS-CreatorSID的valuse的值对应的objectSid)

4.攻击利用

这里复盘一下攻击步骤:

  • 第一步,连接域控ldap创建计算机账户xiaolongxia

  • 第二步,通过ldap协议在域控上设置sr的msds-allowedtoactonbehalfofotheridentity的值为O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;xiaolongxia的sid)

  • 第三步,使用xiaolongxia凭据拿到一张TGT

image
该工具集成上面的前三步,唯一不同的是,该工具将所有计算机的msds-
allowedtoactonbehalfofotheridentity的值都设置成了新建的机器用户xiaolongxia

PS:这里感谢rabbit师傅提供的工具

  • 第四步,使用s4u2self代表administrator拿到一张ST

  • 第五步,拿从s4u2self那里获取到的ST作为验证信息再去请求一张用于访问sr机器CIFS spn的ST票据。

image

  • 第六步,提升权限

image

5.数据包分析

这里只简单看一下几个数据包
image
这个数据包,表示第三步:使用xiaolongxia凭据拿到一张TGT
image
image
image
这里表示,通过s4u2self代表administrator拿到一张ST,对自己进行请求。其中,从s4u2self申请ST所需要的TGT,它放在了TGQ-
REQ -> padata -> PA-DATA PA-TGS-REQ ->padata-value->ap-req 结构体中
image
拿到的ST是由xiaolongxia的hash加密,s4u2self这个步骤作用是xiaolongxia拿自己的tgt票据请求一张访问xiaolongxia的ST,且该ST的身份是administrator,而这张ST是用xiaolongxia的hash加密的
image
最后一步,我们拿从s4u2self那里获取到的ST作为验证信息再去请求一张用于访问sr机器CIFS spn的ST票据,也就是s4u2proxy这一步。

6.攻击面

  • 企业可能会有一个专门的账号,用来拉新用户加入域,该账号通常只有普通域用户权限,如果我们控制了这个账户呢?

  • 当我们渗透进入一个域环境,发现并没有足够的权限扩,行动有限,那么我们可以查看,当前机器是谁拉进来的,如果我们能控制该用户呢?

  • 一个域用户X可能会在域中创建多台机器(比如笔记本和台式机都需要加入域),当我们有了改用户的权限时,可以利用RBCD继续攻击其他mS-DS-CreatorSID是该域用户的机器。

来的,如果我们能控制该用户呢?

  • 一个域用户X可能会在域中创建多台机器(比如笔记本和台式机都需要加入域),当我们有了改用户的权限时,可以利用RBCD继续攻击其他mS-DS-CreatorSID是该域用户的机器。

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334848.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微电网两阶段鲁棒优化经济调度方法[3]【升级优化版本】(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑…

【论文速递】NAACL2022-DEGREE: 一种基于生成的数据高效事件抽取模型

【论文速递】NAACL2022-DEGREE: 一种基于生成的数据高效事件抽取模型 【论文原文】:DEGREE A Data-Efficient Generation-Based Event Extraction Mode 【作者信息】:I-Hung Hsu , Kuan-Hao Huang, Elizabeth Boschee &#xff…

【总结】1591- 从入门到精通:使用 TypeScript 开发超强的 CLI 工具

作为一名开发者,掌握 CLI 工具的开发能力是非常重要的。本文将指导你如何使用 TypeScript 和 CAC 库开发出功能强大的 CLI 工具。快速入门首先,需要先安装 Node.js 和 npm(Node Package Manager),然后在项目目录中创建…

【正点原子FPGA连载】第七章程序固化实验摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

第七章程序固化实验 在前面的几个实验中,我们都是通过JTAG接口将FPGA配置文件和应用程序下载到MPSOC器件中。接下来我们将尝试把程序存储在非易失性存储器中,在上电或者复位时让程序自动运行,这个过程需要启动引导程序(Boot Load…

【STM32笔记】HAL库UART串口配置及重定向(解决接收中断与scanf不能同时工作的问题)

【STM32笔记】HAL库UART串口配置及重定向&#xff08;解决接收中断与scanf不能同时工作的问题&#xff09; 首先 要使用printf和scanf 必不可少的就是 #include <stdio.h>这里需要做的就是配置单片机的UART 并且使其能够被printf和scanf调用 打开异步工作模式 并且选择…

openGauss单机版升级示例(2.0.1—>3.1.1)

文章目录前言一、升级前的准备工作二、升级主要步骤1、查看当前数据库版本2、创建临时目录用于存放安装文件3、下载最新需要升级的版本并解压4、执行前置脚本 openGauss的 gs_preinstall5、执行升级操作6、升级检查7、提交升级&#xff1a;三、附本期小知识前言 数据库版本升级…

你的自动化框架如何设计的?为什么感觉面试官总是不满意,到底问题出在哪?

前言去面试自动化测试岗位&#xff0c;尤其是接口自动化岗位&#xff0c;面试官总会问&#xff1a;说下你的自动化框架如何设计的&#xff1f;为什么回答后&#xff0c;面试官对你的框架设计总是感觉不满意&#xff1f;自动化测试实现的几种方式对于不同的公司来说&#xff0c;…

iOS16灵动岛横屏视频播放适配(ZFPlayer)

项目场景&#xff1a; 手机为iphone14Pro 版本iOS16.0.3 Xcode版本14.2 视频播放第三方库ZFPlayer 问题描述 使用视频时&#xff0c;视频播放自动横屏控制层的返回按钮和暂停按钮都点不到&#xff0c;上图错误、下图正确&#xff08;控制按钮距离屏幕左右减小50、视频全屏不做…

Maven:基础知识

Maven概念图生命周期目录工程创建测试常用命令COMPILATION ERROR : 不再支持目标选项 5。请使用 7 或更高版本。问题解决pom.xml文件properties配置示例scope配置详解概念图 依赖管理构建项目Maven 的底层核心实现项目的构建和管理必须通过插件完成&#xff0c;但插件本身并不包…

VC++打开或关闭目标进程的声音(扬声器)(附源码)

VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&a…

一刷代码随想录——单调栈

每日温度739题目描述&#xff1a;给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来…

spring security 核心类 和请求登陆过程

核心类图2. 执行登陆 首先请求被拦截器 UsernamePasswordAuthenticationFilter 拦截 看源代码可以看出默认拦截的是 /login 请求地址 当然这个地址是可以被配置的 private static final AntPathRequestMatcher DEFAULT_ANT_PATH_REQUEST_MATCHER new AntPathRequestMatche…

DFS深度优先算法 —— AcWing 842. 排列数字AcWing 843. n-皇后问题

一、了解dfs1、DFS&#xff08;Depth First Search&#xff09;DFS在我看来就是一条路走到黑&#xff0c;直到无路可走的情况下&#xff0c;才会选择回头&#xff0c;然后重新选择一条路&#xff08;官方说法即“优先考虑深度”&#xff09;整个进程反复进行直到所有节点都被访…

Allegro如何添加ICT操作指导

Allegro如何添加ICT操作指导 当PCB板需要做飞针测试的时候,通常需要在PCB设计的时候给需要测试的网络添加上ICT。 如图: Allegro支持给网络添加ICT,具体操作如下 首先在库中创建一个阻焊开窗的过孔,比如via10-ict一般阻焊开窗的尺寸比盘单边大2mil 在PCB中选择Manufacture…

Linux基础命令1(常见的系统进程、状态命令)

目录 Linux命令格式 Linux快捷按键 常用系统命令 man 查看命令的帮助信息 echo 输出信息&#xff08;将信息输出到屏幕上面&#xff09; date 查看系统的日期、时间 timedatectl 设置系统时间&#xff0c;主要是时区&…

程序环境--翻译+执行

ANSI C标准下&#xff0c;有两种程序环境。 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令。 翻译环境包括&#xff1a;预处理&#xff08;预编译&#xff09;编译汇编链接。四个步骤。 第2种是执行/运行环境&#xff0c;它用于实际执行代码。 链接…

UPC-2023新生个人训练赛第18场-Rank1

问题 B: 2的N次方 题目描述 输入n行&#xff0c;每行一个整数x&#xff0c;输出2的x次方的个位是多少&#xff1f;2的3次方表示3个2相乘&#xff0c;结果是8 输入 输入n行&#xff0c;每行一个整数x 输出 输出n行&#xff0c;每行一个整数&#xff0c;2的x次方的个位。 …

Flink CEP 在抖音电商的业务实践

摘要&#xff1a;本文整理自抖音电商实时数仓研发工程师张健&#xff0c;在 FFA 实时风控专场的分享。本篇内容主要分为四个部分&#xff1a;Flink CEP 简介业务场景与挑战解决方案实践未来展望Tips&#xff1a;点击「阅读原文」查看原文视频&演讲 ppt01Flink CEP 简介Flin…

论文投稿指南——中文核心期刊推荐(冶金工业 2)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

23种设计模式之策略模式

一、概念 就是将一系列算法封装起来&#xff0c;并使它们之间相互替换。被封装起来的算法具有独立性外部不可改变其特性。 策略模式属于对象行为模式&#xff0c;它通过对算法进行封装&#xff0c;把使用算法的责任和算法的实现分割开来&#xff0c;并委派给不同的对象对这些算…