文章目錄
- 一、憑據注入
- 1.1 RUNAS
- 1.2 SYSVOL
- 1.3 IP和主機名
- 二、通過Microsoft Management Console枚舉AD
- 三、通過命令行net命令枚舉
- 四、通過powershell枚舉
一、憑據注入
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