安全矩阵

 找回密码
 立即注册
搜索
查看: 895|回复: 0

内网渗透基础知识

[复制链接]

417

主题

417

帖子

2391

积分

金牌会员

Rank: 6Rank: 6

积分
2391
发表于 2023-12-7 19:24:00 | 显示全部楼层 |阅读模式
AlertSec AlertSec 2023-11-16 14:31 发表于北京

内网渗透基础知识
内网渗透是指通过获取目标服务器控制权后,通过内网信息搜集、隧道搭建、权限驻扎、横向渗透等等,对其所在的内网进行渗透,并且最终获取内网其他服务器权限的过程。
内网工作环境工作组
组是账户用户的集合,通过给组用户分配权限,就不用给每个用户分配权限了,按照用途分类,域组分为通讯组和安全组。
域与工作组概念类似,但是域的计算机集合更大,适用于计算机数量众多的大型网络环境。域管理员用户是域中最强大的用户。
1、单域
单域是指网络环境中只有一个域,在一个计算机较少,地理位置固定的组织中,建立一个单独的域足以。

2、父域和子域
某些情况下,为了满足管理需求,需要在一个域中划分出多个域,被划分的域为父域,划分出来的域为子域。
从域名看,子域就是整个域名中的一个段,各子域之间用“.”来分割,一个“.”就代表域名的一个层级。


3、域树
域树中的命名空间具有连续性,并且域名层次越深,级别越低。


在域树中,域管理员只能管理本域,不能访问其他和管理其他域。如果两域之间需要相互访问,就需要建立信任关系。
4、域林
域林是指一个或多个没有形成连续名字空间的域树组成的域树集合。


域控制器
域控制器(Domain Controller,DC)又称“域控”,是域环境核心的服务器计算器,用于安全身份认证。
域控制器包含一个活动目录数据库,存储着整个域的账户密码计算机等等信息。
活动目录
活动目录(Active Directory,AD)是指安装在域控制器上,为整个域控制器提供集中式目录管理服务的组件。活动目录存储了有关域控制器中各种对象的信息,如域、用户、用户组、计算机、组织单位、共享资源、安全策略等。目录数据库存储在域控制器的Ntds.dit文件中。
Ntds.dit文件
Ntds.dit文件是域环境的域控制器上保存的一个二进制文件,是主要的活动目录数据库,其中文件路径为域控的“%SystemRoot%\ntds\ntds.dit”。Ntds.dit文件中包括但不限于有关域用户、用户密码的哈希散列值、用户组、组成员身份、和组策略信息等。
目录服务与LDAP
活动目录
活动目录是一种目录服务数据库,区别于常见的关系型数据库,目录数据库将所有数据组成一个有层次的树状结构,其中的每个节点是一个对象。
LDAP
LDAP(轻量目录访问协议)是用来访问目录服务数据库的一个协议。
目录服务数据库基本概念


1、目录树:在一个目录数据库中,所有的信息就可以看作一个目录树,树中每个节点是一个条目。
2、条目:每个条目就是一条记录,每个条目都有自己的唯一绝对可辨识名称(DN)。如上图,每个方框都是一条记录。
3、DN(Distinguished Name,绝对可辨识名称)指向一个LDAP对象的完整路径。CN代表通用名(Common Name),OU代表组织单位(Organizational Unit),DC代表域组件(Domain Component)。如上图,CN=DC1的DN绝对可辨识名称为:

  1. CN=DC1,OU=Domain Controllers,DC=test,DC=sec
复制代码

其含义是对象在test.com域的Domain Controllers组织单元中,类似文件系统目录中的绝对路径。其中,CN=DC1代表这个主机的一个对象,OU=DomainControllers代表一个Domain Controllers组织单位。
4、RDN(RelativeDistinguished Name,相对可辨识名称)指向一个LDAP对象的相对路径。比如,CN=DC1条目的RDN就是CN=DC1.
5、属性:用于描述数据库中每个条目的具体信息。
活动目录访问
这里使用微软官方提供的AD Explorer工具连接域控制器来访问活动目录,在域中任意一台主机上,以域用户身份连接域控制器,成功后,可以查看域中的各种信息。



活动目录分区
活动目录预定义了域分区、配置分区和架构分区三个分区。
域分区
域分区(Domain NC)用于储存与该域有关的对象信息,每个域的域控制器都各自拥有一份属于自己的域分区。


如上图,箭头指的DC=adsec,DC=com就是adsec.com域的域分区。
配置分区
配置分区(Configuration NC)存储整个域林的主要配置信息。
下图中CN=Configuration,DC=adsec,DC=com就是配置分区。


架构分区
架构分区(Schema NC)存储整个域林的架构信息。


活动目录的所有类(类可以看作是一组属性的集合)都存储在架构分区中,在LDAP中,类是存在继承关系的,子类继承父类所有属性,top类是所有类的父类,并且,活动目录中的每个条目都有objectClass属性,该属性指向示例对象所继承的所有类。

域用户和机器用户域用户
就是域环境中的用户,在域控制器中被创建。域用户位于域的全局组DomainUsers中,而计算机本地用户账户位于本地User组中。当计算机加入域时,全局组Domain Users会被添加到计算机本地的User组中。因此,域用户可以在域中的任何一台计算机上登录。
查看域中所有的域用户:
  1. net user /domain
复制代码


机器用户
机器用户其实是一种特色的域用户。查询活动目录时随便选中DomainComputer组的一台机器账户,查看objectClass属性,可以发现该对象是computer类的示例,并且computer类是user类的子类。说明域用户有的的属性,机器用户都有。

本地System用户对应的机器用户,一般就是"机器名+$"这种格式。
查看域中所有的机器用户:

  1. net group "Domain Computers" /domain
复制代码


与用户组的分类和权限组的用途
用户账号的集合称为组。
通讯组:给通信组发信息时,组内的用户都能收到。
安全组:对一个组赋予权限,则组内都是那个权限。
安全组的权限
根据组的作用范围,可以分为如下:
域本地组
查询域内的所有域本地组:

  1. Adfind.exe -b dc=adsec,dc=com -bit -f "(&(objectClass=group)(grouptype:AND:=4))" cn -dn
复制代码

常见的系统内置的域本地组及其组权限:
Administrators:管理员组,该组的成员可以不受限制地访问域中资源。是域林中强大的服务管理组。
RemoteDesktop Users:远程登录组,处于远程登录组中的用户才有权限使用远程登录服务。
PrintOperators:打印机操作员组,该组成员可以管理网络中的打印机,还可以在本地登录和关闭域控制器。
AccountOperators:账号操作员组,该组的成员可以创建和管理该域中的用户和组并为其设置权限,也可以在本地登录域控制器,但是,不能更改属于 Administrators 或 Domain Admins 组的账户,也不能修改这些组。在默认情况下,该组中没有成员。
ServerOperators:服务器操作员组,该组的成员可以管理域服务器,其权限包括建立/管理/删除任意服务器的共享目录、管理网络打印机、备份任何服务器的文件、格式化服务器硬盘、锁定服务器、变更服务器的系统时间、关闭域控制器等。在默认情况下,该组中没有成员。
BackupOperators,备份操作员组,该组的成员可以在域控制器中执行备份和还原操作,并可以在本地登录和关闭域控制器。在默认情况下,该组中没有成员。
通用组
查询域内所有的通用组:

  1. Adfind.exe -b dc=adsec,dc=com -bit -f "(&(objectClass=group)(grouptype:AND:=8))" cn -dn
复制代码


常见的系统内置的通用组及其组权限:
EnterpriseAdmins:组织系统管理员组,该组是域森林根域中的一个组。该组的成员在域林的每个域中都是 Administrators 组的成员,因此对所有域控制器都有完全访问控制权。
SchemaAdmins:架构管理员组,是域森林根域中的一个组,可以修改活动目录和域森林的模式。
全局组
查询域内所有的全局组:

  1. Adfind.exe -b dc=adsec,dc=com -bit -f "(&(objectClass=group)(grouptype:AND:=2))" cn -dn
复制代码


常见的系统内置的全局组及其组权限:
DomainAdmins,管理员组,该组的成员在所有加入域的服务器、域控制器和活动目录中均默认拥有完整的管理员权限。因为该组会被添加到自己所在域的 Administrators 组中,因此可以继承 Administrators 组的所有权限。同时,该组默认会被添加到每台域成员计算机的本地 Administrators 组中,这样,Domain Admins 组就获得了域中所有计算机的所有权。如果希望某用户成为域系统管理员,建议将该用户添加到 Domain Admins 组中,而不要直接将该用户添加到 Administrators 组中。
Domain Users,域用户组,该组的成员中是所有的域用户。在默认情况下,任何由我们建立的用户账号都属于 Domain Users 组。
DomainComputers,域成员主机组,该组的成员是域内所有的域成员主机,任何由我们建立的计算机账号都属于 Domain Computers 组。
DomainControllers,域控制器组,该组成员包含了域内所有的域控制器。
DomainGuests,域访客用户组,该组内的成员默认为域访客用户,域成员计算机会自动将此组加到本地的 Guests 组中。
GroupPolicy Creator Owners:此组成员可以修改域的组策略。
组织单位
对用户设置权限时,可以先拉入一个组,然后对这个组赋予权限,再把用户拉入该组,这个组一般称之为组织单位。
访问控制windows访问控制模型
Windows访问控制模型主要由访问令牌(Access Token)和安全描述符(Security Descriptor)两部分组成,分别由访问者和被访问者持有。
通过比较两者,windows可以对访问者是否拥有访问资源对象的能力进行判定。
访问令牌
当用户登陆时,windows会对用户进行身份验证,如果验证通过,就会为用户创建一个访问令牌,包括登录过程返回的SID,由本地安全策略分配给用户和用户所属的安全组的特权列表。


安全描述符
安全描述符(Security Descriptor)是一种与每个安全对象相关联的数据结构,当安全对象被创建时,操作系统会为其创建一个安全描述符,安全描述符主要由SID和ACL(Access Control List,访问控制列表)组成。SID用来标识用户账户和该用户所属的组,ACL分为DACL和SACL两种。
访问控制列表
访问控制列表(ACL)是访问控制项(ACE)的列表。
DACL
DACL是安全对象的访问控制策略,其中定义了该安全对象的访问控制策略。如下图。


DACL是由一条条ACE条目构成的,每条 ACE定义了哪些用户或组对该对象有哪些权限。
ACE里面有一个SID,SID标识了允许或拒绝访问该安全对象的安全主体。
ACE有如下4个方面:
谁对这个安全对象拥有权限 拥有什么权限 这个权限是允许还是拒绝 这个权限能不能被继承
SACL
SACL也是一条一条ACE条目构成,每条ACE定义了哪些安全主体的哪些访问行为进行日志记录。
查看与修改访问控制列表
Icals是一种命令行工具,可以访问和修改控制列表(ACL)
执行以下命令,查看指定文件的ACL

  1. icacls C:\Users\win10×64en\Desktop\test.txt
复制代码

简单权限序列 (基本权限) :
F - 完全访问权限
M- 修改访问权限
RX - 读取和执行访问权限
R - 只读访问权限
W - 仅写访问权限
特定权限的括号中的逗号分隔列表 (高级权限) :
D - 删除
RC - 读取控制 (读取权限)
WDAC - 写入 DAC (更改权限)
WO - 写入所有者 (获取所有权)
S - 同步
AS - 访问系统安全性
MA - 允许的最大数量
GR - 泛型读取
GW - 泛型写入
GE - 泛型执行
GA - 全部通用
RD - 读取数据/列表目录
WD - 写入数据/添加文件
AD - 追加数据/添加子目录
REA - 读取扩展属性
WEA - 编写扩展属性
X - 执行/遍历
DC - 删除子级
RA - 读取属性
WA - 写入属性
继承权可能位于任一 形式之前:
(我) - 继承。ACE 继承自父容器。
(OI) - 对象继承。此容器中的对象将继承此 ACE。仅适用于目录。
(CI) - 容器继承。此父容器中的容器将继承此 ACE。仅适用于目录。
(IO) - 仅继承。ACE 继承自父容器,但不适用于对象本身。仅适用于目录。
(NP) - 不传播继承。ACE 由容器和对象从父容器继承,但不传播到嵌套容器。仅适用于目录。
组策略
组策略是Windows环境下管理账户的一种手段,可以控制用户账户和计算机账户的工作环境。
以下功能:
账户策略的配置:如密码长度,复杂程度 脚本的配置:应用程序的安装与删除:用户登录或计算机启动时,自动为用户安装应用,自动修复应用的错误 文件夹重定向 限制访问可移动存储设备 用户工作环境的配置 其他系统设置等
组策略对象
组策略对象(GPO)由组策略容器(GPC)和组策略模板(GPT)组成,其中,组策略容器存储在活动目录的域分区,组策略模板放在:%SYSTEMROOT%\SYSVOL\sysvol\域名\Polices
可以用组策略管理来查看和编辑每个GPO的设置,如下图可以看到有两个默认的组策略对象。


Defualt Domain Policy默认组策略对象,应用到其所在域的所有用户和计算器。

Default Domain Controllers Policy默认组策略对象,应用到Domain Controllers中所有的用户和计算机。

1、组策略容器
组策略容器中记录着该组策略对象的策略名称、标识组策略的GUID,组策略链接到的作用域等等元数据。

GUID标识的两个默认组策略对象。选中它就可以在右侧看到信息。
displayName属性为组策略的名称,该组策略名为Default DomainPolicy。
gPCFileSysPath属性为组策略模板存放的路径,该组策略模板存放路径如下。

  1. \\adsec.com\sysvol\adsec.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
复制代码

当域中的某对象应用某组策略时,该对象的gPLink属性就会指向这条组策略的完整DN, 如下,会发现这个值和上面的DN记录一样。

2、组策略模板
一般是放在这个GUID命名的文件夹中。

组策略的创建


手动链接到域中的指定站点,先建一个组织单位。


接着在新建的sec右键,链接到现有的GPO

编辑这条组策略,例如将用户名密码长度最小值设置为7,生效后,修改密码长度低于7,则提示密码不满足密码策略的要求。

配置完后不会立即生效,执行下面的命令生效。
  1. gpupdate /force
复制代码

测试成功。

总结
愿大家健康开心。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-27 22:21 , Processed in 0.015825 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表