获取特定账户操作权限
NTLM认证
1.用户通过输入的windows账户和密码登录客户端主机。在登录之前,客户端会缓存输入的密码的哈希值,原始密码被丢弃。成功登录客户端的windows的用户如果试图访问服务器资源,需要向对方发送一个请求。该请求中包含一个以明文表示的用户名。
2.服务器收到请求后,生成一个16位的随机数。这个随机数被称为Challenge或者Nonce。服务器在将该challenge发给客户端之前,该challenge会先保存起来。Challenge以明文的形式发送。
3.客户端收到服务器返回的challenge之后,用在步骤一中保存的密码哈希值对其解密,然后再将加密后的challenge发送给服务器。
4.服务器接收到客户端发送回来的加密后的challenge后,用存储的密码hash解密,并检测challenge的值是否正确,如果正确则让客户端访问资源。
AD域中的kerberos三方认证
1.client--->KDC:我想访问某个资源
2.KDC--->client:这是我用你的密码hash加密的一个TGT,请你解密之后发给我。
3.Client---->KDC(TGS):这是我解密之后的TGT,你能给我一个访问服务器A的ticket吗?
4.KDC(TGS)--->Client:这是访问服务器A的TGS,你拿去访问服务器A吧。
5.Client--->serverA: 这是DC给我的TGS,你可以用你的密码hash解密验证一下。
6.serverA--->client: 我验证过了,你有权限访问。
原理说明
通过对上面的两种认证方案的分析,我们可以发现,如果我能够窃取一个账户的密码hash,我就能够伪装成这个用户,访问某些资源。如果我拿到了AD域中管理员权限的密码hash,那我就可以在整个域中为所欲为了。
传递hash攻击是指攻击者不用提供明文的密码,而是直接通过窃取的密码hash访问远程主机或者服务。
注入万能密钥的手段跟传递hash比较相似,只不过传递hash是窃取的客户机内存中的密码hash值,万能密钥是修改了域控服务器中的存储的密码。
危害说明
1、主机可能已被攻陷,成为内网跳板机对域控服务器进行攻击。
2、主机可能已中毒,主机敏感信息存在被泄露的风险。
处置建议
1、推荐使用深信服EDR工具进行分析并查杀:http://edr.sangfor.com.cn/tool/SfabAntiBot.zip