文章目录
一、凭据注入
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