0x00 前言简介

当Active Directory首次与Windows 2000 Server一起发布时,Microsoft就提供了一种简单的机制来支持用户通过Kerberos对Web服务器进行身份验证并需要授权用户更新后端数据库服务器上的记录的方案。这通常被称为Kerberos double-hop issue(双跃点问题),需要委派才能使Web服务器在修改数据库记录时模拟用户操作。

0x01 Kerberos Unconstrained Delegation(Kerberos无约束委派)

Microsoft在Windows 2000中已添加了Kerberos“无约束委派”功能。域管理员可以通过勾选第二个复选框来启用此委派级别。第三个复选框用于“约束委派”,它要求在启用了委派的计算机上列出特定的Kerberos服务。

PowerShell查找Kerberos无约束委派:

使用Active Directory PowerShell模块的Get-ADComputer发现Kerberos无约束委派的计算机是比较容易。

无约束的委托:TrustedForDelegation = True

约束委派:TrustedToAuthForDelegation = True

0x02 Kerberos通信流程

让我们遵循标准的Kerberos通信流程,这是一个描述Kerberos如何工作的快速示例:

用户使用用户名和密码登录

1A.密码转换为NTLM哈希且时间戳用哈希加密,并把它作为身份验证票证(TGT)请求(AS-REQ)的身份验证者发送到KDC(密钥分配中心)

1B.域控制器(KDC)检查用户信息(登录限制,组成员等)并创建票据授予票证(TGT)

2. TGT经过加密和签名并发送给用户(AS-REP)。只有域中的Kerberos服务(KRBTGT)才能打开和读取TGT数据

3.当请求票证授予服务(TGS)票证(TGS-REQ)时,用户将TGT发送给DC。DC打开TGT并验证PAC校验----如果DC可以打开票证并校验和检出,则TGT 是有效的,TGT中的数据被有效地复制来创建TGS票证

4.使用目标服务帐户的NTLM密码哈希对TGS进行加密并发送给用户(TGS-REP)

5. 用户连接到服务器托管服务的适当的端口并发送给TGS(AP-REQ)。
该服务使用其NTLM密码哈希打开TGS票证。

当托管在TGS-REQ中引用的服务主体名称中指定的服务的服务器上启用Kerberos无约束委派时(步骤3),DC控制器的域控制器将用户的TGT副本存放到服务票证中。当用户的服务票证(TGS)被提供给服务器以进行服务访问时,服务器打开TGS并将用户的TGT放入LSASS以方便以后使用。Application Server现在可以无限制地模拟该用户操作!

注意:为了使应用程序服务器配置“Kerberos Unconstrained
Delegation”,域管理员或企业管理员需要在域中的计算机帐户上配置此设置。此权限可以委派给其他组,因此请谨慎在Active Directory中授权用户权限。

0x03 无约束委派盗取凭证

作为攻击者,一旦找到具有Kerberos无约束委派的服务器,那么下一步可以如下:

1.通过管理员或服务帐户攻击服务器。

2.通过社会工程学使用Domain Admin连接到服务器上的任何服务,并且具有无约束委派权限。

3.当管理员连接到此服务时,管理员的TGS服务票证(使用TGT)将发送到服务器并存入LSASS中,以方便以后使用。

4.可以提取并重新使用域管理员身份验证(TGT)票证(直到票有效期为止)。

5.可以立即使用该票证以获取域KRBTGT帐户密码哈希(当域管理员被泄露时),在这种情况下,我们使用PowerShell远程操作作为域管理员连接到域控制器。

0x04 防御措施

1.不要使用Kerberos无约束委派权限 -----配置需要使用约束委派进行委派的服务器

2.将所有高权限的管理员帐户配置为“帐户敏感且无法委派”

3.从Windows Server 2012 R2域功能级别开始提供的“受保护用户”组也可以缓解此问题,因为此组中的帐户不允许委派。

注意:

当受保护用户的组帐户升级到Windows
Server 2012 R2域功能级别时,将自动应用基于域控制器的保护。对Windows Server
2012 R2域进行身份验证的受保护用户组的成员无法再使用以下身份进行身份验证:Windows 8.1设备连接到Windows Server 2012 R2主机时.

默认凭据委派(CredSSP):即使启用了“ 允许委派默认凭据组策略”设置,也不会缓存纯文本密码凭据。

Windows摘要(Windows Digest):即使启用了Windows摘要,也不会缓存纯文本密码凭据。

NTLM:NT单向函数NTOWF的结果不会被缓存

Kerberos长期密钥:来自Kerberos初始TGT请求的密钥通常被缓存,因此不会中断身份验证请求。对于此组中的帐户,Kerberos协议会在每个请求中验证身份验证。

离线登录:登录时不会创建缓存的验证程序

Kerberos无约束委派的攻击和防御的更多相关文章

  1. 滥用基于资源约束委派来攻击Active Directory

    0x00 前言 早在2018年3月前,我就开始了一场毫无意义的争论,以证明TrustedToAuthForDelegation属性是无意义的,并且可以在没有该属性的情况下实现“协议转换”.我相信,只要 ...

  2. C#-黑客-数据库访问-字符串的攻击和防御

    C#中用基本的方法对数据库进行增删改查,会被黑客利用,写入其他的代码以实现对数据库的数据进行其他的操作.例如: 对下列数据库的某个信息进行修改操作 修改代码: using System; using ...

  3. 安全性测试入门:DVWA系列研究(一):Brute Force暴力破解攻击和防御

    写在篇头: 随着国内的互联网产业日臻成熟,软件质量的要求越来越高,对测试团队和测试工程师提出了种种新的挑战. 传统的行业现象是90%的测试工程师被堆积在基本的功能.系统.黑盒测试,但是随着软件测试整体 ...

  4. XXE注入攻击与防御

    在研究XXE注入攻击之前先了解一下什么是XXE 定义 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括 ...

  5. Mac地址泛洪攻击的防御措施和具体配置

    Mac地址泛洪攻击指的是:利用交换机的mac地址学习机制,攻击者不断地刷新mac地址,填满交换机的mac地址表,以致崩溃,使交换机不得不使用广播发包,从而获取其他人的报文信息. mac地址泛洪攻击的防 ...

  6. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

    ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

  7. 浅谈Ddos攻击攻击与防御

    EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...

  8. 通过DDOS攻击流程图来浅谈如何预防Ddos攻击与防御

    DDOS攻击流程图 站长之家配图(来源:ppkj.net) 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题 ...

  9. 《sql注入攻击与防御 第2版》的总结 之 如何确定有sql注入漏洞

    看完<sql注入攻击与防御 第2版>后,发现原来自己也能黑网站了,就一个字:太爽了. 简单总结一下入侵步骤: 1.确定是否有sql注入漏洞 2.确定数据库类型 3.组合sql语句,实施渗透 ...

随机推荐

  1. 我是如何自学 Python 的?

    最近一直有读者私信问我,Ahab你是如何学习Python的?能推荐几本适合新手学习的书吗?有没有好的实践项目分享一下呢? Python未来发展前景怎么样呀?今天我就认真的告诉大家我是如何学习Pytho ...

  2. 【Docker】Docker 目录

    目录: [Docker]第一篇 Docker的初始化安装部署 [Docker]第二篇 Docker镜像管理 [Docker]第三篇 Docker容器管理 [Docker]第四篇 Docker仓库管理

  3. Yii2 输出图片相关

    http://www.yiichina.com/doc/api/2.0/yii-web-response#$format-detail https://segmentfault.com/q/10100 ...

  4. 第十一次PSP

  5. Java锁的种类以及辨析

    锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) .这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类 ...

  6. 项目Beta冲刺(团队)第七天

    1.昨天的困难 服务器部署出了问题,本地服务器差点崩掉 运行一直闪退,在查找哪里出现问题的路上一去不复返 2.今天解决的进度 成员 进度 陈家权 消息功能模块 赖晓连 问答功能模块 雷晶 部署服务器到 ...

  7. Maya学习笔记

    软件: Maya 2016 : 参考教材: Maya 2016 中文版标准教程 ; 改变视图颜色 [窗口]|[设置/首项选择]|[颜色设置]|[3D视图]: 观察视图 旋转视图 Alt + 鼠标左键 ...

  8. 怎样实现SDO服务

    SDO是CANopen协议中最复杂的一部分,带有应答机制,有多种传输方式,并且完整的SDO功能节点需提供1个SDO server和多个SDO client,因此SDO的实现异常困难,协议多种传输方式的 ...

  9. sleep与信号唤醒的问题 & 内核对信号的处理方式 & udelay

    http://www.cnblogs.com/charlesblc/p/6277848.html 注意,sleep是会被信号唤醒的.   sleep函数:#include <unistd.h&g ...

  10. PAT 甲级 1150 Travelling Salesman Problem

    https://pintia.cn/problem-sets/994805342720868352/problems/1038430013544464384 The "travelling ...