天天看点

哈希传递攻击

哈希传递

    • 概念
    • 散列值
    • 使用NTLM Hash进行哈希传递

概念

哈希传递通过找到与账户相关的密码散列值(NTLM Hash)来攻击。在域环境中,用户登录计算机时使用的大都是域账号,大量计算机在安装时会使用相同的本地管理员账号和密码,如果计算机的本地管理员账号和密码都是相同的,攻击者就能使用哈希传递方法登陆内网中的其他计算机。同时,通过哈希传递攻击,攻击者不需要花时间破解密码散列值。

散列值在Windows中是用来证明身份的,攻击者往往会使用第三方工具来完成任务。在win2012之后的版本,默认内存中不会记录明文密码,因此攻击者往往会使用工具将散列值传递到其他计算机中,进行权限验证,实现对远程计算机的控制。

散列值

如果该网站使用明文的方式保存用户的密码,一旦该网站出现安全漏洞,所有用户的明文密码均会被泄露。当用户设置密码时,网站服务器会对用户输入的密码进行散列加密处理。散列加密算法一般为单向不可逆算法。当用户登录网站时,会先对用户输入的密码进行散列加密处理,再与数据库中存储的散列值进行对比,如果完全相同则表示验证成功。

主流的Windows操作系统会使用

NTLM Hash

对访问资源的用户进行身份验证。早起版本的Windows操作系统,使用的是

LM Hash

对用户密码进行验证。当密码大于等于15位时,就无法使用LM Hash了。从win2008后就默认禁用了LM Hash了,因为在使用NTLM Hash进行身份认证时,不会使用明文口令,而是将明文口令通过系统API转换成散列值。攻击者在获得密码散列值后,依旧可以使用哈希传递攻击来模拟用户进行认证。

使用NTLM Hash进行哈希传递

实验环境: 远程系统

  • 域名:hacke.testlab
  • IP地址:192.168.108.104
  • 用户名:administrator
  • NTLM Hash:

    7e96950fe6fe7b0809390bf6b0eb1922

首先我们现在域控机器上获取到administrator对应的ntlm值

哈希传递攻击

在目标机器中,以管理员权限运行mimikatz

哈希传递攻击

至此我们已经可以控制域控制器了

哈希传递攻击
哈希传递攻击

继续阅读