域管與域控定位思路合集
如何應對面試官最喜歡問的域管與域控定位問題?今天給大家做個總結,無論是實戰還是面試都能給各位有所幫助。
我們在內網滲透中,拿下一臺跳板機后要對域內展開工作,不管它在不在域內,對域管與域控的精確定位重要性不言而喻,今天介紹通過命令行定位,借助工具定位,借助ldap協議定位,端口定位以及不再域內定位的各種思路。
對域管的定位
01 cmd命令定位
net group "Domain Admins" /domain //查詢域管理員

02 利用powerview過濾出域管
powerview集成在powersploit工具包中,是一個收集域信息很好用的腳本。
注意:通常情況下需要過濾,因為真實的域環境中會有大量結果。
// 更多PowerView命令參數 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: 根據用戶日志查詢某域用戶登錄過哪些域機器。
定位域管:
powershell.exe -exec bypass -Command "& {Import-Module C:\Users\win7\Desktop\tool\PowerView.ps1; Invoke-UserEvenHunter}"

還可以導入后過濾出域管:
Get-DomainUser|?{$_.memberof -like "*Domain Admins*"}

03 PSloggedon.exe
下載地址:
https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon

該工具通過檢驗注冊表里HKEY_USERS的key值來查詢誰登陸過機器,并且調用了NetSessionEnum API。
PS:該工具有些功能需要管理員權限。
PsLoggedon.exe Administrator (指定用戶)

如圖,枚舉出了Administrator用戶在那些機器登陸過
PsLoggedon.exe \\AD-server (指定機器名)

如圖,枚舉出了正在AD-server這臺機器上登錄的用戶。
04 PVefindaduser.exe
它是用于查找Active Directory用戶的登錄位置、枚舉域用戶,以及查找在 特定計算機上登陸的用戶,包括本地用戶、通過RDP登陸的用戶、用于運行服務和計劃任務的用戶。
下載地址:
https://github.com/chrisdee/Tools/tree/master/AD/ADFindUsersLoggedOn

直接運行pvefinaduser.exe -current命令,即可顯示域中所有計算機上當前登陸的所有用戶

05 BloodHound
這個著名的域信息收集工具,不止用來查域管域控,他對整個域的拓撲都能以圖形化的方式呈現。(使用方式自行百度)
如下圖,通過該命令找到contoso.com域的兩個域管

06 Nmap的NSE腳本
如果你有域賬戶或者本地賬戶,你可以使用Nmap的smb-enum-sessions.nse 引擎來獲取遠程機器的登錄session,并且不需要管理員權限
smb-enum-domains.nse對域控制器進行信息收集掃描,可以獲取主機信息,用戶,密碼策略可以用的用戶等 smb-enum-users.nse在進行域滲透的時候,有了域內某臺主機的權限,但是權限有限,不能獲取更多的域用戶信息的時候,可以借助這個腳本對域控制器進行掃描 smb-enum-shares.nse遍歷遠程主機的共享目錄 smb-enum-processes.nse通過smb對主機的系統進程進行遍歷,通過這些信息,可以知道目標主機上運行軟件信息,選擇合適的漏洞或者規避防火墻以及殺毒軟件。 smb-enum-sessions.nse通過smb獲取域內主機的用戶登錄session,查看當前是否有用戶登錄,對于我們抓取用戶hash以及避免同時登陸被用戶發現。 smb-os-discovery.nse通過smb協議來收集目標主機的操作系統,計算機名,域名,全稱域名,域林名稱,NetBIOS機器名,NetBIOS域名,工作組,系統時間。
對域控的定位
01 cmd命令定位
net group "Domain controllers" /Domain //查看域控制器

net time /domain
查詢域時間設置(多半域控作為時間服務器)

該條命令是顯示域控制器時間
nltest
使用一些系統工具,如 nltest 來獲取域控制器,但你需要有一個用戶。
nltest /dclist:tubai.local
PS C:\Users\Anakin> nltest /dclist:tubai.local Get list of DCs in domain 'tubai.local' from '\\dc01.tubai.local'. dc01.ADserver.local [PDC] [DS] Site: Default-First-Site-Name dc02.ADserver.local [DS] Site: Default-First-Site-Name The command completed successfully
02 dns解析記錄查詢定位域控
原理:域控服務器會向DNS服務器注冊DNS記錄,以便當客戶端需要加入域或者和域有其他交互的時候,可以找到它。
大多情況下,內部DNS服務器和AD域控服務器默認部署在同一臺服務器。如果是這種情況,找到DNS服務器就能找到了域控服務器。
若當前主機的dns為域內dns,可通過查詢dns解析記錄定位域控。
nslookup是一個命令行工具,它顯示的信息可以用來診斷域名系統(DNS)的基礎結構。
我們鍵入nslookup,然后Enter
鍵入set type=all,然后按Enter
鍵入_ldap._tcp.dc._msdcs.Domain_Name,其中Domain_Name為域名
nslookup -type=all ldap.tcp.dc._msdcs.tubai.com

03 通過端口探測方式定位域控
域控制器兼顧整個域的認證服務,所以會開啟很多認證端口。
如果你對一臺機器進行了端口掃描,有一下端口開放情況的一定是個域控制器,這也是一種不在域內來定位域控的好方式。
$ nmap 192.168.100.2 -Pn -sV -p- Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower. Starting Nmap 7.91 ( https://nmap.org ) at 2021-05-04 11:17 CEST Nmap scan report for 192.168.100.2 Host is up (0.00068s latency). Not shown: 65509 filtered ports PORT STATE SERVICE VERSION 42/tcp open tcpwrapped 53/tcp open domain Simple DNS Plus 88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2021-05-04 09:19:44Z) 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows netbios-ssn 389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: contoso.local0., Site: Default-First-Site-Name) 445/tcp open microsoft-ds? 464/tcp open kpasswd5? 593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0 636/tcp open tcpwrapped
掃描出的53端口,為DNS服務端口,主要用于域名解析,通過DNS服務器可以實現域名與ip地址之間轉換,一般在域控上,但也不一定,要看域控和DNS是不是在同服務器,不過一般都是。
389默認是LDAP協議端口,636端口與88端口他們都是域控機器開放的端口。
04 SPN掃描定位
由于SPN本身就是正常的kerberos請求,所以掃描隱蔽,它不同于TCP與UDP常規端口掃描。大部分windows已經自帶setspn.exe,且此操作無需管理權限。
在域內機器執行:
setspn -T tubai.com -Q /
在掃描出的結果中就可以根據
CN=AD-SERVER,OU=Domain Controllers,DC=tubai,DC=com
來進行域控的定位。此時已經查詢出域控機器。

05 nbtscan.exe
此外,還可以利用nbtscan來定位域控,他與端口探測都是機器不在域內定位的好方式,它使用netbios協議掃描本地或遠程 TCP/IP 網絡上的開放 NetBIOS 名稱服務器
C:\Users\daniel10>nbtscan.exe 192.168.7.0/24 192.168.7.1 \DP 192.168.7.7 tubai\DC SHARING DC 192.168.7.107 tubai\keke SHARING *timeout (normal end of scan)
總結:
域控域控定位方式有很多,這也是內網橫向信息收集的重要一環,本篇文章為大家總結了多種定位方式,無論是實戰中應用,還是面試都能給各位帶來幫助。巨多的面試官都喜歡問定位域管域控問題,收藏此文可以bypass面試官。