定位域管理員


域管理員定位概述

在一個域中,當計算機加入域后,會默認給域管理員賦予本地系統管理員權限。因此,域管理員均可以訪問本地計算機,且具備完全控制權限。

定位域內管理員的兩種渠道:日志和會話。
日志是指本地機器的管理員日志,可以使用腳本或Wevtutil工具導出並查看。
會話是指域內每台機器的登陸會話,可以使用netsess.exe或PowerView等工具查詢(可以匿名查詢,不需要權限)。

psloggedon.exe

通過檢驗注冊表里HKEY_USERS的key值來查詢誰登陸過機器,同樣也調用到了NetSessionEnum API。
PS:該工具的某些功能需要管理員權限

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

參數 描述
- 顯示支持的選項和用於輸出值的度量單位
-l 僅顯示本地登錄,而不顯示本地和網絡資源登錄
-x 不顯示登錄時間
\computername 指定要為其列出登錄信息的計算機的名稱
username 指定用戶名,在網絡中搜索該用戶登陸的計算機
C:\Users\Riy\Desktop\PSTools>PsLoggedon.exe

PsLoggedon v1.35 - See who's logged on
Copyright (C) 2000-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Users logged on locally:
     2020/4/20 0:15:48          WIN-9H5Q3M1HLEH\Riy

No one is logged on via resource shares.

PVEFindADUser.exe

用於查找Active Directory用戶的登錄位置、枚舉域用戶,以及查找在特定計算機上登陸的用戶,包括本地用戶、通過RDP登陸的用戶、用於運行服務和計划任務的用戶。
運行該工具需要配置 .NET Framework 2.0 環境,並且需要具有管理員權限。

下載地址:https://github.com/chrisdee/Tools/tree/master/AD/ADFindUsersLoggedOn

參數 描述
-h 顯示幫助信息
-u 檢測程序是否有新版本
-current ["username"] -current參數顯示每台PC上當前登錄的用戶在域中。如果指定用戶名(在引號之間),則僅將顯示該特定用戶登錄的PC
-noping 阻止嘗試枚舉用戶登錄名之前對目標計算機執行ping命令
-target 此可選參數允許您指定要查詢的主機。如果未指定此-target參數,則將查詢當前域中的所有主機。如果決定指定-target,然后指定以逗號分隔的主機名。查詢結果將被輸出到report.csv文件中
C:\Users\Riy\Desktop>PVEFindADUser.exe -current
 -----------------------------------------
  PVE Find AD Users
  Peter Van Eeckhoutte
  (c) 2009 - http://www.corelan.be:8800
  Version : 1.0.0.12
 -----------------------------------------
 [+] Finding currently logged on users ? true
 [+] Finding last logged on users ? false

 [+] Enumerating all computers...
 [!] Error connecting to AD and enumerating computers
     Error : 指定的域不存在,或無法聯系。

netview.exe

Netview是枚舉工具,使用WinAPI枚舉系統,利用NetSessionEnum找尋登陸會話,利用NetShareEnum找尋共享,利用NetWkstaUserEnum枚舉登陸用戶。同時,netview.exe能夠查詢共享入口和有價值的用戶。netview.exe的絕大多數功能不需要管理員權限。

下載地址:https://github.com/mubix/netview

參數 描述
-h 顯示幫助菜單
-f filename.txt 指定一個文件從中提取主機列表
-e filename.txt 指定要排除的主機名文件
-o filename.txt 將所有輸出重定向到指定文件
-d domain 指定要提取主機列表的域,如果未指定,則使用當前域
-g group 指定用於用戶搜尋的組名,如果未指定,則使用“域管理員”
-c 檢查找到的共享目錄/文件,以進行讀取訪問
-i interval 設置枚舉主機之間等待的秒數
-j jitter 應用於間隔的抖動百分比(0 -1.0)
C:\Users\Riy\Desktop>netview.exe

Netviewer Help
--------------------------------------------------------------------

-d domain               : Specifies a domain to pull a list of hosts from
                          uses current domain if none specifed

-f filename.txt         : Speficies a file to pull a list of hosts from
-o filename.txt         : Out to file instead of STDOUT

Nmap的NSE腳本

如果存在域賬戶或者本地賬戶,就可以使用Nmap的smb-enum-sessions.nse引擎獲取遠程機器的登陸會話(不需要管理員權限)。
下載地址:https://nmap.org/nsedoc/scripts/smb-enum-sessions.html

腳本 描述
smb-enum-domains 嘗試枚舉系統上的域及其策略
smb-enum-users 枚舉遠程Windows系統上的用戶,並提供盡可能多的信息
smb-enum-shares 便利遠程主機共享目錄
smb-enum-processes 通過SMB從遠程服務器提取進程列表,可以知道目標主機運行哪些軟件。需要管理員權限
smb-enum-sessions 枚舉在本地或通過SMB共享登錄到系統的用戶
smb-os-discovery 嘗試通過SMB協議(端口445或139)確定操作系統,計算機名稱,域,工作組和當前時間。
C:\Users\Riy\Desktop>nmap --script=smb-enum-sessions 192.168.1.1

Starting Nmap 7.70 ( https://nmap.org ) at 2020-04-20 11:12 ?D1ú±ê×?ê±??
Nmap scan report for 192.168.1.110
Host is up (0.0031s latency).
Not shown: 992 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49156/tcp open  unknown
49159/tcp open  unknown
MAC Address: 00:0C:29:58:33:FA (VMware)

Nmap done: 1 IP address (1 host up) scanned in 4.67 seconds

PowerView腳本

powerView.ps1是一款依賴powershell和wmi對內網進行查詢的常用滲透測試腳本,集成在powersploit工具包中,是一個收集域信息很好用的腳本。

下載地址:https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerView

// Import-Module為powershell導入腳本命令,這里假設我們下載的powerview.ps1腳本在C:\PowerView.ps1
命令格式:powershell.exe -exec bypass -Command "& {Import-Module C:\PowerView.ps1; powerview的命令參數}"
// 定位域管理員
powershell.exe -exec bypass -Command "& {Import-Module C:\PowerView.ps1; Invoke-UserHunter}"
// 更多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的基礎介紹和使用可查看:https://www.cnblogs.com/riyir/p/12585928.html

Empire的user_hunter模塊

注意:該項目不再受支持

下載地址:https://github.com/EmpireProject/Empire

// Empire安裝使用
wget https://raw.githubusercontent.com/backlion/demo/master/Empire-master.zip
unzip Empire-master.zip
cd  Empire-master
cd setup/
./install.sh

cd  Empire-master
./empire

筆者在安裝Empire時一直報錯,后期解決再回來補坑......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM