tryhackme——Enumerating Active Directory

发布于:2025-05-10 ⋅ 阅读:(16) ⋅ 点赞:(0)

一、凭据注入

1.1 RUNAS

当获得AD凭证<用户名>:<密码>但无法登录域内机器时,runas.exe可帮助将这些凭证注入内存,用于网络认证。相关命令如下:

runas.exe /netonly /user:<domain>\<username> cmd.exe
# /netonly:仅用于网络认证,本地操作仍使用当前用户权限,避免直接联系域控制器验证凭证。
# /user:指定域名和用户名,如:DOMAIN\Bob。
#cmd.exe:注入凭证后启动的程序。

就是说:本地操作还是用PC\Alice,但访问网络时,自动伪装成DOMAIN\Bob好处在于不管你的电脑有没有加入域,通过runas都可以用域内成员(可以不用知道密码)的身份访问域内资源

/netonly仅影响网络身份认证,不影响本地权限。

  • 本地操作:仍然使用当前 Windows 用户的权限(如果初始 CMD 是管理员,则本地操作也是管理员权限)。
  • 网络操作:使用runas提供的域凭证进行认证(如访问共享、执行dir \\DC01\C$ 等)
  • 当你在自己的 Windows 机器上使用runas /netonly时,新启动的CMD会继承当前 CMD 的安全令牌(Token)。
  • 如果初始 CMD 是普通用户权限,那么runas 生成的 CMD 也只能执行普通用户权限的操作(即使注入了域凭证)。
  • 如果初始 CMD 是管理员权限,那么 runas 生成的 CMD 也会保留管理员令牌,允许执行需要本地管理员权限的命令(如 net user、regedit 等)。

总的来说:

  • runas /netonly + 管理员 CMD → 本地管理员 + 域用户网络权限(最佳组合)。
  • runas /netonly + 普通 CMD → 仅域用户网络权限(无法执行本地管理员操作)。

1.2 SYSVOL

任何AD帐户,无论权限多低,都可以读取SYSVOL目录的内容SYSVOL是一个存在于所有域控制器上的文件夹,它是一个共享文件夹,存储组策略对象 (GPO) 和信息以及任何其他与域相关的脚本。它是Active Directory的重要组成部分,因为它将这些 GPO 传递给域中的所有计算机。加入域的计算机可以读取这些 GPO 并应用适用的 GPO,从而从中心位置进行域范围的配置更改。

在域控上配置DNS:

$dnsip = "<DC IP>"
$index = Get-NetAdapter -Name 'Ethernet' | Select-Object -ExpandProperty 'ifIndex'
Set-DnsClientServerAddress -InterfaceIndex $index -ServerAddresses $dnsip

使用以下命令通过网络列出SYSVOL目录:

dir \\za.tryhackme.com\SYSVOL\

在这里插入图片描述

1.3 IP和主机名

dir \\za.tryhackme.com\SYSVOL
# 与
dir \\10.200.18.101\SYSVOL
  • 如果提供主机名,网络身份验证将首先尝试执行Kerberos身份验证。
  • 如果我们提供 IP,则可以强制将身份验证类型设置为NTLM

二、通过Microsoft Management Console枚举AD

安装Microsoft Management Console步骤:
在这里插入图片描述
使用下面命令确保所有MMC网络连接都将使用我们注入的AD凭据:

runas.exe /netonly /user:za.tryhackme.com\jenny.field cmd.exe

也就是说我们的计算机未加入域,但是使用runas.exe进行凭证注入

三、通过命令行net命令枚举

枚举用户

# 枚举出域中所有用户
net user /domain

在这里插入图片描述

# 查看域用户详细信息
net user zoe.marshall /domain

在这里插入图片描述

枚举组

# 枚举出域中所有组
net group /domain

在这里插入图片描述

# 查看域中组详细信息
net group "Tier 1 Admins" /domain

在这里插入图片描述
密码策略

net accounts /domain

在这里插入图片描述
更多相关命令:net 命令

四、通过powershell枚举

枚举用户
从指定的域控制器获取用户gordon.stevens的详细信息:

Get-ADUser -Identity gordon.stevens -Server za.tryhackme.com -Properties *
# -Identity:正在枚举的帐户名称
# -Properties:将显示与帐户关联的属性,* 将显示所有属性
# -Server:使用此参数将其指向域控制器

在这里插入图片描述
从AD中查询用户名包含 “stevens” 的所有账户,并以表格形式显示结果:

Get-ADUser -Filter 'Name -like "*stevens"' -Server za.tryhackme.com | Format-Table Name,SamAccountName -A
# -Server:使用此参数将其指向域控制器
# -filter:筛选条件为用户名包含 "stevens"(* 是通配符)。

在这里插入图片描述

查看组信息

Get-ADGroup -Identity Administrators -Server za.tryhackme.com

在这里插入图片描述
查看指定组成员

Get-ADGroupMember -Identity Administrators -Server za.tryhackme.com

在这里插入图片描述
查看域详细信息

Get-ADDomain -Server za.tryhackme.com

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到