内网渗透(二)必须了解Windows域环境

★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、Windows域环境简介

Windows域是计算机网络的一种形式,其中所有用户账户,计算机、打印机和其他安全主体都向位于一个或多个中央计算机集群(域控制器)上的中央数据库注册。

通过域用户登录域内主机,需要通过域控制器的验证。在域内使用计算机的每个人都会收到一个唯一的用户账户,然后可以为该用户账户分配对域内资源的访问权限。

从Windows Server 2000开始,活动目录 (Active Directory) 是Windows组件,负责维护该中央数据库。Windows域的概念与工作组,在工作组中,每台计算机都维护自己的安全主体数据库。

数据存储位置: C:\Windows\NTDS\NTDS.dit

1.1、Windows域应用场景

假设一个公司,有10台电脑。有一个需求需要某个账号能够访问这10台电脑上的资源或直接登录计算机。如果是在工作组环境中(每台主机都是相互独立的),需要在这10台电脑上创建一个用户且用户名和密码都相同,并且设置好相关的权限。

为了安全考虑,公司规定用户密码需要三个月修改一次,那么每到这个时间,就需要重复这种乏味繁琐的事情。若公司存在100台电脑呢?所以在这种场景中,域环境针对这种场景显得十分便捷高效。

Windows域作用:
1、账号集中管理:所有账号均存在服务器上,方便对账号的重命名/重置密码,同时控制用户在域环境的资源访问权限
2、软件集中管理:利用软件发布策略分发软件,可以让用户自由选择安装软件
3、环境集中管理:利用AD可以统一客户端桌面,IE、TCP/IP等设置。限制因误操作导致的安全问题,比如:禁止加载U盘
4、控制网络:员工不能想随便浏览网页等,可提高员工的工作效率
5、网络比较的安全:资料统一管理不易丢失或者不易被窃
6、监控网络:使网络速度合理分配
7、统一部署杀毒软件和扫毒任务,避免电脑系统经常崩溃,既节省开支,又不影响工作等

1.2、Windows域相关名词

域控制器(Domain Controller, DC)

是指在计算机网络域内响应安全身份认证请求的网络服务器,负责允许发出请求的主机访问域内资源,以及对用户进行身份验证,存储用户账户信息,并执行域的安全策略。

域控制器就可以理解为公司的门禁系统,它能根据身份信息,阻止或允许前往哪个办公室,访问哪个资料室。

当域用户登录计算机连接到域时,DC首先会鉴别这台计算机是否属于域,以及用户使用的登录账号是否存在、密码是否正确。只要出现一个错误,域控就会拒绝用户的登录请求。

主域控制器(Primary Domain Controller,PDC)

是负责验证域登录和维护域目录数据库的计算机

辅域控制器(Backup Domain Controller,BDC)

也叫额外域控制器,是指除第一台域控制器之外的其他域控制器

一个域只能一个PDC,可以有0~N个BDC

只读目录控制器 (Read-only Directory Controller, RODC)

RODC是Windows Server 2008操作系统中的一种新类型的域控制器,借助RODC组织可以在无法保证物理安全性的位置中轻松部署域控制器。RODC承载Active Directory 域服务(AD DS)数据库的只读分区。

特性:单向复制、凭据缓存、管理员角色分隔。

1.3、Windows域分类

1、域森林和域树

域树的域通过信任关系连接起来,活动目录包含一个或多个域树。域树的域层次越深级别越低,一个.代表一个层次。

域sh.benet.com比benet.com级别低,它们都属于同一个域树。前者属于后者的子域,多个域树可以组成一个域森林。

在这里插入图片描述

图片来源网络

2、单域

顾名思义,整个网络环境只有一个域。主机群位于同一地理位置,无特殊需求。在域环境中可以存在多个域服务器,一个作为主域控制服务器,其他作为备份DC。

这样可以避免因主域控制服务器瘫痪,导致活动目录数据库无法使用,影响整个域环境用户的登录。可以使用备份DC来恢复瘫痪的DC,保证可用性。

3、多域

表示有多个域环境,每个域都有自己的DC

4、父域和子域

出于管理或其他需求,在网络中划分多个域。第一个域称为为父域(eg: xxx.com),各部分的域称为该域的子域(eg: p1.xxx.com)。

比如公司本部与分部不在同一地理位置,如果把整个公司都放在一个域内,进行信息交互(同步、复制等)耗费时间会较长,占用带宽也会较大。

因为同域内,信息交互条目很多,不压缩;在不同域,信息交互条目相对少,可压缩。

**好处:**各个子域可以管理自己域中的资源。

在这里插入图片描述

图片来源网络

Windows域信任关系:
1、父域与子域之间默认是信任的
2、信任域中任何用户都可以在任何信任域中的客户机中登录到自己域中
3、父域中存在独有的Enterprise Admins级和Schema Admins
4、在父子域中可以存在同名的用户。默认情况是不能相互登录的,但做了全局组后,向下继承,父域用户可以登录到子域里。

1.4、Windows活动目录

活动目录(Active Directory, AD)是在微软Windows Server中,负责架构中大型网络环境的集中式目录管理服务(Directory Service),Windows 2000 Server开始内置在Windows Server产品中,它处在组织中的网路物件。

物件可以是计算机、用户、群组、组织单位(OU)等,只要是在Active Directory结构定义档(schema)中定义的物件,就可以存储在Active Directory资料档中,并利用Active Directory Service Interface来存取。

内网可以理解为一个字典,内网里的资源是字典内容,活动目录相当于字典的索引,用户可以通过索引(活动目录)快速定位到资源。

活动目录主要提供的功能就是域环境能做什么,域环境的实现需要安装AD。而安装了AD的服务器就是DC(用于存储活动目录数据库的计算机,即域控) 。

存储方式: NTDS.dit

NTDS.dit是AD中的数据库文件,被保存在域控制器,位置:C:\Windows\NTDS\NTDS.dit。活动目录的数据库文件(NTDS.dit),包含有关活动目录域中所有对象的所有信息,以及所有域用户和计算机账户的密码哈希值。该文件在所有域控制器之间自动同步,它只能被域管理员访问和修改。

包含三张表:

Schema表: 包含了所有可在活动目录创建的对象信息和它们之前的相互关系。包括各种类型对象的可选、不可选的各种属性。这个表是活动目录数据库中最小的、最基础的一个表。

Link表: 包含所有属性的关联、活动目录中所有对象属性的值,一个用户对象的所有属性的类型,每个属性的值和用户所属的组等信息。

**Data表: ** 保存活动目录中用户、组、应用程序特殊数据和其他的数据,是活动目录中存储信息最多的一个表。

三表关系: Data > Link > Schema

1.5、域数据库管理工具

Ntdsutil.exe是域控制器自带的域数据库管理工具,从Windows Server 2008开始就默认自带了。可以通过它提取出域中所有的域用户信息,命令必须在域控上执行。

2、Windows域用户与组

域组按类型划分可分为:安全组和通讯组。

安全组有安全标识(SID),能够给它授权访问本地资源或网络资源,既能授权访问资源,也能群发电子邮件。

通讯组没有安全标识(SID),不能授权它访问资源,只能用来群发电子邮件。

域组按作用域划分可分为:本地域组、全局组和通用组。

本地域组是对某个资源的访问权限,只能授权访问本域资源,其他域中的资源不能授权访问。

全局组是为了合并工作职责相似用户的账户,只能将本域的用户和组添加到全局组,在多域环境中不能合并其他域中的用户。

通用组和全局组的作用一样,目的是根据用户的职责合并用户,与全局组不同的是,在多域环境中能合并其他域中的域用户账户,比如可以把两个域中的test账户添加到一个通用组。

A-G-DL-P策略

是指将用户账号添加到全局组中,然后把全局组添加到域本地组中,再为域本地组分配资源权限。
A:表示用户账号(Account)
G:表示全局组(Global Group)
U:表示通用组(Universal Group)
DL:表示域本地组(Domain Local Group)
P:表示资源权限(Permission)

当策略形成以后,需要给一个用户添加某个权限时,只要把该用户添加到某个域本地组中就行了。

权限说明:
本地域组的成员可以来自所有域的用户和组,作用域只能是当前域,权限是自身的。
全局组的成员只能来自当前域的用户和组,作用域可以是所有的域,权限是它所属的本地域组。

3、下期内容预告

预计下周一将会分享实操部分-域环境的搭建,敬请关注我的公众号:大象只为你,持续更新中…

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙一次开发,多端部署(十二)资源使用

在页面开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。有两种方式处理: 应用资源:借助资源文件能力,开发者在应用中自定义资源,自行管理这些…

知识管理入门:轻松选择合适的知识管理软件

你是不是经常觉得自己的大脑像个杂乱的仓库,各种信息、知识和想法在里面乱窜,找不到头绪?别担心,知识管理软件来帮你解决这个问题啦!今天,我们就来聊聊知识管理软件这个神奇的工具,新手也能轻松…

MongoDB知识

1、部署MongoDB (1)new好一个mongo文件之后执行 (出现mongodb.key)记得放行端口 openssl rand -base64 666 > mongodb.key (2)放到一个docker-compose.yml之后docker-compose up -d执行 version: 3.…

网络安全实训Day11

写在前面 IPSec来喽。有时候把xmind直接粘贴过来会有顺序错位的情况,又被气晕 网络安全实训-网络安全技术 IPSec VPN IPSec 用于保障IP协议安全性的技术 相关概念 工作模式 传输模式:只对数据提供安全保护,不封装公网头部 隧道模式&#…

leetcode 239.滑动窗口最大值

题目 思路 这是单调队列的经典题目。 最基本思路就是(拿窗口大小为3说明): 从队列中已经有三个元素开始。先要pop掉第一个元素,然后再push进新的元素,最后返回这三个元素中最大的那一个。 pop和push操作都很简单&a…

正弦实时数据库(SinRTDB)的部署架构

为了适应各种类型的项目需求,正弦实时数据库支持单机部署、双主高可用集群部署、混合部署模式,各部署模式的特点如下: 单机部署 应用于风力发电、光伏、火电 等厂、站级监控系统。支持组态、实时计算、报警服务、报表统计等业务。 双主高可…

jmeter断言使用方法

断言主流的有两种:响应断言、JSON断言 响应断言 1、http请求添加响应断言 2、三种作用域:第一种既作用主请求又作用子请求、只作用主请求、只作用子请求。我们默认选中间的仅作用主请求即可。 3、测试字段和匹配规则 测试字段一般选择响应文本即可&am…

由浅到深认识Java语言(11):封装

该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

mac vscode 命令行启动命令安装 别名设置方法

vscode 给我们提供了一个从命令行启动并打开vscode编辑器的shell脚本, 如 在vscode中打开当前文件夹,可以执行 code . 即可。 code命令安装方法: 打开vscode 使用 ctrl shift p 快捷键打开命令行窗口, 然后输入 shell comman…

人工智能之Tensorflow批标准化

批标准化(Batch Normalization,BN)是为了克服神经网络层数加深导致难以训练而诞生的。 随着神经网络的深度加深,训练会越来越困难,收敛速度会很慢,常常会导致梯度消失问题。梯度消失问题是在神经网络中,当前…

Redis的安装与启动

一、Linux环境安装&启动Redis 1. 安装步骤 第一步:在官网下载好Redis安装包,上传到Linux中并进行解压到相应(如/opt/software/)目录中;(注意:完成了第二步后,即安装了C/C语言…

【动态规划】Leetcode 746. 使用最小花费爬楼梯

【动态规划】Leetcode 746. 使用最小花费爬楼梯 解法 ---------------🎈🎈题目链接🎈🎈------------------- 解法 😒: 我的代码实现> 动规五部曲 ✒️确定dp数组以及下标的含义 dp[i] 表示跳跃到第 i 层&#x…

Ubuntu Desktop - Updates (不升级到新版本)

Ubuntu Desktop - Updates [不升级到新版本] 1. UpdatesReferences 1. Updates System Settings -> Software & Updates -> Updates ubuntu-16.04.3-desktop-amd64.iso 不升级到新版本 ​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

二叉树的遍历及线索二叉树试题解析

一、单项选择题 01.在下列关于二叉树遍历的说法中,正确的是( C ). A.若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点 B.若有一个结点是二叉树中某个子树的前序遍历结果序列的最后一…

基于springboot+vue的毕业就业信息管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

Windows系统安装WampServer结合内网穿透实现公网访问本地服务

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境,是一组常用来…

Java的三大特性之一——多态(完)

前言 http://t.csdnimg.cn/0CAuc 在上一篇我们已经详讲了继承特性,在这我们将进行最后一个也是最重要的特性讲解——多态 在讲解之前我们需要具备对向上转型以及方法重写的初步了解,这有助于我们对多态的认识 1.向上转型 即实际就是创建一个子类对象…

制作nuget包并上传到nuget.org

下面是一个详细的步骤指南,用于创建一个简单的 C# NuGet 包并将其发布到 NuGet.org。我们将创建一个简单的数学库作为示例。 步骤 1: 创建一个新的类库项目 首先,我们需要创建一个新的类库项目。这可以通过 Visual Studio 或者 .NET CLI 完成。 使用 …

P6维护:P6 数据库迁移Step by Step

前言 根据大家的近期给的提议,这里简单介绍如何迁移P6数据库,场景选取为从将P6从ORACLE迁移到SQLServer。 Oracle Primavera P6 PPM 以及 EPPM 均有其自带的migrate工具完成数据库迁移,整个操作也较为傻瓜式,只要有基本的数据库…

Swagger3/2+Spring boot 使用小结

一:前言 Swagger 是一个 RESTful API 的开源框架,它的主要目的是帮助开发者设计、构建、文档化和测试 Web API。Swagger 的核心思想是通过定义和描述 API 的规范、结构和交互方式,以提高 API 的可读性、可靠性和易用性,同时降低 A…