Windows凭证知识整理
yunyun羽泪云
- 关注
Windows凭证知识整理

Kerberos协议流程
其设计目标就是采用密钥系统为客户机与服务器之间提供严格的身份认证服务。
其流程为:
- 认证客户机身份:客户机向AS(认证用户服务器)发出认证请求;认证通过后,AS会返回一个票据(TGT),目的是为了获取ticket(服务授予票据)。
- 请求服务授权:客户机使用TGT向TGS(票据授予服务器)请求访问应用服务;TGT认证通过后,TGS返回一个ticket。
- 发送请求服务:客户机使用ticket请求访问服务;ticket校验通过后,资源服务器允许访问。
NTLM协议流程
当Kerberos在某些情况下无法对用户认证时,NTLM作为一种备份
它采用的是 质询/应答信息交换的模式
其流程为:
- 用户登录客户端,客户端会将原始密码进行哈希并缓存,成功登录的用户会向服务器请求资源,发出的请求包含了自己的明文用户名。
- 服务器收到该请求后,生成一串随机数,这个称之为Challenge,以明文形式返回给客户端,并自己保存下来
- 客户端收到之后,用第一步缓存的哈希值对这个Challenge进行加密,并发送给服务器
- 服务器将用户名、哈希过的Challenge、原始Challenge发送给域控
- 域控根据用户名找到对应的密码哈希值,它再对原始的Challenge加密,和第三步处理后的Challenge进行比对,如果一致,则通过
SAM
即,安全账户管理(Security account manager),可以看做是windows系统上的一个数据库,它用于在本地计算中以NTLM哈希格式存储用户凭证。本地登录时,LSA会根据存储在SAM中的数据验证凭证,去验证登录尝试。
从SAM中导出凭证,有多种方法:
工具方面:mimikatz工具、渗透工具(cobalt strike)自带的hashdump命令、impacket远程导出。
离线方面:注册表上HKLM\SAM和HKTM\SYSTEM处进行一个拷贝,再离线分析。
LSA与LSASS
LSA:即,本地安全机构,负责管理系统的交互式登录,实行本地安全策略、为用户发放安全访问令牌等。
LSA机密:即,LSA存储的一些敏感信息,如(用户密码、sql密码、系统账户密码等)。
LSASS:windows上的一个进程,是攻击者的目标之一;它主要是代表LSA去执行安全策略和处理用户的登录时的身份验证请求,以高权限运行。
关系:lsass是lsa的一个执行者
从lsass中导出凭证:
1.mimikatz的工具命令
2.系统内置的方法,如:用ProdDump64.exe 命令导出,再用pypykatz进行离线解析。
PPL
全称为:Protected Process Light,它是一个驱动,一种针对凭证会被导出的防御机制,即,启用了PPL保护的进程,即使是SYSTEM权限也无法访问。
当然了,也存在绕过。
一个原理就是,攻击者会去找存在任意代码执行漏洞的脆弱驱动,导致高特权下的代码执行,进而用于绕过驱动签名策略。
此外,github上有现成的ppl漏洞工具。
最后
整理文章的时候,也是一次复盘梳理的过程,如有不妥之处,请指正。
本文为 yunyun羽泪云 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
JWT概述
2023-10-19
webshell工具原理
2023-10-09
文章目录