内网渗透知识 ——(一)、工作组、域、域控、活动目录

工作组、域、域控、活动目录

工作组

​ 在大型局域网中,可能会有很多台工作电脑。为了方便这些计算机进行管理,从 Windows 9x/NT/2000 开始便引入了工作组这一概念。有了工作组,就可以将人事部的电脑划分到名为人事组的工作组中,将技术部的电脑划分到名为技术部的工作组中。

工作组的设置可以在此处设置(设置完成之后需要重启电脑)

​ 查看工作组中的其他电脑可以在 “网上邻居” 或者 "网络" 中查看

缺点

​ 当一个超级大的局域网中有非常多的电脑时,工作组只能提供对计算机进行分类的功能。并不能对计算机进行管控

​ 所以大型局域网需要的是对计算机的统一管控、身份验证。所以 “域” 被发明出来了

​ 在域中,所有的计算机账户以及计算机本身(用户账号、计算机、打印机等)的信息都在域控的数据库。

​ 而域中的计算机在对域中资源进行访问的时候,必须经过域控的身份验证。也就是说域控决定了域中的域成员能访问xx资源和不能访问xx资源。

​ 域管理员是域中最powerful的计算机,相当于管理员。他拥有最高的访问控制权限和管理权限,并且域管理员可以控制域中的其他计算机,所以内网渗透的终极目标就是拿到被设置为域管理员的PC,并获得域控。

​ 在设置好了域的计算机中,使用 ipconfig /all 命令查看是会回显域名的

单域

​ 顾名思义,单域就是指一个局域网中只设置了一个域

父域 & 子域

​ 就像WEB中的根域名的子域名一样,局域网的域也有父域和子域,并且命名空间连续。子域可以有自己的安全策略,同时也受父域的管理

域树

​ 同样的和WEB中的根域名、二级域名、三级域名一样,局域网中的域也有多层关系(并且命名空间连续)。而命名规则也和WEB中的域名一样。多级子域也可以有自己的安全策略,同时也受父域的管理

域森林

​ 域森林可以看作是多个域集合在一块了,其中各个域之间的命名空间是不连续的(见下图)。

​ 虽然直观上看是存在了多个域,但是为了方便统一管理,微软便设置第一个创建的域中的域控PC为根域,也就是权限最高的、最牛逼的那台PC

域控

​ 域控顾名思义就是域的控制器,是域中最高权限、最牛逼的PC。其主要作用是域中的身份验证、安全策略、存储域中PC的用户账户信息

​ 域控有一个活动目录(Active Directory)(数据库),数据库中存储着整个域的账号密码等各种信息

​ 一个域环境可以有很多台域控,每台域控都有一个活动目录。在其中一台域控上对活动目录的修改都可以同步到剩余的域控中,这样保证了坏了一个还有别的可以用

活动目录(Active Directory)

​ 活动目录就是安装在域控上的数据库,其中存储着域中各种对象的信息,包括用户账户、计算机账号、组策略等。

​ 活动目录的功能主要是:域用户账号的集中管理、域计算机的集中管理、资源访问控制、域内网络管理、域中计算机的应用程序设置管理等

Ntds.dit

​ Ntds.dit 文件是活动目录数据库的数据存储文件,其中包含 域用户 、 用户密码的哈希值、用户策略信息

​ 既然 Ntds.dit 是域环境中的账密文件,那么在其他的计算机环境中,SAM文件存储着PC的当前账密信息,类似于 passwd 文件

​ 想要对 Ntds.dit 和SAM 文件进行破解,都需要system 文件

C:\Windows\NTDS\NTDS.dit
C:\Windows\System32\config\SYSTEM
C:\Windows\System32\config\SAM

目录服务 & LDAP

​ LDAP 全称 Lightweight Directory Access Protocol(轻量目录访问协议),顾名思义LDAP就是用来访问目录数据库的。

  • DC:domain component(域组件)
  • OU: Organizational Unit(组织单元)
  • CN:Common Name(通用名称)

  • 目录树

    在一个目录数据库中,整个目录中的信息可以表示为一个目录树
    
  • 条目

    上图中的每一个圆圈就是一个条目
    
  • DN & RDN(就像绝对路径和相对路径一样)

    DN:Distinguished Name(绝对可辨识名称)。类似于文件系统中的绝对路径,例如上图中 uid=bob 的单元,其DN就是 uid=bob,ou=people,dc=acme,dc=org
    
    RDN:Relative Distinguished Name(相对可辨识路径)。例如上图中 uid=bob 的单元。其 RDN 就是 uid=bob
    

AD Explorer 访问域目录

https://download.sysinternals.com/files/AdExplorer.zip

​ AD Explorer 是一个独立的可执行文件,在域内任何一台机器上打开都能连接域目录数据库。并查看域内信息

活动目录分区

​ 活动目录存储的信息太多了,所以微软将数据按照分区存储

  • 域分区
  • 配置分区
  • 架构分区

域分区

​ 域分区存储与该域有关的对象信息。

​ 如果是在域林中,那么每个域都各自拥有一份属于自己的域分区。并且该域分区的数据只会被同步到本地域环境中的所有域控中

hack-my.com的域分区

配置分区

​ 配置分区存储整个域林的配置信息。与域分区不同,域分区的内容每个域都不一样,并且不同域之间的域分区内容不共享,而配置分区的内容会被整个域林使用,并且会被复制到域林中所有的域控上

配置分区 CN=Configuration

架构分区

​ 存储着整个域林的架构信息(活动目录的所有类、对象、属性的定义数据)。与配置分区相同,整个域林使用和共享同一份架构分区,并且能被复制到域林中的所有域控上

架构分区(CN=Schema、CN=Confident、DC=hack-my、DC=com)

活动目录的查询 -- Adfind

​ 经过实测发现,Adfind 不做任何处理的话很容易被杀毒软件杀掉。

​ 下载地址

https://www.softpedia.com/get/Programming/Other-Programming-Files/AdFind.shtml
  • 查询域控

    AdFind -sc dclist
    
  • 查询域控版本

    AdFind -schema -s base objectversion
    
  • 查询域中在线的计算机

    AdFind -sc computers_active
    AdFind -sc computers_active name operatingSystem (只显示name和操作系统)
    
  • 查询域中所有计算机

    AdFind -f "objectcategory=computer"
    
  • 查询域内用户

    AdFind -users name
    
  • 查询aaa.com域中所有计算机

    Adfind.exe -b dc=aaa,dc=com -f "objectcategory=computer"
    
  • 查询GPO信息

    AdFind -sc gpodmp
    
  • 查询受保护的域账户

    Adfind -f "&(objectcategory=person)(samaccountname=*)(admincount=1)" -dn
    
  • 查询域管账户

    AdFind -default -f "(&(|(&(objectCategory=person)(objectClass=user))(objectCategory=group))(adminCount=1))" -dn
    

热门相关:冉冉心动