域信任关系指南

https://blog.csdn.net/include_heqile/article/details/102651677

前言

1、为什么会有域信任?
因为在一个域内,管理员可以实现资源的统一分配和管理,企业会有多个域,例如他把信息部划分为一个域,财务部划分为一个域,办公室划分为一个域,这样建立域信任后可以容易的进行跨域资源分配。

2、域信任的性质
1)信任是有方向的,A域信任B域,代表A域的管理员可以将A域的资源分配给B域的用户,因为A对比是信任的,比如办公室信任信息部,那么办公室的管理员就能将办公室访问的资源(假设为OA,HRM等系统)给信息部的用户访问。
建立了单向域信任后,即使A不分配资源给B,B内的域用户也有权限能够查阅A的域内相关信息。

2)信任具有传递性,A<——>B B<——>C 那么A<——>C,这是为了方便如果有特别特别多域的时候,减免配置麻烦所提供的一个新特性。

3、域信任的分类
1)父子域信任——自动建立的双向信任,父域管理员默认对子域有管理权限。例如父域控管理员可以直接操作子域控。
2)树状-根目录信任——创建域树自动生成,例如A.com域和B.com域直接成为一个森林就会自动创建此信任
3)外部信任——手动指定,没有什么好说的,就是特意的指定一个域强制进行信任。
4)快捷信任——手动创建,例如在域森林中,A的子域A.1和B的子域B.1之间就可以创建快捷信任,因为A.1到B.1需要先找到父域,然后再信任,这样速度很慢,因此可以建立快捷信任来加快速度。
5)领域信任——手动创建,例如和Linux(MIT),很少见
image.png

搭建域信任环境
这里手动指一个域信任关系,点击ice.com的属性
image.png
此时如果没有指定对方的DNS,那么会提示找不到这个域名,我们设置备份DNS为对方域控
image.png
提示出现问题后,我尝试多种调试,赔了一个转发器,不知道有没有生效
image.png
nltest /dsgetdc:domain.com 来验证能否成功解析到,解析成功才能建立关系
image.png
image.png
image.png

这里有玄学,一直提示找不到域名解析成功,后来又莫名其妙好了,有提示要清除DNS缓存,但是尝试过也没有成功,后来莫名其妙配置了个东西,也不知道生没生效就又好了。奇奇怪怪

实验:

查看域信任关系的命令

1、nltest

  1. nltest /domain_trusts
  2. nltest /domain_trusts /primary 仅返回此计算机账号属于的域
  3. nltest /domain_trusts /forest 仅返回主域同一森林下的域
  4. nltest /domain_trusts /direct_out 返回被主域明确信任的域
  5. nltest /domain_trusts /direct_in 返回明确信任主域的域
  6. nltest /domain_trusts /all_trusts 返回所有已信任的域
  7. nltest /domain_trusts /v 详细输出
  8. nltest /domain_trusts /all_trusts /v /server:192.168.117.3 返回某个IP信任的域
  9. nltest /dsgetdc:iceqaq.com 获取域控的信息

说明ice.com和iceqaq.com开启的是双向信任
image.png
nltest /dsgetdc:iceqaq.com
image.png

2、通过Powerview获取域间信任的脚本
powershell.exe -ExecutionPolicy Bypass -command “import-module .\powerview.ps1;Get-NetDomainTrust”
image.png(这个图片)

3、域控命令查看域信任关系(域用户无此命令)
netdom query trust
image.png

PS:只要我们的域和目标域创建了域间信任,且当前用户是域用户,那么就可以收集到目标域的详细信息(用户信息,计算机详细信息,组织单元等等等)

**

跨域信息收集

收集跨域用户信息
powershell.exe -ExecutionPolicy Bypass -command “import-module .\powerview.ps1;Get-netuser -domain ice.com”
image.png

Adfind.exe

AdFind.zip

  1. 列出域控制器名称: AdFind -sc dclist
  2. 查询当前域中在线的计算机: AdFind -sc computers_active
  3. 查询当前域中在线的计算机(只显示名称和操作系统): AdFind -sc computers_active name operatingSystem
  4. 查询当前域中所有计算机: AdFind -f "objectcategory=computer"
  5. 查询当前域中所有计算机(只显示名称和操作系统): AdFind -f "objectcategory=computer" name operatingSystem
  6. 查询域内所有用户: AdFind -users name
  7. 查询所有GPO AdFind -sc gpodmp

Adexplorer

它是微软开发的一款工具,需要一个普通域用户的账号密码
下载地址:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/adexplorer
image.png

dnscmd

或获得域管理员权限后使用dnscmd来快速了解内网网络架构
命令:https://netsecurity.51cto.com/art/201903/594203.htm
dnscmd /enumzones
image.png
image.png

域之间的横向移动思路和普通的域渗透思路是一样的
1、通用密码,弱口令
2、常规渗透Web/等、系统漏洞ms17010等
3、域间信任获取权限

域间信任获取权限
1、域信任秘钥跨域
2、krbtgt散列跨域