内网渗透基础知识

admin 2024年2月9日01:27:15评论11 views字数 6076阅读20分15秒阅读模式

内网渗透基础知识

内网渗透是指通过获取目标服务器控制权后,通过内网信息搜集、隧道搭建、权限驻扎、横向渗透等等,对其所在的内网进行渗透,并且最终获取内网其他服务器权限的过程。

内网工作环境

工作组

组是账户用户的集合,通过给组用户分配权限,就不用给每个用户分配权限了,按照用途分类,域组分为通讯组和安全组。

域与工作组概念类似,但是域的计算机集合更大,适用于计算机数量众多的大型网络环境。域管理员用户是域中最强大的用户。

1、单域

单域是指网络环境中只有一个域,在一个计算机较少,地理位置固定的组织中,建立一个单独的域足以。

内网渗透基础知识

2、父域和子域

某些情况下,为了满足管理需求,需要在一个域中划分出多个域,被划分的域为父域,划分出来的域为子域。

从域名看,子域就是整个域名中的一个段,各子域之间用“.”来分割,一个“.”就代表域名的一个层级。

内网渗透基础知识

3、域树

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

内网渗透基础知识

在域树中,域管理员只能管理本域,不能访问其他和管理其他域。如果两域之间需要相互访问,就需要建立信任关系。

4、域林

域林是指一个或多个没有形成连续名字空间的域树组成的域树集合。

内网渗透基础知识

域控制器

域控制器(Domain Controller,DC)又称“域控”,是域环境核心的服务器计算器,用于安全身份认证。

域控制器包含一个活动目录数据库,存储着整个域的账户密码计算机等等信息。

活动目录

活动目录(Active Directory,AD)是指安装在域控制器上,为整个域控制器提供集中式目录管理服务的组件。活动目录存储了有关域控制器中各种对象的信息,如域、用户、用户组、计算机、组织单位、共享资源、安全策略等。目录数据库存储在域控制器的Ntds.dit文件中。

Ntds.dit文件

Ntds.dit文件是域环境的域控制器上保存的一个二进制文件,是主要的活动目录数据库,其中文件路径为域控的“%SystemRoot%ntdsntds.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绝对可辨识名称为:

CN=DC1,OU=Domain Controllers,DC=test,DC=sec

其含义是对象在test.com域的Domain Controllers组织单元中,类似文件系统目录中的绝对路径。其中,CN=DC1代表这个主机的一个对象,OU=Domain Controllers代表一个Domain Controllers组织单位。

4、RDN(Relative Distinguished 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属性,该属性指向示例对象所继承的所有类。

内网渗透基础知识

域用户和机器用户

域用户

就是域环境中的用户,在域控制器中被创建。域用户位于域的全局组Domain Users中,而计算机本地用户账户位于本地User组中。当计算机加入域时,全局组Domain Users会被添加到计算机本地的User组中。因此,域用户可以域中的任何一台计算机上登录。

查看域中所有的域用户:

net user /domain

内网渗透基础知识

机器用户

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

内网渗透基础知识

本地System用户对应的机器用户,一般就是"机器名+$"这种格式。

查看域中所有的机器用户:

net group "Domain Computers" /domain

内网渗透基础知识

与用户组的分类和权限

组的用途

用户账号的集合称为组。

通讯组:给通信组发信息时,组内的用户都能收到。

安全组:对一个组赋予权限,则组内都是那个权限。

安全组的权限

根据组的作用范围,可以分为如下:

域本地组

查询域内的所有域本地组:

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

内网渗透基础知识

常见的系统内置的域本地组及其组权限:

Administrators:管理员组,该组的成员可以不受限制地访问域中资源。是域林中强大的服务管理组。

Remote Desktop Users:远程登录组,处于远程登录组中的用户才有权限使用远程登录服务。

Print Operators:打印机操作员组,该组成员可以管理网络中的打印机,还可以在本地登录和关闭域控制器。

Account Operators:账号操作员组,该组的成员可以创建和管理该域中的用户和组并为其设置权限,也可以在本地登录域控制器,但是,不能更改属于 Administrators 或 Domain Admins 组的账户,也不能修改这些组。在默认情况下,该组中没有成员。

Server Operators:服务器操作员组,该组的成员可以管理域服务器,其权限包括建立/管理/删除任意服务器的共享目录、管理网络打印机、备份任何服务器的文件、格式化服务器硬盘、锁定服务器、变更服务器的系统时间、关闭域控制器等。在默认情况下,该组中没有成员。

Backup Operators,备份操作员组,该组的成员可以在域控制器中执行备份和还原操作,并可以在本地登录和关闭域控制器。在默认情况下,该组中没有成员。

通用组

查询域内所有的通用组:

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

内网渗透基础知识

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

Enterprise Admins:组织系统管理员组,该组是域森林根域中的一个组。该组的成员在域林的每个域中都是 Administrators 组的成员,因此对所有域控制器都有完全访问控制权。

Schema Admins:架构管理员组,是域森林根域中的一个组,可以修改活动目录和域森林的模式。

全局组

查询域内所有的全局组:

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

内网渗透基础知识

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

Domain Admins,管理员组,该组的成员在所有加入域的服务器、域控制器和活动目录中均默认拥有完整的管理员权限。因为该组会被添加到自己所在域的 Administrators 组中,因此可以继承 Administrators 组的所有权限。同时,该组默认会被添加到每台域成员计算机的本地 Administrators 组中,这样,Domain Admins 组就获得了域中所有计算机的所有权。如果希望某用户成为域系统管理员,建议将该用户添加到 Domain Admins 组中,而不要直接将该用户添加到 Administrators 组中。

Domain Users,域用户组,该组的成员中是所有的域用户。在默认情况下,任何由我们建立的户账号都属于 Domain Users 组。

Domain Computers,域成员主机组,该组的成员是域内所有的域成员主机,任何由我们建立的计算机账号都属于 Domain Computers 组。

Domain Controllers,域控制器组,该组成员包含了域内所有的域控制器。

Domain Guests,域访客用户组,该组内的成员默认为域访客用户,域成员计算机会自动将此组加到本地的 Guests 组中。

Group Policy 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

icacls C:Userswin10×64enDesktoptest.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%SYSVOLsysvol域名Polices

可以用组策略管理来查看和编辑每个GPO的设置,如下图可以看到有两个默认的组策略对象。

内网渗透基础知识

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

内网渗透基础知识

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

内网渗透基础知识

1、组策略容器

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

内网渗透基础知识

GUID标识的两个默认组策略对象。选中它就可以在右侧看到信息。

displayName属性为组策略的名称,该组策略名为Default Domain Policy。

gPCFileSysPath属性为组策略模板存放的路径,该组策略模板存放路径如下。

\adsec.comsysvoladsec.comPolicies{31B2F340-016D-11D2-945F-00C04FB984F9}

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

内网渗透基础知识

2、组策略模板

一般是放在这个GUID命名的文件夹中。

内网渗透基础知识

组策略的创建

内网渗透基础知识

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

内网渗透基础知识

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

内网渗透基础知识

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

内网渗透基础知识

配置完后不会立即生效,执行下面的命令生效。

gpupdate /force

内网渗透基础知识

测试成功。

总结

愿大家健康开心。


原文始发于微信公众号(AlertSec):内网渗透基础知识

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月9日01:27:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透基础知识http://cn-sec.com/archives/2211872.html

发表评论

匿名网友 填写信息