BloodHound分析域結構
導出域結構
SharpHound.exe -c all #可指定all到處所有信息
SharpHound.exe -c session # 枚舉會話
SharpHound.exe -c all --OutputDirectory C:\ #導入出到指定目錄
SharpHound.exe -d test.org # 導出指定域
.\SharpHound.ps1 Invoke-BloodHound -CollectionMethod All -JSONFolder "c:\"
可以用 -c 參數指定要收集的數據類型,如 -c Session,RDP,ACL
導出後生成時間戳命名的壓縮包文件
界面
選擇Filter處過濾類型
搜索功能
搜索 可以將搜索範圍指定爲特定節點類型,如
- Group
- Domain
- Computer
- User
- OU
- GPO
比如試試it機器
pathfinding路徑搜索
設置目前所在節點和目標節點,BloodHound會自動規劃好一條到達目標的最短路線
節點
- 綠色用戶頭像:用戶
- 三個黃色頭像:用戶組
- 紅色小電腦:計算機
- 綠色小地球:域
鼠標右鍵任一節點時,會彈出以下內容
藍色位置圖標意味着這是開始節點 ;
白色骷髏頭說明是已擁有節點;
紅色靶子圖標是目標節點;
鑽石圖標則是高價值目標;
並且可以右擊連接的線條來進行幫助查看
內置查詢語句
-
Find all Domain Admins
找出所有域管理員 -
Find Shortest Paths to Domain Admins
找出域管理員的最短路徑 -
Find Principals with DCSync Rights
查找具有DCSync權限的主體 -
Users with Foreign Domain Group Membership
具有外部域組成員資格的用戶 -
Groups with Foreign Domain Group Membership
具有外部域組成員資格的組 -
Map Domain Trusts
映射域信任關係 -
Shortest Paths to Unconstrained Delegation Systems
到無約束委託系統的最短路徑 -
Shortest Paths from Kerberoastable Users
到支持kerberos的用戶的最短路徑 -
Shortest Paths to Domain Admins from Kerberoastable Users
從支持kerberos的用戶到域管理員的最短路徑 -
Shortest Path from Owned Principals
從所屬主體獲取的最短路徑 -
Shortest Paths to Domain Admins from Owned Principals
從已擁有的主體到域管理員的最短路徑 -
Shortest Paths to High Value Targets
通往高價值目標的最短路徑 -
Find Computers where Domain Users are Local Admin
找出域用戶是本地管理員的計算機 -
Shortest Paths from Domain Users to High Value Targets
從域用戶到高值目標的最短路徑 -
Find All Paths from Domain Users to High Value Targets
找出所有從域用戶到高價值目標的路徑 -
Find Workstations where Domain Users can RDP
找出域用戶使用RDP登錄的工作站 -
Find Servers where Domain Users can RDP
找出域用戶使用RDP登錄的服務器 -
Find Dangerous Rights for Domain Users Groups
找出域用戶組的高危權限 -
Find Kerberoastable Members of High Value Groups
找出屬於高價值組的可支持kerberos的成員 -
List all Kerberoastable Accounts
列出所有可支持kerberos的帳戶 -
Find Kerberoastable Users with most privileges
查找具有最多特權的且可支持kerberos的用戶 -
Find Domain Admin Logons to non-Domain Controllers
找出非域控制器的域管理登錄 -
Find Computers with Unsupported Operating Systems
查找不支持操作系統的計算機 -
Find AS-REP Roastable Users (DontReqPreAuth)
找出支持AS-REP的用戶
CL Edges
- AllExtendedRights
擴展權限是授予對象的特殊權限,這些對象允許讀取特權屬性以及執行特殊操作;如果對象是用戶,則可以重置用戶密碼;如果是組,則可以修改組成員;如果是計算機,則可以對該計算機執行基於資源的約束委派 - AddMember
可以向目標安全組添加任意成員 - ForceChangePassword
可以任意重置目標用戶密碼 - GenericAll
可以完全控制目標對象 - GenericWrite
寫入權限,修改目標的屬性或者將主體添加入組等 - Owns
保留修改 security descriptors 的能力,會忽略DACL權限的限制 - WriteDacl
可寫入目標DACL,修改DACL訪問權 - WriteOwner
保留修改 security descriptors 的能力,會忽略DACL權限的限制 - ReadLAPSPassword
讀取LAPS上的本地管理員憑證 - ReadGMSAPassword
讀取GMSA上的本地管理員憑證
特殊 Edges
- CanRDP
用遠程桌面進行會話 - CanPSRemote
用PowerShell進行會話 - ExecuteDCOM
實例化目標的COM對象並調用其方法,可以在特定條件下執行代碼 - AllowedToDelegate
有這個特權的節點可以將任何域主體(包括Domain Admins)模擬到目標主機上的特定服務 - AddAllowedToAct
可以控制任意的安全主體僞裝爲特定計算機的任何域用戶 - AllowedToAct
可以使用此用戶濫用S4U2self / S4U2proxy進程,將任何域用戶模擬到目標計算機系統,並以“該用戶”身份接收有效的服務票證 - SQLAdmin
該用戶是目標計算機的MSSQL管理員 - HasSIDHistory
用戶的SID歷史記錄,用戶在域遷移後,票據還包含着前域所在組的SID,雖然用戶不屬於前域,但仍擁有前域的權限
看到上圖,表面該組策略能具有DCSyn權限
再看到上圖中該組策略下用戶具有WriteDacl權限可以修改ACL來對這個域dcsync攻擊了
#添加ACE的命令如下:
Add-DomainObjectAcl -TargetIdentity "DC=test,DC=com" -PrincipalIdentity test1 -Rights DCSync -Verbose
lsadump::dcsync /domain:test.com /all /csv
#刪除ACE的命令:
Remove-DomainObjectAcl -TargetIdentity "DC=test,DC=com" -PrincipalIdentity test1 -Rights DCSync -Verbose
找到有一個GenricWrite。代表該用戶對這個機器有寫入的權限。也就是可以造成資源委派
- Sessions
該用戶登錄的計算機數量 - Reachable High Value Targets
用戶可到達高價值目標數量,默認的高價值目標是域管理員,域控制器和其他幾個高特權Active Directory組的任何計算機或用戶
節點屬性
- Object ID
用戶的SID - Password Last Changed
密碼上次更改的日期 - Last Logon
用戶最後一次登錄的時間 - Enabled
是否在活動目錄中啓用該用戶 - Compromised
是否標記爲擁有
組成員
- First Degree Group Memberships
此用戶所屬的組 - Unrolled Group Memberships
用戶顯式所屬的組已添加到這些組 - Foreign Group Memberships
用戶所屬的其他AD域中的組
本地管理員權限
- First Degree Local Admin
用戶被添加到本地管理員組中的計算機數,被添加到N臺計算機的本地管理員組中,則數量爲N - Group Delegated Local Admin Rights
用戶通過安全組委派從而擁有本地管理員權限的計算機數 - Derivative Local Admin Rights
用戶具有派生本地管理員權限的計算機數量