01阅读须知
此文所节选自小报童《.NET 内网实战攻防》专栏,主要内容有.NET在各个内网渗透阶段与Windows系统交互的方式和技巧,对内网和后渗透感兴趣的朋友们可以订阅该电子报刊,解锁更多的报刊内容。
02基本介绍
本文内容部分节选自小报童《.NET 通过 CryptoService 解密Cookie票据》,完整的文章内容请加入小报童后订阅查看。现在限时只需69元,永久买断!目前已有300+位朋友抢先预定,我们会长期更新,对.NET内网安全的朋友们请尽快订阅该报刊!
03原理分析
在红队渗透活动中,目标站点的 Cookie 往往包含了身份权限等关键敏感信息。如果红队成功获取该 Cookie 并能解密其内容,将意味着能还原出用户的真实身份、可进一步伪造 Cookie 实现用户身份。而 .NET FrameWork 应用中使用最广泛的身份验证机制是 —— FormsAuthentication,它默认使用 .ASPXAUTH Cookie 来存储加密后的票据信息。
3.1 ASPXAUTH
.ASPXAUTH 是 .NET Forms 身份验证机制默认生成的 Cookie 名称,当用户登录成功后,一般情况下 .NET 会通过以下流程生成 .ASPXAUTH:
生成一个 FormsAuthenticationTicket 对象。
使用 machineKey 中的加密配置进行加密和签名。
将加密后的字符串写入名为 .ASPXAUTH 的 Cookie。
客户端在后续请求中自动携带该 Cookie,实现免登录访问。
其值为一个经过对称加密 + HMAC 签名 的 FormsAuthenticationTicket 字符串。这个票据包含了如下字段信息