知己知彼,百战不殆-孙子

前言

一直以来在网上域渗透的资料,几乎专注的都是一些命令,以及一些工具的使用,但是缺乏对活动目录以及与域本身的安全的研究思考。

导语

当我们进入了内网,可能我们仅仅想要获取某台机器上的资料,如果能获取那台机器所在域的域控权限固然是最好不过的事情,但有时候并不能得偿所愿。

当我们必须了解了活动目录的运转机制以及安全机制的情况下,才能更好的进行渗透的工作。

基础知识

名词:

域控(Domain Controller),DC

活动目录目录服务(Active Directory Directory Services),ADDS

组织单位(Organizational Unit )

域(Domain)

域树(Tree)

域林(Forest)

1.什么是活动目录?

活动目录是Windows Server在网络环境中提供的“资源目录”。活动目录是储存着域中相关资源信息的目录,例如计算机,用户组,数据库,服务器,打印机,用户属性(权限等),就像一个数据库。

DA67951C-17D7-45D1-907B-504CBE265682.png

图【1】:

2.什么是活动目录目录服务?

“The Active Directory directory service is a distributed database that stores and manages information about network resources, as well as application-specific data from directory-enabled applications. Active Directory allows administrators to organize objects of a network (such as users, computers, and devices) into a hierarchical collection of containers known as the logical structure. The top-level logical container in this hierarchy is the forest. Within a forest are domain containers, and within domains are organizational units.”

首先大家都知道目录,目录提供了文档内容的概览,可以使我们迅速找到一本书,字典中特定的章节。那么将这个概念应用于网络管理员管理服务器中。假设一个公司中有一千台服务器,管理员想要找到特定的服务器的话,一台一台的登陆,显然是极其低效率的方法。所以目录的理念同样适用在解决这种情况。

ADDS提供给域管理一个集中管理的机制和架构。假设一个公司中有一千台服务器,管理员想要找到特定的服务器的话,一台一台的登陆,显然是极其低效率的方法。ADDS可以让域管理员对网络中的所有资源进行访问(登陆,读写等操作)我们可以将其理解为单点登录。

活动目录目录服务提供的功能

(1)提供单点登录访问服务器、服务器上指定的资源与应用程序。
(2)多播复制(Replicatiion)//暂时不关心
(3)基于属性搜索 eg:基于文件名搜索
(4)基于分类搜索 eg:基于分类搜索

3.什么是域?

域是Windows Server 2008的核心单位

我们来梳理一下 活动目录和域的关系:

1.域是逻辑上的服务器以及PC的逻辑分组,在一个域里面的用户都使用公共的安全机制和账户信息。

2.活动目录将域中的资源组织在一起,存放这些资源的各种信息。

4.什么是树(域树)?

“A domain tree is made up of several domains that share a common schema and configuration, forming a contiguous namespace. Domains in a tree are also linked together by trust relationships. Active Directory is a set of one or more trees.”

根据上一条活动目录的作用,很容易理解树,活动目录拥有所有的域中机器账户以及配置。域树由多个域组成,这些域同时由根域DC管理,共享同一表结构和配置,形成一个连续的命名空间。

举个例子,就像如果以it.Johnis.online为例,Johnis.online就是根域,it就是子域。因为是“父-子”关系,Johnis.online

拥有it这个域的所有权限。

5.信任关系

“A trust is a relationship, which you establish between domains, that makes it possible for users in one domain to be authenticated by a domain controller in the other domain.”

信任关系这个字面意思很好理解,我就不多做解释了。

关于域的信任关系,暂时我们只关心信任关系的方向问题。

信任分为双向信任以及单向信任,两种信任关系字面上也很好理解。

我们要重点关心的是活动目录中域树的默认信任关系,默认任何新加入域树中的域它的信任关系都是双向并且可传递的。

##情景模拟

举个例子:

当我们的根域(Johnis.online)中有

  • 子域 it
  • 子域 workgroup

由域林中默认的信任关系可知,it域与根域Johnis.online相互信任,workgroup域与根域Johnis.online相互信任。

8F8F7558-B362-405C-AA8A-7DEBD2D16020.png

所以通过信任关系的可传递性,it域默认信任workgroup域。

那么我们考虑这么一种情况,IT域本身的各种对外服务(例如:web)默认它为非常安全,我们并没有办法拿下它的权限。

it域的管理员为了方便,在他管理的it域中,将其中一台(10.11.47.70)开启web服务的wwwroot文件目录权限设置为了

everyone,在其it域的用户都可以看见这个文件目录。这个做法讲道理是没有问题的,因为我们假设it域本身很安全,它对dmz内的机器以及账户共享这些资料。

8B490D0D-85B4-40F2-A7DE-9E9E8C9D2BDD.png

假设我们拿下了workgroup域中的一台服务器(192.168.2.3)的一个普通用户的账号commonuser,而且并没有拿到workgroup域控(DC)。

其实我们是可以通过这个普通权限的workgroup的域普通账号commonuser去访问it域中10.11.47.70这台的wwwroot的文件(默认只有读取权限),从而可以做代码审计之类的工作去突破it域的防护。

81D0833C-3CBB-4793-B71B-B868E2D1D99E.png

“by the way:为什么我觉得管理员会用everyone呢?因为你们可以观察前一副图,微软把everyone默认设为第一个选项,直接选的确很方便”

Reference:
《Windwos Server 2008安全技术详解》
微软技术参考网站:https://support.microsoft.com

Comments

⬆︎TOP