当前位置: 首页 > news >正文

68 内网安全-域横向PTHPTKPTT哈希票据传递

目录

    • 演示案例:
      • 域横向移动PTH传递-Mimikatz
      • 域横向移动PTK传递-Mimikatz
      • 域横向移动PTT传递-MS14068&kekeo&local
      • 国产Ladon内网杀器测试验收-信息收集,连接等
    • 涉及资源:

在这里插入图片描述
在这里插入图片描述
PTH(pass the hash) #利用lm或ntlm的值进行的渗透测试
PTT(pass the ticket) #利用的票据凭证TGT进行的渗透测试
PTK(pass the key) #利用的ekeys aes256进行的渗透测试

#PTH在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务而不用提供明文密码。
如果禁用了ntlm认证,PsExec无法利用获得的ntlm hash进行远程连接,但是使用mimikatz还是可以攻击成功。对于8.1/2012r2,安装补丁kb2871997的win7/2008r2/8/2012等,可以使用AES keys代替NT hash来实现ptk攻击
总结: KB2871997补丁后的影响
pth: 没打补丁用户都可以连接,打了补丁只能administrator连接
ptk: 打了补丁才能用户都可以连接,采用aes256连接
KB22871997是否真的能防御PTH攻击?:
https://www.freebuf.com/column/220740.html
打了补丁之后,PTH还是能够攻击,只是攻击被缩小了,只能连接administrator,域账户无法攻击成功,但是本地账户仍然能够攻击成功
输入systeminfo,就知道他有没有打补丁,前期的信息收集,我们需要做到心中有数
NTLM Hash和AES keys密码加密算法不一样,但都是属于密码的一种加密形式,只是不同的加密算法,也就是说可以利用这两个算法的值,来实现攻击

PTT,票据就好比我们网站的cookie,我们就可以把票据理解成cookie的一个概念,就是说你在登录过这个主机之后,它是会产生一个cookie,或者说有跟别人建立连接的这个凭据,在你这个电脑上面,这个时候你就有票据进行重新连接

PTH和PTK做为一个连接协议是一样的,然而PTT协议不一样,它是用Kerberos协议,这就是他们主要的区别

#PTT攻击的部分就不是简单的NTLM认证了,它是利用Kerberos协议进行攻击的,这里就介绍三种常见的攻击方法: MS14-068,Golden ticket,SILVER ticket,简单来说就是将连接合法的票据注入到内存中实现连接。
MS14-068基于漏洞,Golden ticket(黄金票据),SILVER ticket(白银票据)
其中Golden ticket(黄金票据),SILVER ticket(白银票据)属于权限维持技术
MS14-068造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是kb3011780

权限维持是属于我们已经拿下权限,然后进行维持

演示案例:

域横向移动PTH传递-Mimikatz

Mimikatz不仅是凭据的获取工具,还是是获取明文密码的工具,另外还可以进行相关的攻击
在这里插入图片描述

在实战情况下,最好LM、HTLM这两个数据都收集一下,避免在域环境有利用LM这个协议验证的,考虑要严谨点

PTH ntIm传递

未打补丁下的工作组及域连接:

sekurlsa::pth /user:administrator /domain:god/ntlm:ccef208c6485269c20db2cad21734fe7
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:518b98ad4178a53695dc997aa02d455c

我们首先攻击域控
在这里插入图片描述
这个就是明显没有连接上,因为你没有凭据,我们去尝试webserver
在这里插入图片描述
执行成功之后,会自动弹窗
这个就好比at、schtasks,复制文件,执行文件等等,来实现一些过去的操作,这个就是典型的mimikatz上的攻击
如果连接IP地址不识别的话,可以换成计算机名
建立连接的PTH窗口,反弹连接客户端,连上去就完事了
3.21是域控的地址,而我们在攻击的时候,我没有指向IP地址,那如果在实战情况下的话,域控的地址需要我们去测试,在实战情况下相当于是一种随机的攻击,前期的IP地址是需要我们去收集的
有的用户跟我们同一个网络的话,我们可以把域改成workgroup连接本地用户,因为每台计算机上面会有几个用户,不要光对域内用户进行渗透,同样这个本地上的用户,也可以做为测试的目标,那我们在批量的时候就要改成workgroup,连接本地用户
在这里插入图片描述

域横向移动PTK传递-Mimikatz

PTK aes256传递
打补丁KB2871997后的工作组及域连接:

sekurlsa::ekeys      #获取aes
sekurlsa::pth /user:mary /domain:god.org /aes256:d7c1d9310753a2f7f240e5b2701d1e6177d16a6e40af3c5cdff814719821c4b

PTK,用aes连接的话,他必须打补丁才能有用,你不打补丁连接不上去
我们的思路就是,如果对方打了补丁的话,一种就是PTH administrator连接,采用的连接凭据就是ntlm hash,或者是LM Hash,于此同时还能用PTK连接
在这里插入图片描述
在渗透中要做加密值的批量枚举判断爆破的时候,我们就要搞清楚了
他不打补丁的话,无法用aes连接

域横向移动PTT传递-MS14068&kekeo&local

MS14-068利用的是PTT攻击,这里就涉及到三类攻击技巧,一种是用漏洞生成的,一种是用工具生成的,还有一种本地生成的
主要是漏洞这块,像这个工具和本地是属于后期没办法的时候,漏洞在失效的时候,没有这个漏洞的时候的一种攻击手法
第一种利用漏洞:
能实现普通用户直接获取域控system权限
#MS14-068 powershell执行
1.查看当前sid whoami/user
2.mimikatz # kerberos::purge
//清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造

mimikatz # kerberos::list           //查看当前机器凭证
mimikatz # kerberos::ptc 票据文件   //将票据注入到内存中

3.利用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

TGT数据就是票据
4.票据注入内存

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

这个过程有点类似于web攻击里面的cookie欺骗,我拿到管理员的cookie之后,我是把cookie写到访问浏览器的信息里面,这个票据注入内存和那个操作是一样的
5.查看凭证列表 klist
6.利用

dir \\192.168.3.21\c$

票据传递原理,他其实就是生成合法的连接请求,我们在通过mimikatz导入到我内存去,所以我连接的时候就不需要输入账号密码,其实就是我已经和他建立连接了,票据就好比我们web渗透的cookie信息,也就是说在域内主机存在漏洞的话,我们就可以利用票据传递攻击
第二种利用工具kekeo
1.生成票据

kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c"

2.导入票据

kerberos::ptt TGT_mary@GOD.ORG_krbtqt~god.org@GOD.ORG.kirbi

3.查看凭证 klist
4.利用net use载入

dir \\192.168.3.21\c$

第三种利用本地票据(需管理权限)

sekurlsa::tickets /export
kerberos::ptt xxxxxxxxxx.xxxx.kirbi

伪造cookie的攻击思路,他首先利用mimikatz把本地的票据,把他给收集起来,收集起来在导入到内存里面连接
我在的计算机有连接过域控,那么他就会有一些类似的储存缓存行为文件在我的计算机上面,把以前的一些凭据文件给导出来,然后在把之前跟域控建立连接的文件,给导入到内存里面去,相当于说把以前你的cookie把他搂出来,去尝试这个cookie,他是不是还可以用,这个攻击需要本地管理员权限,因为他涉及到导出票据,所以说你的权限不够的话,这个攻击是做不了的,前面那两个就不需要权限
这种在实战情况下面,有时候这个攻击还有点用,但是大部分也没太大用,有点鸡肋,因为这个PTT有个缺点,你建立之后只有10小时的存活时间
在这里插入图片描述
如果你这台计算机曾经有人,在10个小时之内,有人用你的计算机登陆过域控,那么这个时候就有,如果超过10个小时的话,你在导出来就没什么作用了,和我们cookie的存活时间是一个意思,可能密码一修改,cookie就变了,也有这个原因,PTH的存活时间就是10小时,别人连接的10个小时内,你拿到这个东西,所以它鸡肋的地方就在这里

总结: ptt传递不需本地管理员权限,连接时主机名连接,基于漏洞,工具,本地票据

权限维持,就是在攻击之后,把这个本机的票据全部储存下来,然后修改它一些存活时间,我们以后就能用这个票据文件,其实就是把对方的cookie劫获到之后,保证cookie的存活性,后期我们就用cookie进入,开个后门的意思

国产Ladon内网杀器测试验收-信息收集,连接等

信息收集-协议扫描-漏洞探针-传递攻击等
ladon和打枪工具CS、MSF都是可以相互结合的
在这里插入图片描述
GUI版本是我们图形化版本,因为大部分在实战中,是在shell里面,我们用GUI的可能性不大,但是这个GUI可以在本地用,在本地打开
存活主机扫描
在这里插入图片描述
批量检测有没有MS17010漏洞
在这里插入图片描述
看那些端口开了可以进行SMB连接,那些IP支持SMB连接的情况
在这里插入图片描述
其实就是把我们前面说的信息收集、利用工具都打包到这个里面去了,你如果在实战中的话,只需要上传这款工具的exe版,然后在里面运行exe,就能实现横向渗透,各种协议的里面都内置了,把功能全部写进去了,而且用命令能实现信息收集、漏洞探针、漏洞利用、横向渗透

涉及资源:

https://github.com/k8gege/Ladon
https://github.com/gentilkiwi/kekeo/releases
https://github.com/abatchy17/indowsExploits/tree/master/MS14-068
https://pan.baidu.com/s/1Vh4ELTFvyBhv3Avzft1fCw提取码:xiao

相关文章:

  • Redis的持久化机制
  • 如何在苹果Mac系统设置中查看Wi-Fi密码?
  • 阿里云二级域名绑定与宝塔Nginx反向代理配置
  • 前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案
  • 竞赛选题 深度学习实现语义分割算法系统 - 机器视觉
  • Ubuntu:解决PyCharm中不能输入中文或者输入一个中文解决方法
  • 【Python语言速回顾】——数据可视化基础
  • GZ035 5G组网与运维赛题第8套
  • 如何发布自己的golang库
  • 元素的水平居中和垂直几种方案
  • 新技术前沿-2023-应用GPT提问模板写技术文章
  • 什么是Web 3.0?
  • 无声的世界,精神科用药并结合临床的一些分析及笔记(十)
  • 虹科示波器 | 汽车免拆检修 | 2010款江铃陆风X8车发动机怠速抖动、加速无力
  • S32K324 UDS Bootloader开发-下位机篇-Bootload软件(1)
  • 2017-09-12 前端日报
  • Android Studio:GIT提交项目到远程仓库
  • Android 控件背景颜色处理
  • css系列之关于字体的事
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • happypack两次报错的问题
  • HashMap ConcurrentHashMap
  • nodejs:开发并发布一个nodejs包
  • spring + angular 实现导出excel
  • 爱情 北京女病人
  • 番外篇1:在Windows环境下安装JDK
  • 马上搞懂 GeoJSON
  • 如何进阶一名有竞争力的程序员?
  • 学习笔记TF060:图像语音结合,看图说话
  • mysql面试题分组并合并列
  • ​iOS实时查看App运行日志
  • ​queue --- 一个同步的队列类​
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #QT(TCP网络编程-服务端)
  • (06)金属布线——为半导体注入生命的连接
  • (四) Graphivz 颜色选择
  • (小白学Java)Java简介和基本配置
  • (一)Java算法:二分查找
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .gitignore文件_Git:.gitignore
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET/C# 使窗口永不获得焦点
  • .Net程序帮助文档制作
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • @ComponentScan比较
  • @JsonSerialize注解的使用
  • @RequestBody与@ResponseBody的使用
  • [c++] C++多态(虚函数和虚继承)
  • [C++]C++基础知识概述
  • [HEOI2013]ALO
  • [JS] 常用正则表达式集(一)
  • [LeetCode] Contains Duplicate
  • [LeetCode]-使用特殊算法的题目-2
  • [linux] Key is stored in legacy trusted.gpg keyring