8月27日笔记

news2024/9/20 5:44:35

活动目录的访问

AD Explorer

LDAP( Lightweight Directory Access Protocol,轻量目录访问协议)是一种基于TCP/IP的应用层协议,用于访问和维护分布式目录信息服务。它允许用户在一个网络中查找和管理存储在目录服务中的信息。是在X.500标准基础上产生的一个简化版本(省去了x.500中许多不太常用的功能),并且使用TCP 389端口号。LDAP加密(LDAPS)端口是636。
Active Directory Explorer (AD Explorer) 是一种高级 Active Directory (AD) 查看器和编辑器。您可以使用 AD Explorer 轻松导航 AD 数据库、定义收藏夹位置、查看对象属性和 属性,而无需打开对话框、编辑权限、查看 对象的 schema,并执行可以保存的复杂搜索 并重新执行。
AD Explorer 还包括保存 AD 快照的功能 数据库进行离线查看和比较。当您加载已保存的 snapshot 中,您可以像浏览实时数据库一样导航和浏览它。 如果您有两个 AD 数据库的快照,则可以使用 AD Explorer 的 比较功能,用于查看哪些对象、属性和安全性 权限在他们之间发生更改。
AD Explorer的下载地址:https://download.sysinternals.com/files/AdExplorer.zip
解压之后。
image.png
image.png
64位的使用箭头指的那个
image.png
箭头所指的是"DC=god,DC=org",就是god.org域的域分区。
image.png

  • CN=Builtin:内置了本地域组的安全组的容器。
  • CN=Computers:机器用户容器,其中包含所有加入域的主机。
  • OU=Domain Controllers:域控制器的容器,其中包含域中所有的域控制器。
  • CN=ForeignSecurityPrincipals:包含域中所有来自域的林外部域的组中的成员。
  • CN=Managed Service Accounts:托管服务账户的容器。
  • CN=System:各种预配置对象的容器,包含信任对象、DNS对象和组策略对象。
  • CN=Users:用户和组对象的默认容器

配置分区

配置分区(Configuration NC)存储整个域林的主要配置信息,包括有关站点、服务分区和整个活动目录结构的信息。整个域林共享一份相同的配置分区,会被复制到域中所有域的域控制器上。
其中的“CN=Configuration,DC=god,DC=org”就是配置分区。
image.png

架构分区

架构分区(Schema Naming Context, Schema NC)是Active Directory中的一个重要组成部分,它存储整个域林的架构信息,包括活动目录中所有类、对象和属性的定义数据。整个域林共享一份相同的架构分区,会被复制到林中所有域的所有域控制器中。域控制器中。
其中,“CN=Schema,CN=Configuration,.DC=god,DC=org”就是架构分区。
image.png
注意,在LDAP中,类是存在继承关系的,子类可以继承父类的所有属性,而top类是所有类的父类;并且,活动目录中的每个条目都有objectClass属性,该属性的值指向该示例对象所继承的所有类,
image.png

LDAP的按位查询

LDAP的按位查询语法:

<属性名称>:<BitFilterRule-ID>:=<十进制的位值>

其中,指的就是位查询规则对应的ID,如下所示
image.png
在 LDAP 里面,有些属性字段是位字段,这里以userAccountControl 为例介绍位查询的过程。其记录了域用户账号的很多属性信息。且userAccountControl是位属性。
image.png

  • INTERDOMAIN_TRUST_ACCOUNT - 它是信任其他域的系统域信任的帐户。
  • WORKSTATION_TRUST_ACCOUNT - 它是运行 Microsoft Windows NT 4.0 Workstation、Microsoft Windows NT 4.0 Server、Microsoft Windows 2000 Professional 或 Windows 2000 Server 的计算机的计算机帐户,是此域的成员。
  • NOT_DELEGATED - 设置此标志时,即使服务帐户设置为受信任的 Kerberos 委派,也不会将用户的安全上下文委派给服务。

例子:账户William的userAccountControl属性只有HOMEDIR_REQUIRED和MNS_LOGON_ACCOUN两个位有值,其他位都没有,那么用户William的userAccountControl属性的值就为0x0008+0x20000,其十进制值为131080。
查询语句:(userAccountControl:1.2.840.113556.1.4.803:=131080)
语句的意思是查询域中所有userAccountControl属性设置HOMEDIR_REQUIRED位和MNS_LOGON_ACCOUN位的对象。

AdFind查询活动目录

下载地址:AD-Penetration-Testing-Tools/AdFind.zip at master · mai-lang-chai/AD-Penetration-Testing-Tools · GitHub
Adfind是一款在域环境下非常强大的信息搜集工具,允许用户在域环境下轻松搜集各种信息。它提供了大量的选项,可以优化搜索并返回相关详细信息,是内网域渗透中的一款利器。

AdFind.exe /?

image.png
语法:

AdFind.exe [switches][-b basedn][-f filter][attr list]
-b指定一个BaseDN作为查询的根;-f为LDAP过滤条件;attr list为需要显示的属性

连接选项
域内机器上执行ADFind的话,不需要连接参数,如果是域外机器执行ADFind的话,则需要指定连接参数。如下:

  • -h:指定主机与端口
  • -p:可以单独使用-p参数指定端口
  • -u:指定用户
  • -up:指定密码

过滤选项

  • -b:指定要查询的根节点basedn
  • -bit:指定位查询
  • -f:LDAP过滤条件,指定ldap语法

显示选项

  • -appver:显示adfind版本信息
  • -c:只统计数量
  • -csv:导出为csv格式
  • -dn:只显示dn,不返回详细信息
  • -s:搜索的范围,有one(当前层级)/sub(一层一层递归),默认是sub
  • -sdna:非域管查询sd信息
  • -recmute:如果所有属性都为空,则禁止显示DN,主要适用于sddl过滤器选项
  • -t:查询超时时间,默认120秒

示例:

AdFind.exe -b dc=god,dc=org -f "objectClass=computer" name operatingSystem

image.png
语句的意思就是查询god.org域中的所有computer对象,并过滤对象的“name”和“operatingSystem”属性。
AdFind常见查询命令
QQ_1724754323621.pngQQ_1724754343020.png
AdFind提供了快捷的按位查询方式代替复杂的BitFilterRule-ID
QQ_1724758298715.png
比如:查询域中所有userAccountControl属性设置HOMEDIR_REQUIRED位和MNS_LOGON_ACCOUN位的对象。查询语句:

AdFind.exe -b dc=god,dc=org -f "(userAccountControl:AND:=131080)" -bit -dn

域用户

域用户,顾名思义,就是域环境中的用户,在域控制器中被创建,并且其所有信息都保存在活动目录中。域用户账户位于域的全局组 Domain Users 中,而计算机本地用户账户位于本地 User 组中。当计算机加入域时,全局组 Domain Users 会被添加到计算机本地的 User 组中。因此,域用户可以在域中的任何一台计算机上登录。执行以下命令:

net user /domain

可以查看域中所有的域用户。
QQ_1724764883871.png

机器用户

即机器账号、计算机账号,所有加入域的主机都会有一个机器用户,用户名为机器名加$,如:WIN7$WINXP$。在域环境中,普通域用户最多可以创建 10 个计算机账户,但是本地账号不能创建计算机账户。默认情况下,加入域的机器默认在CN=Computers这个容器里面:
QQ_1724765495201.png
而域内的域控都在Domain Controllers这个容器里面。
QQ_1724765886314.png
当你在 Active Directory 中随便打开 Domain Computer 中的一台主机,查看其objectClass便可以发现他是computer类的实例,并且computer类是user类的子类。我们知道,域用户是user类的实例,而computer类的user类的子类则说明域用户有的属性,计算用户都有。甚至我们可以说,机器用户就是一种域用户。
在域环境中**,计算机上的本地用户SYSTEM对应域中的机器账户**,在域中的用户名就是“机器名+ ”。比如上图中计算机名为 R O O T − T V I 862 U B E H 的域用户名是 " R O O T − T V I 862 U B E H ”。比如上图中计算机名为ROOT-TVI862UBEH的域用户名是"ROOT-TVI862UBEH 。比如上图中计算机名为ROOTTVI862UBEH的域用户名是"ROOTTVI862UBEH"。
查找域中的所有机器用户

net group "Domain Computers" /domain

QQ_1724766221478.png
本地用户 SYSTEM 就对应于域内的机器用户,当我们拿下一台内网主机后,发现没有域内用户,这个时候我们将当前用户提升到 SYSTEM,就可以在域内充当机器用户了。但是提升到 SYSTEM 还需要利用一些提权方法。

域用户组的分类和权限

在域环境中,为了方便对用户权限进行管理,需要将具有相同权限的用户划为一组。这样,只要对这个用户组赋予一定的权限,那么该组内的用户就获得了相同的权限。
组的分类
按照用途可以分为通讯组和安全组。例如把某部门的所有员工拉进同一个通讯组,当给这个通讯组发消息时,组内的全部用户都可以收到。
安全组是用户权限的集合。对某个组赋予某种权限,在把需要这个权限的用户拉进这个组,这个用户就可以使用这个权限。

安全组权限

以作用范围分为域本地组、通用组、全局组。

  • 全局组成员来自于同一域的用户账户和全局组,在林范围内可用。也就是说能够添加到全局组的成员是本域的成员或者全局组(这样就构成了组的嵌套)。如果在上海的域中创建了全局组A,那么能添加到A中的人只能是上海域中的对象或者是其他可信任域,如北京或大连的全局组。
  • 域本地组成员来自林中任何域中的用户账户、全局组和通用组以及本域中的域本地组,在本域范围内可用。
  • 通用组成员来自林中任何域中的用户账户、全局组和其他的通用组,在全林范围内可用。但是注意通用组的成员不是保存在各自的域控制器上,而是保存在全局编录中,当发生变化时能够全林复制。

简单记忆:
:::info
全局组 来自本域用于全林
通用组 来自全林用于全林
域本地组 来自全林用于本域
:::
因为只有域本地组专用于在本地赋予权限,所以,通常情况下,域本地组总是最后被应用。
查询所有的域本地组

AdFind.exe -b "dc=god,dc=org" -bit -f "(&(objectClass=group)(grouptype:AND:=4))" cn -dn

QQ_1724768315373.png
域本地组在活动目录中都是 Group 类的实例,而域组的作用类型是由其groupType属性决定的,该属性是一个位属性。
QQ_1724770755846.png
常见的系统内置的域本地组及其权限:

  • Administrators :管理员组,该组的成员可以不受限制地访问域中资源,是域林强大的服务管理组。
  • Print Operators:打印机操作员组,该组的成员可以管理网络中的打印机,还可以在本地登录和关闭域控制器
  • Backup Operators:备份操作员组,该组的成员可以在域控制器中执行备份和还原操作,还可以在本地登录和关闭域控制器。
  • Remote Desktop Users:远程登录组,只有该组的成员才有远程登录服务的权限
  • Account Operators:账号操作员组,该组的成员可以创建和管理该域中的用户和组,还为其设置权限,也可以在本地登录域控制器。
  • Server Operators:服务器操作员组,该该组的成员可以管理域服务器。

查询所有通用组:

AdFind.exe -b "dc=god,dc=org" -bit -f "(&(objectClass=group)(grouptype:AND:=8))" cn -dn

QQ_1724771177819.png
常见的系统内置的通用组及其权限:

  • Enterprise Admins:组织系统管理员组,该组是域林的根域中的一个组。该组中的成员在域林的每个域中都是 Administrators 组的成员,因此对所有的域控制器都有完全控制控制权。
  • Schema Admins:架构管理员组,该组是域森林的根域中的一个组。该组中的成员可以修改活动目录,如在架构分区中新增类或属性。

查询所有全局组

AdFind.exe -b "dc=god,dc=org" -bit -f "(&(objectClass=group)(grouptype:AND:=2))" cn -dn

QQ_1724771280910.png
常见的系统内置的全局组及其权限:

  • Domain Admins:域管理员组,该组的成员在所有加入域的服务器上拥有完整的管理员权限。如果希望某用户成为域管理员,就可以将其添加到Domain Admins组中。该组会被添加到本域的 Administrators 组中,因此可以获得 Administrators组的所有权限。同时,该组默认被添加到域中每台计算机的本地 Administrators组中,所以会获得域中所有计算机的控制权。
  • Domain Users:域用户组,该组的成员是所有的域用户。在默认情况下,任何新建的用户都是该组的成员
  • Domain Computers:域成员主机组,该组的成员是域中所有的域成员主机,任何新建立的计算机账号都是该组的成员。
  • Domain Controllers:域控制器组,该组的成员包含域中所有的域控制器
  • Domain Guests:域访客用户组,该组的成员默认为域访客用户
  • Group Policy Creator Owners:新建组策略对象组,该组的成员可以修改域的组策略

访问控制

访问控制是指 Windows 操作系统使用内置授权和访问控制技术,确定经过身份验证的用户是否具有访问资源的正确权限,以控制主体(Principal)操作(读取、写入、删除、更改等)对象(Obiect)的行为是否具有合法权限。
当经过身份验证的安全主体想访问安全对象时,Windows会为安全主体创建一个访问令牌(Access Token),其中包含验证过程返回的 SID 和本地安全策略分配给用户的用户权限列表。当安全对象被创建时,Windows会为其创建一个安全描述符(Security Descriptor)。Windows 的访问控制正是将安全主体的访问令牌中的信息与安全对象的安全描述中的访问控制项进行比较做出访问决策的。

windows访问控制模型(Access Control Model)

Windows 访问控制模型主要由访问令牌(Access Token)和安全描述符(Security Descriptor)两部分组成,分别由访问者和被访问者持有。
访问令牌
当用户登录时,windows会创建访问令牌给用户,此后该用户执行每个进程都有此访问令牌的副本。当用户与安全对象进行交互时,windows都会使用此访问令牌并确定关联的用户。
访问令牌主要包含以下信息:

  • 标识用户账户的 SID(Security ID,安全标识).
  • 标识用户所属的组的 SID
  • 标识当前登录会话的登录 SID
  • 用户或用户所属的用户组持有的特权列表
  • 标识对象所有者的 SID。
  • 标识对象所有者组的 SID
  • 标识用户主安全组的 SID
  • 用户创建安全对象而不指定安全描述符时系统使用的默认 DACL(Discretionary Access Control List,自主访问控制列表)
  • 访问令牌的来源
  • 访问令牌的类型,即令牌是主令牌还是模拟令牌限制 SID 的可选列表。
  • 当前模拟等级。
  • 其他信息

安全描述符
安全描述符(Security Descriptor)是一种与每个安全对象相关联的数据结构,其中包含与安全对象相关联的安全信息,如谁拥有对象、谁可以访问对象、以何种方式访问审查哪些类型的访问信息等。当安全对象被创建时,操作系统会为其创建一个安全描述符。安全描述符主要由 SID和 ACL(Access ControlList,访问控制列表)组成。
SID 用来标识用户账户和该用户所属的组。ACL分为 DACL和SACL两种,

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

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

相关文章

SCADA 系统开启车间智能可视化

在当今高速发展的工业时代&#xff0c;车间的高效运作与精准管理至关重要。然而在自动化设备、仪表、传感器等应用的现今&#xff0c;其产生的数据越来越庞大&#xff0c;要想将这些数据充分利用起来&#xff0c;并且形成更易分析的信息&#xff0c;则需要SCADA 系统来进行采集…

参数高效的迁移学习在自然语言处理中的应用

人工智能咨询培训老师叶梓 转载标明出处 迁移学习技术&#xff0c;尤其是针对大型预训练模型的微调&#xff08;fine-tuning&#xff09;&#xff0c;在诸多下游任务中展现出了卓越的性能。然而&#xff0c;当面临众多任务时&#xff0c;传统的微调方法存在参数效率低下的问题…

鸿蒙开发:深入浅出Stage模型(UIAbility组件)

&#x1f680;一、UIAbility组件 &#x1f50e;1.概述 HarmonyOS中的Stage模型是一种基于UIAbility组件的应用程序架构。UIAbility是HarmonyOS系统中用于构建用户界面的基本组件之一。它负责处理应用程序界面的显示和交互。 在Stage模型中&#xff0c;每个应用程序都有一个或…

【Qt笔记】QCommandLinkButton控件详解

目录 引言 一、概述 二、特性与属性 1. 属性 2. 样式 三、基本用法 1. 引入必要的头文件 2. 创建和配置 QCommandLinkButton 3. 布局管理 四、高级用法 1. 自定义绘制 2. 动态内容更新 五、代码解析示例 注意 总结 引言 QCommandLinkButton 是 Qt 框架中 QtWi…

招生简章如何制作为在线版的网址链接?

​随着互联网的高速发展&#xff0c;越来越多的学校和企业选择通过在线方式发布招生简章。这种趋势不仅方便了大量用户&#xff0c;还大大降低了传统纸质招生简章的制造成本。那么&#xff0c;如何制作一份吸引眼球的在线招生简章呢&#xff1f; 1.要制作电子杂志,首先需要选择…

leetcode_001_两数之和解析

两数之和解析 题目: 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相同的元素。你可以按任意顺序…

【解压即玩】使命de召唤4

《使命de召唤4》 立即下载&#xff1a;【chumenx.com】【解压即玩】使命de召唤4

Leetcode 51. 皇后 回溯 C++实现

Leetcode 51. 皇后 问题&#xff1a;按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不…

Spring框架基础

前言 本文将讲解spring框架的基础内容 Spring 首先,我们需要了解,spring是什么? spring是一个轻量级的IOC和AOP的一站式java开发框架 作用是简化企业级开发 轻量级:框架体积小(核心模块) 其中 IOC: Inversion of Control 控制反转 IOC的作用是可以把创建对象的控制权,反转给s…

学习区块链?看我就够了!

写在前面&#xff0c;本文提到的所有书籍资源&#xff0c;都提供免费下载地址 内含pdf&#xff0c;epub,mobi等格式 一.区块链&#xff1a;定义未来金融与经济新格局 以区块链技术为核心构建的价值互联网 将深刻改变未来的金融与经济格局 文明向前发展&#xff0c;有些成果的…

Linux基础软件-共享存储nfs

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux进阶部分又分了很多小的部分,我们刚讲完了Linux日常运维。讲的那些东西都算是系统自带的&#xff0c;但是Linux作为一个…

大模型之二十七-语音识别Whisper实例浅析

Whisper简介 Whisper是OpenAI于2022年9月开源的一个多语种识别模型&#xff0c;目前支持99种语言&#xff0c;是目前性能最好的开源多语种识别ASR大模型&#xff0c;第一版版使用了68万小时标注好的语料预训练模型&#xff0c;而large-v3的标注数据超过了500万小时&#xff0c…

QL5010-16-ASEMI逆变焊机专用整流桥QL5010

编辑&#xff1a;ll QL5010-16-ASEMI逆变焊机专用整流桥QL5010 型号&#xff1a;QL5010 品牌&#xff1a;ASEMI 封装&#xff1a;KBPC-4 批号&#xff1a;2024 类型&#xff1a;整流模块 电流&#xff1a;50A 电压&#xff1a;1600V 安装方式&#xff1a;直插式封装 …

(2)Studio 5000 Logix Emulate仿真使用方法

Studio 5000 Logix Emulate仿真使用方法 引言&#xff1a;首先要安装好Studio 5000 logix emulate&#xff0c;这个软件也是需要授权的。还需要注意仿真器与studio 5000之间版本的对应&#xff0c;studio5000的版本需要小于仿真器版本。 打开Studio 5000 logix emulate&#x…

Lombok组件的使用

什么是Lombok Lombok是一个Java库&#xff0c;能自动插入编辑器并构建工具&#xff0c;简化Java开发。通过添加注解的方式&#xff0c;不需要为类编写getter或eques方法&#xff0c;同时可以自动化日志变量。 Lombok的使用 使用Lombok需要的开发环境JavaMavenIntelliJ IDEA或…

游戏开发设计模式之桥接模式

目录 桥接模式在游戏开发中的具体应用案例是什么&#xff1f; 如何在Unity或Unreal Engine中实现桥接模式以提高游戏引擎与场景的灵活性&#xff1f; 桥接模式与其他设计模式&#xff08;如适配器模式、模板方法模式&#xff09;在游戏开发中的比较优势是什么&#xff1f; …

【Verilog 数字系统设计教程】Verilog 基础:硬件描述语言入门指南

目录 摘要 1. 引言 2. Verilog 历史与发展 3. Verilog 基本语法 4. Verilog 模块与端口 5. 组合逻辑与时序逻辑 6. 时钟域与同步设计 7. 测试与仿真 8. Verilog 高级特性 任务&#xff08;Tasks&#xff09; 函数&#xff08;Functions&#xff09; 多维数组 结构体…

MinGW-w64 x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z

MinGW-w64 x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z 安装包 链接: https://pan.baidu.com/s/1G8SDlDcBtNU4TCBuLL9XYw?pwdv587 提取码: v587 是7z文件&#xff0c;解压即可&#xff0c;自动得到一个mingw64文件夹。 自存&#xff0c;应该能用

多态(虚构的整体,具体的个体)(多态的基本概念/多态的原理剖析/纯虚函数和抽象类/虚析构和纯虚析构)

多态的基本概念 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; // 多态的基本概念 // 多态分为静态多态和动态多态 // 静态多态&#xff1a; 函数重载还运算符重载属于静态多态&#xff0c;服用函数名 // 动态多态&#xff1a; 派生派和虚函…

电商走向“未来化”,“含金量”几何?

2018年&#xff0c;史蒂文斯皮尔伯格导演的《头号玩家》一经上映&#xff0c;就带火了虚拟现实概念。电影中&#xff0c;男主角戴上VR眼镜、感知手套&#xff0c;穿上触感套装&#xff0c;从视觉、听觉到触觉&#xff0c;瞬间切换至全新的世界。 电影《头号玩家》剧照 时隔六年…