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

今天讲PTH&PTK&PTT,

PTH(pass the hash) #利用 lm 或 ntlm 的值进行的渗透测试

PTT(pass the ticket) #利用的票据凭证 TGT 进行的渗透测试  用的Kerberos 协议

PTK(pass the key) #利用的 ekeys aes256 进行的渗透测试

lm加密算法是2003以前的老版,2003用户均为ntlm 算法的hash

pth在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过lm hash或者ntlm hash值访问远程主机或服务,不需要提供出来明文密码,

如果禁用了ntlm认证,psexec无法利用获得的ntlm hash值进行远程连接,但是使用mimikatz还是可以攻击成功的,对于安装过kb2871997补丁的,可以使用aes keys代替nt hash来实现ptk攻击

ntml和aes是两种加密算法,他们都属于密码里面加密形式,只是不同的加密算法,可以利用这两个算法的值实现攻击;

tgt票据就好比我们之前说的网站的cookie,可以理解为cookie这个概念,就是在登陆过这个主机的时候,或者说和被人建立链接的一个凭据,和cookie大概意思差不多,

ptt攻击的部分就不是简单得ntlm认证,他是利用Kerberos协议进行的攻击,这里就介绍三种常见的攻击方法,ms14-068,golden ticket,silver ticket。简单来说就是将连接合法的票据注入到内存中实现链接。

ms14-068是基于漏洞,golden ticket(黄金票据),silver ticket(白银票据)属于权限维持技术,ms14-068造成的危害是运行域内任何一个普通用户,将自己的权限提升至域控的权限,微软也给出了补丁是kb3011780

案例一域横向移动 PTH 传递-Mimikatz

mimikatz不仅可以获取明文密码和hash还可以进行相关的攻击,

利用mimikatz获取pth需要的ntml值

这里介绍一个aes获取方法,输入获取aes的命令

这个就是aes值

假设获取到了域控的hash值,然后我们直接用pth去查看目标主机的文件,一定是不会成功的

直接去链接肯定连接不上的,因为我没有一个凭据。

我们利用pth传递之前信息收集得到ntlm hash值,大概率会有一台主机的ntml hash值是和这个也有的,输入payload

就突然弹出来了一个cmd窗口,看前缀权限也很高,

后面想执行什么命令,都要在这个弹出的cmd里面执行,不要再之前那个框执行。

成功执行出目标主机的命令出来

注意;在链接的时候如果ip地址无法识别,就用计算机名字链接

然后我们执行那个攻击的命令的时候并没有指定ip,所以链接的时候是挨个测试所以域内主机的那个用户,admintrator用户,弹出窗口之后,我们不知道那个ip,就用收集到的域内ip,挨个ip查看c盘内容测试,哪一个有回显就是那个ip的;

接下来是没有假设的案例

用本机的信息收集,用本机得到的ntml hash值测试一下随机链接,

然后谈成了窗口,挨个ip测试

测试出来是192.168.3.29这个ip的,

然后在这个主机上运行mimikatz

发现这里的adminstrator根本不是这个ntml hash值,不是连接时候用的5180的ntml,这是为什么,是因为他链接的是本地用户,并不是域用户,我们看到的是god域用户的,

这个肉鸡里面有两个用户一个本地的管理员用户,还有一个域内的用户 名叫boos

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

我们这条命令链接的是工作组的管理员用户就是连接到他本地的管理员用户,不是域内的,

sekurlsa::pth/user:boss/domain:god/ntlm:518b98ad4178a53695dc997aa02d455c 

用这个命令就链接的域内的boss用户

也可以写为爆破脚本去跑

接下来是个重要知识点

如果禁用了ntml验证,psexec无法利用获得的ntlm hash值进行远程连接,但是即使这个关了,用mimikatz进行pth链接还是可以攻击成功的,

总结;在没有打补丁的时候,所有用户都可以链接,打了补丁之后只能administrator链接

打补丁之后用户固定为administrator,补丁用systenminfo查看即可

案例二域横向移动 PTK 传递-Mimikatz

这个命令就有些不一样了

sekurlsa::pth /user:mary /domain:god /aes256:d7c1d9310753a2f7f240e5b2701dc1e6177d16a6e40af3c5cdff814719821c4b

用ptk去链接,他必须要打补丁才可以,不打补丁链接不上去,

对方打了补丁之后,一种用administrator去链接,第二种就用ptk链接,

区别;

没打补丁之前,只能lm和ntlm,打了之后,还能aes链接所有用户,补丁造就了新的bug

开始攻击,线用mimikatz获取aes

直接输入攻击payload

这里老师把后面的aes值写错了,只是演示一下过程

payload也可以写为爆破脚本

然后就出现弹窗,挨个ip查看

因为后面的值没写对,然后如果值写对了之后,也有可能因为没有打补丁的问题报错

具体原因去参考补丁文章

案例三域横向移动 PTT 传递-MS14068(主要)&kekeo&local 

ptt攻击不是单纯的ntlm认证,不是利用ntlm进行攻击的,利用的kerberos协议进行攻击,

三种攻击方法,一种是MS14068漏洞生成的,一种是kekeo这个工具上传到,一种是local 本地生成的,工具和本地都在MS14068失效的时候才考虑用,

MS14068

它能实现普通用户直接获取域控的system权限,

第一步,查看当前sid   whoami /user

第二部mimikatz,在这里能用就行,可以不用提权,这里mimkatz就是清空凭据的并不是查看,

因为有域成员的凭据会影响我们的操作,

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
-u 执行的域内用户地址,-s就是一开始获取的sid,-d就是域控ip,-p就是域内用户的密码

执行完之后就会生成一个tgt数据,

然后再利用mimikatz把票据注入到内存里面。

这个过程就有点像web里面的cookie欺骗

之后再去链接域控,就相当于采用了伪造的票据进行链接

前期的清空凭据就是防止这个主机已经和域控连接过了,

演示一下

获取本地sid值

之后就打开mimikatz

删除之前的所有凭据

再查看可以看到票据为空

利用payload,生成一个位置的tgt票据

用mimikatz将票据注入内存(类似将伪造的cookie注入浏览器)

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

注入成功之后,我们再去看内存凭据

就出现了一个凭据,看时间就是刚刚生成的凭据

这里要用计算机名字链接,先查看一下域控计算机名字

直接连接上执行命令

原理;生成一个合法的连接请求的票据,然后用mimikatz导入到内存里面,再去链接的时候就已经和发了,

第二种利用工具 kekeo(原理还是类似)

生成票据:(这里需要mary的哈希密码)

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

利用kekeo导入伪造的票据进行内存

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

查看票据

导入成功了

然后建立链接就行了

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

假如在我拿下的这台肉机上,他有链接过域控,就会有类似的储存缓存文件在这个肉鸡上面,我们就把他之前的凭据都给他导出来(导出票就需要本地管理权限),再把之前和域控建立的凭据导入到内存里面去,

利用mimikatz导出票据:sekurlsa::tickets /export 

这些都是票据

再把这些凭据加载到内存里面去,在尝试链接

但是这个有一些缺点,这个ptt的存活时间大概就只有十个小时,超过十个小时在导出来,就没有作用力,前提条件;这别人连接后十个小时内拿到这个凭据

导入刚刚获取的凭据

直接就可以直接攻击了

黄金票据和白银票据还没有讲,不过也好理解,就是权限维持,就在靶机上把所有票据都导出来,修改一下存活的时间,保证存活性

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

他这个工具提供两个版本,不过在实战中大部分都不会用图形化的版本,都用会话的,

测试几个功能

信息收集-协议扫描-漏洞探针-传递攻击等

存货主机在线扫描

漏洞探针,存在ms17010漏洞的主机

白色就代表没有这个漏洞

传递攻击

扫描smb协议的端口是否开放

在探针这个漏洞试试

系统权限

fa

cai

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

EST-100身份证社保卡签批屏按捺终端PC版web版本http协议接口文档,支持web网页开发对接使用

<!DOCTYPE html><html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width,initial-scale1.0"><title>演示DEMO</title><script type"text/…

低频RFID读写器畜牧业系列介绍

近些年&#xff0c;畜牧行业普遍从传统的分散养殖模式逐渐转化为集约化、规模化养殖&#xff0c;由于集中养殖的禽畜数量多&#xff0c;人工识别与管理的难度大&#xff0c;落后的管理制度不能够很好地满足集约化生产和管理的需要。而被誉为21世纪最具发展潜力的信息技术之一&a…

C++标准模板库(STL)

标准模板库&#xff08;STL&#xff09;是一组C模板类&#xff0c;提供常见的编程数据结构和函数&#xff0c;如列表、堆栈、数组等。它是一个容器类、算法和迭代器的库。它是一个通用库&#xff0c;因此&#xff0c;它的组件是参数化的。模板类的相关知识是使用STL的先决条件。…

电脑免费硬盘数据恢复软件EasyRecovery16永久免费版

当你的硬盘数据没有被检测到时该怎么办&#xff1f;这里是恢复数据的几个小方法。每个存储介质都容易发生数据丢失或遭受物理损伤、腐蚀磨损等等。一个常见的问题是逻辑故障。这是介质似乎可以工作的地方&#xff0c;但数据是不可访问的。物理故障也可能发生。这里的问题要么是…

麒麟信安成为福建省信息技术应用创新协会首批成员单位

为深入贯彻落实福建省委省政府关于信创工作部署&#xff0c;在福建省密码管理局、福建省工业和信息化厅、福建省数字福建建设领导小组办公室指导下&#xff0c;12月27日&#xff0c;福建省电子信息集团牵头举办福建省信息技术应用创新发展大会&#xff0c;中国工程院陈左宁院士…

最优化方法Python计算:无约束优化应用——逻辑回归模型

S型函数 sigmoid ( x ) 1 1 e − x \text{sigmoid}(x)\frac{1}{1e^{-x}} sigmoid(x)1e−x1​将全体实数 R \text{R} R映射到 ( 0 , 1 ) (0,1) (0,1)&#xff0c;称为逻辑函数。其图像为 该函数连续、有界、单调、可微&#xff0c;性质量好。拟合函数为 F ( w ; x ) sigmoi…

Golang 链表的基础知识

文章目录 链表链表基础知识部分链表的存储方式链表的定义链表的操作性能分析相关leetcode题目 链表 更多有关于go链表的内容可以见这篇文章链表的创建和读取 链表基础知识部分 什么是链表&#xff0c;链表是一种通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分…

二、类与对象(三)

17 初始化列表 17.1 初始化列表的引入 之前我们给成员进行初始化时&#xff0c;采用的是下面的这种方式&#xff1a; class Date { public:Date(int year, int month, int day)//构造函数{_year year;_month month;_day day;} private:int _year;int _month;int _day; };…

Spring-4-代理

前面提到过&#xff0c;在Spring中有两种类型的代理&#xff1a;使用JDK Proxy类创建的JDK代理以及使用CGLIB Enhancer类创建的基于CGLIB的代理。 你可能想知道这两种代理之间有什么区别&#xff0c;以及为什么 Spring需要两种代理类型。 在本节中&#xff0c;将详细研究代理…

fastadmin想自定义表格的样式,可以使用模板渲染并在模板中调用自定义的方法

fastadmin 如何在模板中使用自定义的方法 比如页面上要对返回的时间&#xff0c;电话&#xff0c;身份证做处理 html页面 <script type"text/html" id"itemtpl"><span id"<%item.id%>" class"margins mobile"><…

播放海康摄像头直播流使用笔记

1、将海康摄像头绑定到萤石云平台&#xff0c;并查看直播流 2、项目中使用 1、安装hls cnpm i hls.js 2、封装组件&#xff08;在components文件夹下新建bodyCapture文件夹下index.vue&#xff09; <template><el-dialogtitle"遗体抓拍"class"bo…

面试题:MySQL 自增主键一定是连续的吗?

文章目录 测试环境&#xff1a;一、自增值的属性特征&#xff1a;1. 自增主键值是存储在哪的&#xff1f;2. 自增主键值的修改机制&#xff1f; 二、新增语句自增主键是如何变化的&#xff1a;三、自增主键值不连续情况&#xff1a;&#xff08;唯一主键冲突&#xff09;四、自…

YBM41567/4A 20V1.0A线性锂电池充电管理芯片

YBM41567/4A 20V1.0A线性锂电池充电管理芯片 概述&#xff1a; YB4156/7/4A是一款狸电池充电管理芯片&#xff0c;集成涓流、恒流、恒压三段式线性充电管理&#xff0c;符合锂电池安全充电规范。充电输入耐压高达24V,充电电流高至1.0A,可通过片外电阻配置。YB4156/7/4A集成防…

【数据结构和算法】独一无二的出现次数

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 哈希类算法题注意事项 2.2 方法一&#xff1a;判断长度 2.3 方法二&#xff1a; set 判断 2.4 方法…

《手把手教你》系列练习篇之5-python+ selenium自动化测试(详细教程)

1.简介 相信各位小伙伴或者同学们通过前面已经介绍了的PythonSelenium基础篇&#xff0c;通过前面几篇文章的介绍和练习,SeleniumPython的webUI自动化测试算是 一只脚已经迈入这个门槛了要想第二只脚也迈进来。那么就要继续跟随宏哥的脚步继续前行。接下来&#xff0c;宏哥 计…

GLTF编辑器-位移贴图实现破碎的路面

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 位移贴图是一种可以用于增加模型细节和形状的贴图。它能够在渲染时针…

C# Winform教程(二):基础窗口程序

1、介绍 winform应用程序是一种智能客户端技术&#xff0c;我们可以使用winform应用程序帮助我们获得信息或者传输信息等。 2、常用属性 Name&#xff1a;在后台要获得前台的控件对象&#xff0c;需要使用Name属性。 Visible&#xff1a;指示一个控件是否可见、 Enable&…

idea 插件开发之 HelloWorld

前言 本文使用的 idea 2023.3 版本进行插件入门开发&#xff0c;首先要说明的是 idea 2023 版本及以后的 idea&#xff0c;对插件开发进行了一定程度的变动&#xff1a; 1、创建项目时不再支持 maven 选项 2、必须是 jdk17 及以后版本&#xff08;点击查看官网版本对应关系&…

【嵌入式开发 Linux 常用命令系列 7.3 -- linux 命令行数值计算】

文章目录 linux 命令行数值计算使用 awk使用 bc 命令使用 Bash 的内置算术扩展使用 expr脚本命令实现 linux 命令行数值计算 在 Linux 命令行中&#xff0c;您可以使用多种方法来执行基本的数学运算。以下是一些示例&#xff1a; 使用 awk awk 是一个强大的文本处理工具&…

【12.28】转行小白历险记-刷算法04

01两两交换链表中的节点 整体思路 1.要修改后一个节点的指向一定要知道前一个节点的指向才可以改变后面一个节点的 2.分情况奇数和偶数节点&#xff0c;终止条件很重要 3.虚拟头节点&#xff0c;是对我们操作的指针是不是头节点进行判断 02删除链表的倒数第N个节点 思路 …