内网安全之:域与域权限判断

1 域控基础

1.1 活动目录

活动目录(Active Directory,AD)是指域环境中提供目录服务的组件。

  • 目录用于存储有关网络对象(例如用户、组、计算机、共享资源、打印机和联系人等)的信息,目录服务是指帮助用户快速、准确地从目录中找到其所需要的的信息的服务。
  • 如果把企业的内网看成一本字典,那么内网里的资源就是字典里的内容,活动目录就相当于字典的索引。

活动目录的主要功能

1、帐号集中管理:所有帐号均存储在服务器中,以便执行命令和重置密码等。

2、软件集中管理:统一推送软件、安装网络打印机等。利用软件发布策略分发软件,可以让用户自由选择需要安装的软件。

3、环境集中管理:统一客户端桌面、IE、TCP/IP协议等设置。

4、增强安全性:统一部署杀毒软件和病毒扫描任务、集中管理用户的计算机权限、统一制定用户密码策略等。可以监控网路,对资料进行统一管理。

5、更可靠,更短的宕机时间:例如,利用活动目录控制用户访问权限,利用集群、负载均衡等技术对文件服务器进行容灾设置。网络更可靠,宕机时间更短。

1.2 域中的计算机分类

域控制器:域控制器用于管理所有的网络访问,包括登录服务器、访问共享目录和资源。

成员服务器:成员服务器是指安装了服务器操作系统并加入了域、但是没装活动目录(AD)的计算机,其主要任务是提供网络资源。

客户机:域中的计算机可以是安装了其他操作系统的计算机。用户利用这些计算机和域中的账户就可以登录域。

独立服务器:独立服务器和域没有关系。独立服务器可以创建工作组、与网络中的其他计算机共享资源,但不能使用活动目录提供的任何服务。

1.3 域内权限解读

  • 域本地组:多域用户访问单域资源,可以从任何域添加用户账号、通用组和全局组,但只能在其所在域内指派权限;

  • 全局组:单域用户访问多域资源(必须是同一哥域中的用户),只能在创建该全局组的域中添加用户和全局组。

  • 通用组:通用组成员来自域森林中任何域的用户账号、全局组合其他通用组,可以在该域森林的任何域中指派权限,可以嵌套在其他组中,非常适合在域森林内的跨域访问中使用。

  • A-G-DL-P策略:

    A-G-DL-P策略是指将用户账号添加到全局组中,将全局组添加到域本地组中,然后为域本地组分配资源权限。

    • A表示用户账号(Account);
    • G表示全局组(Global Group);
    • U表示通用组(Universal Group);
    • DL表示域本地组(Domain Local Group);
    • P表示资源权限(Permission,许可);
      在此策略形成后,当需要给一个用户添加某个权限时。只需要把这个用户添加到某个本地域组中就可以了
  • 几个比较重要的域本地组权限:

    • 管理员组( Administrator);
    • 远程登录组 (Remote Desktop Users);
    • 域管理员组( Domain Admins);
    • 域用户组( Domain Usrs);

2 收集当前域信息

2.1 获取当前用户与域 SID

whoami /all

image-20210927113412587

2.2 查询指定用户的详细信息

# 查询本地用户详细信息
net user 2008r2

# 查询域用户详细信息
net user test01 /domain

# 获取本地及域内用户的详细信息
wmic useraccount get /all

# 查看当前域的所有用户
net user /domain

# 获取域用户组信息
net group /domain

# 查看本地管理员组用户
net localgroup administrators /domain

# 获取域内所有计算机信息
net view /domain:test

# 查看域管理员用户组
net group "domain admins" /domain
系统自带的常见用户身份如下:
 *Domain Admins :域管理员
 *Domain Computers : 域内机器
 *Domain Controllers:域控制器
 *Domain Guests:域访客,权限较低
 *Domain Users:域用户
 *Enterprise Admins:企业系统管理员用户
 默认情况下Domain Admins和Enterprise Admins对域内所有域控制器有完全控制权限

# 获取域信任列表
nltest /domain_trusts

image-20210927113806844

image-20210928103542565

image-20210928103650249

2.3 判断是否存在域

  • ipconfig /all

    image-20210927114120100

  • systeminfo

    image-20210927114702602

  • net config workstation

    image-20210927114804428

  • net view /domain

    • 正确输出,说明此台机器在域中;

      image-20210928103310715

    • 若是此命令在显示域处显示 WORKGROUP,则不存在域;

    • 若是报错:发生系统错误 5,则存在域,但该用户不是域用户

2.4 查找域控制器

net time /domain

会有以下三种情况:

  • 存在域,当前用户不是域用户

    image-20220108093510937

  • 存在域,且当前用户是域用户

    image-20220108093455218

  • 当前网络环境为工作组,不存在域

image-20220108093440040

2.4.1 判断域控制器和DNS 服务器是否在同一服务器上

nslookup test.lab

image-20210927114510601

2.4.2 查看域控制器的机器名

nltest /dclist:test

image-20210928131136884

2.4.3 查看域控制的主机名

nslookup -type=SRV _ldap._tcp

image-20210928131538976

2.4.4 查看域控制器组

net group "domain controllers" /domain

实际网络中,一个域内一般存在两台或两台以上的域控制器,作为主备。

netdom query pdc

image-20210928131949748

2.5 添加域用户

# 域管理权限下
# 添加普通域用户
net user test test /add /domain
# 将普通域用户提升为域管理员
net group "Domain Admins" test /add /domain

3 定位域管理员

Sysinternals Utilities - Windows Sysinternals | Microsoft Docs

常用域管理员定位工具有 PsLoggedon.exe, PVEFindADUser.exe, netsess.exe, 以及 hunter,NetView 等。
在 powershell 中常用的工具是 powerView

3.1 PsLoggedon.exe

C:\Softwares\SysinternalsSuite>PsLoggedon.exe /?

PsLoggedon v1.35 - See who's logged on
Copyright (C) 2000-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Usage: PsLoggedon.exe [-l] [-x] [\\computername]
    or PsLoggedon.exe [username]
-l     Show only local logons
-x     Don't show logon times
-nobanner Do not display the startup banner and copyright message.

image-20211012110947370

4 利用 PowerShell 收集域信息

Release PowerSploit v3.0.0 · PowerShellMafia/PowerSploit · GitHub

PS C:\WINDOWS\system32> Set-ExecutionPolicy unrestricted

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如
https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies
帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”): y

PS C:\WINDOWS\system32> cd C:\Users\f_carey\Desktop\PowerSploit-3.0.0\Recon\
PS C:\Users\f_carey\Desktop\PowerSploit-3.0.0\Recon> Import-Module .\PowerView.ps1

PowerView 常用命令:

Get-NetDomain            获取当前用户所在的域名称
Get-NetUser              返回所有用户详细信息
Get-NetDomainController  获取所有域控制器
Get-NetComputer          获取所有域内机器详细信息
Get-NetOU                获取域中OU信息
Get-NetGroup             获取所有域内组和组成员信息
Get-NetFileServer        根据SPN获取当前域使用的文件服务器
Get-NetShare             获取当前域内所有网络共享
Get-NetSession           获取在指定服务器存在的Session信息
Get-NetRDPSession        获取在指定服务器存在的远程连接信息
Get-NetProcess           获取远程主机的进程信息
Get-UserEvent            获取指定用户日志信息
Get-ADObject             获取活动目录的对象信息
Get-NetGPO               获取域所有组策略对象
Get-DomainPolicy         获取域默认或域控制器策略
Invoke-UserHunter        搜索网络中域管理员正在使用的主机
Invoke-ProcessHunter     查找域内所有机器进程用于找到某特定用户
Invoke-UserEventHunter   根据用户日志获取某域用户登陆过哪些域机器

image-20211012115840240

posted @ 2022-10-26 00:06  f_carey  阅读(423)  评论(0编辑  收藏  举报