BloodHound是一種單頁的JavaScript的Web應用程序,構建在Linkurious上,用Electron編譯,NEO4J數據庫是PowerShell/C# ingestor.node
BloodHound使用可視化圖來顯示Active Directory環境中隱藏的和相關聯的主機內容。攻擊者可使用BloodHound輕鬆識別高度複雜的攻擊路徑,不然很難快速識別。防護者可使用BloodHound來識別和防護那些相同的攻擊路徑。藍隊和紅隊均可以使用BloodHound輕鬆深刻了解Active Directory環境中的權限關係。python
BloodHound是由@ _wald0,@CptJesus,@ harmj0y共同開發。linux
BloodHound入門很是簡單。完成後,請轉到數據收集部分以開始收集數據,或使用BloodHound查看包含的數據庫。git
此視頻演示了NEO4J設置的過程:https://youtu.be/o22emeubrnkgithub
Neo4j須要Java環境,所以請確保您運行的是最新版本的Java。 shell
轉到neo4j.com/download並點擊"下載服務器(Download Server)」 數據庫
下載當前版本的neo4j Server for Windows,選擇32位或64位。 npm
解壓縮在步驟4中下載的zip文件夾的內容。 json
打開以管理員身份運行的cmd.exe,而後轉到您在步驟4中解壓縮到的文件夾。 ubuntu
CD到bin目錄下,並經過運行安裝neo4j做爲服務: neo4j.bat install-service
下載/克隆BloodHound GitHub repo,而後將BloodHoundExampleDB.graphdb複製到data\databasesneo4j目錄下的文件夾中。
在cmd.exe中,返回一個目錄,而後cd 到conf目錄下。打開neo4j.conf,取消對行dbms.active_database=graph.db的註釋。更改此行,使其顯示爲dbms.active_database=bloodhoundsexampledb.graphdb。另外,取消對行dbms.allow_upgrade=true的註釋,使其顯示爲dbms.allow_upgrade=true,而後保存此文件。
進入到cmd.exe並經過輸入:neo4j net start neo4j
經過在瀏覽器中打開http://localhost:7474/來驗證NEO4J是否正在運行。NEO4J Web控制檯應該正常顯示。
從此處下載到的版本運行BloodHound.exe 或從源代碼編譯BloodHound。
在bolt://localhost:7687上對提供的示例圖形數據庫進行身份驗證。用戶名是「neo4j」,密碼是「BloodHound」。
您如今能夠開始收集數據!
有關在Linux上設置BloodHound的更好說明,請參閱此博客文章:https://stealingthe.network/quick-guide-to-installing-bloodhound-in-kali-rolling/
下載並安裝neo4j社區版。
可選:若是您計劃在不一樣主機上運行neo4j和PowerShell接收程序,請將REST API配置爲接受遠程鏈接。
克隆BloodHound Github repo
git clone https://github.com/adaptivethreat/Bloodhound
啓動neo4j服務器,將NEO4J指向提供的示例圖形數據庫。
從此處找到的相應版本運行BloodHound 或從源代碼編譯BloodHound。
./BloodHound
經過bolt://localhost:7687上提供的示例圖形數據庫的身份驗證。用戶名是「neo4j」,密碼是「BloodHound」
您如今能夠開始收集數據!
apt-get update
apt-get dist-upgrade
apt-get install bloodhound
neo4j console
4.如今在http://localhost:7474上有一個遠程接口。經過瀏覽器打開此URL連接地址,而後更改默認密碼。您還將看到它在localhost上啓用了Bolt,在之後會用到它。
5.使用默認憑據登陸(以下),而後將要求您更改密碼:
繼續完成密碼更改後,並關閉瀏覽器窗口。
6.彈出一個新的終端窗口打開並運行如下命令啓動Bloodhound。
bloodhound
正如您所看到的,Bloodhound如今正在運行並等待一些用戶輸入。在發佈Neo4j以前,它還啓用了Bolt on bolt://127.0.0.1:7687。您須要將其用做數據庫URL。
點擊登陸,你應該看到Bloodhound工具刪除了數據。您如今能夠導入數據並進行分析。
下載並安裝neo4j社區版。
可選:若是您計劃在不一樣主機上運行neo4j和PowerShell接收程序,請將REST API配置爲接受遠程鏈接。
克隆BloodHound Github repo
git clone https://github.com/adaptivethreat/Bloodhound
啓動neo4j服務器,將NEO4J指向提供的示例圖形數據庫。
從此處找到相應的版本運行BloodHound應用程序或從源代碼編譯BloodHound。
您如今能夠開始收集數據!
安裝 electron-packager
npm install -g electron-packager
克隆BloodHound GitHub repo
git clone https://github.com/adaptivethreat/Bloodhound
從根目錄BloodHound中運行'npm install'命令
npm install
使用'npm run winbuild'命令編譯BloodHound
npm run winbuild
安裝 electron-packager
sudo npm install -g electron-packager
克隆BloodHound GitHub repo
git clone https://github.com/adaptivethreat/Bloodhound
從根目錄BloodHound中運行'npm install'命令
npm install
使用'npm run winbuild'命令編譯BloodHound
npm run linuxbuild
安裝 electron-packager
sudo npm install -g electron-packager
克隆BloodHound GitHub repo
git clone https://github.com/adaptivethreat/Bloodhound
從根目錄BloodHound中運行'npm install'命令
sudo npm install
使用'npm run winbuild'命令編譯BloodHound
npm run macbuild
克隆BloodHound GitHub repo
git clone https://github.com/adaptivethreat/Bloodhound
從根目錄BloodHound中運行'npm install'命令'
npm install
使用'npm run dev'命令運行開發版本服務器
npm run dev
使用Ctrl + R完成WebPack編譯後,刷新electron窗口
BloodHound須要來自Active Directory環境的三條信息才能運行:
在大多數狀況下,收集此信息不須要管理員權限,也不須要在遠程系統上執行代碼。基於PowerView的PowerShell攝取器使數據收集變得快速而簡單。ingestor(採集器)位於 BloodHound repo下的ingestor目錄下。
收集器收集許多額外的數據,這些數據提供了更多路徑,以及節點屬性以方便使用。
默認狀況下,PowerShell不容許執行PowerShell腳本;可是,在大多數狀況下,繞過此限制很是簡單。一般,經過運行如下命令,您能夠在不受此限制的狀況下輸入PowerShell執行命令:
PS C:\> PowerShell -Exec Bypass
有關更多選項,請參閱NetSPI上的這篇精彩博文,其中介紹了繞過PowerShell執行策略的15種不一樣方法。
使用BloodHound接口完成數據採集。該接口支持上傳帶有數據的zip文件,以及單個JSON文件 。
BloodHound如今包括一個徹底自定義的C#採集器,從頭開始編寫以支持採集任務。有兩個選項可使用採集器,可執行文件和PowerShell腳本的選項。兩個採集器都支持相同的選項集。運行PowerShell版本的命令是Invoke-BloodHound。與全部PowerShell腳本同樣,它必須在沒有執行策略限制的PowerShell運行環境中運行。有關繞過執行策略運行PowerShell的詳細信息,請參閱NetSPI的此博客文章。
有關詳細信息,包括標誌和新功能,請參閱此處的博客文章。
Invoke-BloodHound
Invoke-BloodHound執行填充後端BloodHound數據庫所需的集合選項。若是未指定任何選項,則默認狀況下,它將收集全部展開的組成員身份信息,全部可訪問的域信任信息,並將收集全部可從當前域訪問的計算機上的會話/本地管理員數據。全部數據都將導出到當前目錄中的JSON文件中。。*-JSONFolder C:\Temp*參數將修改文件輸出到的文件夾,而且
-jsonprefix domainx將指定的標誌添加到每一個輸出文件的開頭。
對於沒有登陸域的用戶會話數據,默認狀況下,全局編錄用於嘗試解除衝突用戶可能所在的域。若是用戶存在於林中的多個域中,則使用一系列權重進行修改攻擊路徑的可能性。若是要跳過此全局編目衝突方法,請指定-skipgcdeconfliction標誌
枚舉選項
SharpHound默認在Zip文件中輸出幾個JSON文件。BloodHound界面支持單個文件以及Zip文件。上傳數據的最簡單方法是將文件拖放到用戶界面上除節點顯示選項卡以外的任何位置。
BloodHound.py是一個基於Python的BloodHound 採集器,基於Impacket。
此版本的BloodHound 僅與BloodHound 2.0或更新版本兼容。
BloodHound.py目前有如下限制:
您能夠經過pip命令:pip install bloodhound來進行安裝
,或者經過克隆此存儲庫並運行python setup.py install或使用 pip install .. BloodHound.py 來安裝。BloodHound.p須要impacket、ldap3和dnspython模塊才能正常運行
安裝將向您的路徑中添加命令行工具bloodhound-python。
要使用bloodhound-採集器,您至少須要登陸域的憑據。您須要使用此域的用戶名(或受信任域中的用戶的username@domain)指定-u選項。若是您的DNS設置正確,而且AD域在您的DNS搜索列表中,那麼bloodhound.py將自動爲您檢測該域。若是沒有,則必須使用-d選項手動指定它
默認狀況下,bloodhound.py將查詢LDAP和域中的各個計算機,以枚舉用戶、計算機、組、信任、會話和本地管理員。若是要限制收集,請指定--collectionmethod參數,該參數支持如下選項(相似於sharphound):
muliple集合方法應以逗號分隔,例如:-c group,localadmin
您能夠覆蓋某些自動檢測選項,例如,若是要使用其餘域控制器,則使用-dc指定主域控制器的主機名,或者使用-gc指定本身的全局編錄。
BloodHound界面設計直觀,操做重點突出。由於BloodHound是以Electron應用程序編譯的,因此它跨平臺的,可在Windows,OSX和Linux上運行。
當您第一次打開BloodHound時,會收到登陸提示:
「Database URL」是NEO4J數據庫運行的IP地址和端口,格式應爲bolt://ip:7687
DB Username是爲NEO4J的數據庫的用戶名。NEO4J數據庫的默認用戶名是NEO4J
DB Password 是NEO4J數據庫的密碼。NEO4J數據庫的默認密碼是NEO4J。提供的示例數據庫的密碼是BloodHound
成功登陸後,BloodHound將在其名稱中繪製名爲「Domain Admins」的任何組,並向您顯示屬於該組的有效用戶:
上圖中,BloodHound界面分爲5個部分:
搜索欄和菜單旨在直觀且以操做爲重點。左上角的三行將切換「數據庫信息」,「節點信息」和「查詢」選項卡的下拉列表。
「數據庫信息」選項卡顯示有關當前加載的數據庫的基本信息,包括用戶、計算機、組和關係(或邊)的數量。您還能夠在這裏執行基本的數據庫管理功能,包括註銷和切換數據庫,以及清除(讀取:從中刪除全部信息)當前加載的數據庫(注意!)
「節點信息」選項卡將顯示有關您在圖表中單擊的節點的信息。
「查詢」選項卡將顯示咱們在BloodHound中包含的預建查詢,以及您能夠本身構建其餘查詢。稍後將提供有關此內容的更多信息。
這是BloodHound繪製節點和邊緣的區域。按住ctrl鍵將循環顯示三個選項以顯示節點標籤:Default Threshold, Always Show, Never Show.。能夠單擊並按住一個節點,將其拖動到其餘點。您也能夠單擊一個節點,偵探犬將用該節點的信息填充「節點信息」選項卡。
加號(+)將放大。減號(-)將縮小。中心圖標會將圖表重置爲默認縮放。
BloodHound您對當前加載的NEO4J數據庫運行自定義密碼查詢。有關此主題的更多信息,請參閱Cypher查詢語言。
單擊計算機節點將在「 Node Info」選項卡中填充有關該計算機的信息:
-Name:這是節點的名稱,採用域簡單格式。
- SAMAccountName:這是用戶的SAMAccountName。此信息目前不是由接收程序收集的。
- Display Name:這是用戶的Windows顯示名稱。此信息目前不是由接收程序收集的。
-Password Last Changed:這是用戶密碼上次更改的日期。此信息目前不是由接收程序收集的。
- Sessions:這些是接收程序在收集期間標識用戶登陸的全部計算機
- First Degree Group Memberships:這些組是用戶顯式成員的組。這是輸入命令net user username /domain 時看到的信息
- Unrolled Group Memberships: 這些都是用戶有效的組成員身份。這至關於運行Get-NetGroup -User username的信息
- Foreign Group Memberships:這些是用戶所屬的全部外部組
- First Degree Local Admin: 這些計算機明確地將用戶自己添加爲系統上的本地管理員
- Group Delegated Local Admin Rights: 這些是用戶根據委派的組權限得到管理員權限的計算機
- Derivative Local Admin Rights:: 這些是用戶能夠經過模擬當前使用具備管理員權限的計算機的用戶來得到管理員權限的計算機,而無論連接的深度如何
-First Degree Object Control::這些是用戶直接控制的其餘對象
- Group Delegated Object Control:這些是此用戶經過安全組委派控制的對象。
-Transitive Object Control:這些用戶具備僅ACL的攻擊路徑的對象。
- Explicit Object Controllers:對該用戶具備一級控制權的其餘主體。
- Unrolled Object Controllers:經過展開控制此用戶的一級組,咱們能夠看到經過安全組委派控制此對象的全部有效主體
- Transitive Object Controllers:這些是環境中具備此用戶對象的僅ACL攻擊路徑的其餘主體。
單擊計算機節點將在「 Node Info」選項卡中填充有關該計算機的信息:
- Name:這是節點的名稱,採用徹底限定格式。
- OS:計算機的操做系統。此信息目前不是由接收程序收集的。
- Allows Unconstrained Delegation:計算機是否容許無約束委派。此信息目前不是由接收程序收集的。
- Sessions: 這些是在數據收集過程當中由接收程序識別的計算機上的用戶會話。
- Explicit Admins:這些是在系統上具備本地管理員權限的顯式用戶和組。這至關於在主機上運行命令net localgroup administrators
- Unrolled Admins:這些是對系統具備管理員權限的全部有效組和用戶。這至關於運行命令get netlocalgroup-computername computername-recurse
- Derivative Local Admins:這些是具備計算機衍生管理風格攻擊路徑的全部有效組和用戶
- First Degree Group Membership:這些是計算機所屬的組。
- Unrolled Group Memberships: 這些都是計算機擁有的有效組成員身份。
- Foreign Group Memberships::這些是計算機所屬的全部外部組。
- First Degree Local Admin:這些計算機對象在系統上顯式添加爲本地管理員的計算機。
- Group Delegated Local Admin Rights::這些是計算機根據委派的組權限得到管理員權限的計算機。
- Derivative Local Admin Rights:這些是計算機能夠經過冒充當前使用用戶具備管理員權限的計算機的用戶得到管理員權限的計算機,不管此連接的深度如何。
- First Degree Object Control::這些是此計算機可直接控制的其餘對象。
- Group Delegated Object Control:這些是此計算機經過安全組委派控制的對象。
-Transitive Object Control:這些是此計算機具備僅ACL的攻擊路徑的對象。
單擊計算機節點將在「 Node Info」填充有關該組的信息
- Name::組的顯示名稱。
- Sessions:這些是接收程序在收集過程當中識別出該組的有效用戶登陸的全部計算機
- Direct Members: 這些是顯式添加到此組的用戶和組。這是輸入命令 net group groupname/domain時看到的信息
- Unrolled Members::這些都是組的有效組成員身份。這至關於運行命令get netgroup-groupname groupname-recurse
- Foreign Members::這些屬於該組的用戶自己屬於外部域
- First Degree Group Memberships:這些是屬於此組的用戶,它們本身屬於外部域
- Unrolled Group Memberships:這些都是組中有效的組成員身份
- Foreign Group Memberships:: 這些是組所屬的全部外部組。
- First Degree Local Admin:這些是將組自己明確添加爲系統本地管理員的計算機。
-Group Delegated Local Admin Rights:這些是用戶組管理員根據委派的組權限進行權限的計算機。 這些是用戶組管理員根據委派的組權限授予的計算機。
- Derivative Local Admin Rights::這些是該組能夠經過冒充當前使用用戶具備管理員權限的計算機的用戶得到管理員權限的計算機,不管此連接的深度如何。
這些是組能夠經過模擬當前使用用戶具備管理員權限的計算機的用戶來得到管理員權限的計算機,而無論連接的深度如何
- First Degree Object Control::這些是此計算機可直接控制的其餘對象。
- Group Delegated Object Control:這些是此計算機經過安全組委派控制的對象。
-Transitive Object Control:這些是此計算機具備僅ACL的攻擊路徑的對象。
- Explicit Object Controllers:對該組具備一級控制權的其餘主體。
-Unrolled Object Controllers: 經過展開控制此組的一級組,咱們能夠看到經過安全組委派控制此對象的全部有效主體
- Transitive Object Controllers::這些是環境中具備此組對象的僅ACL攻擊路徑的其餘主體。
BloodHound中的尋路徑的工做原理與您喜歡的圖形軟件中的工做方式相似。單擊道路圖標,將彈出「Target Node」文本框。
首先,指定「開始節點」。這能夠是BloodHound圖表中的任何類型的節點。BloodHound將爲您自動完成此字段。
接下來,指定「目標節點」。一樣,這能夠是BloodHound圖表中的任何類型的節點,BloodHound將爲您自動完成此字段。
按「播放」按鈕,若是存在此類路徑,BloodHound將肯定起始節點和目標節點之間的全部最短路徑。而後,BloodHound將在圖形繪製區域中顯示路徑
Neo4j有一個RESTful API,可用於查詢或修改BloodHound圖。API支持事務性語句
默認狀況下,端點位於http://localhost:7474/db/data/transaction/commit
Accept: application/json; charset=UTF-8 Content-Type: application/json Authorization: BASE64 ENCODED USERNAME:PASSWORD
POST Body
{ "statements": [ { "statement": "CYPHER QUERY GOES HERE" } ] }
curl -X POST \ http://localhost:7474/db/data/transaction/commit \ -H 'accept: application/json; charset=UTF-8' \ -H 'authorization: BASE64 ENCODED USER:PASS' \ -H 'content-type: application/json' \ -d '{"statements": [{"statement": "MATCH (c:Computer) WHERE NOT c.name='\''USERNAME@DOMAIN.COM'\'' WITH c MATCH p = shortestPath((n:User {name:'\''USERNAME@DOMAIN.COM'\''})-[r:HasSession|AdminTo|MemberOf*1..]->(c)) RETURN count(p)"}]}'
user = USER@DOMAIN.COM statement = "MATCH p=(n:User {name:'%s'})-[r1:MemberOf*1..]->(g:Group)-[r2:AdminTo]->(c:Computer) RETURN count(p)" % user headers = { "Accept": "application/json; charset=UTF-8", "Content-Type": "application/json", "Authorization": "BASE64 ENCODED USERNAME:PASSWORD" } data = {"statements": [{'statement': statement}]} url = 'http://localhost:7474/db/data/transaction/commit' r = requests.post(url=url,headers=headers,json=data)
http://neo4j.com/docs/rest-docs/current/
https://neo4j.com/docs/developer-manual/current/http-api
SharpHound導出的數據存儲在JSON文件中。有八個單獨的JSON文件格式提供不一樣的數據。
全部JSON文件都以元標記結尾,元標記包含文件中的對象數以及文件中的數據類型。實際數據存儲在一個數組中,其中的值與元標記中的字符串相匹配。
{ "users":[ { "name": "ADMIN@TESTLAB.LOCAL" } ], "meta":{ "type" : "users", "count": 1 } }
可能的類型/對象格式是:
"Name": "ADMINISTRATOR@TESTLAB.LOCAL", "PrimaryGroup": "DOMAIN USERS@TESTLAB.LOCAL", "Properties": { "domain": "TESTLAB.LOCAL", "objectsid": "S-1-5-21-883232822-274137685-4173207997-500", "enabled": true, "lastlogon": 1532041405, "pwdlastset": 1531772261, "serviceprincipalnames": [], "hasspn": false, "displayname": null, "email": null, "title": null, "homedirectory": null, "description": "Built-in account for administering the computer/domain", "userpassword": "Password123!", "admincount": true }, "Aces": [ { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "Owner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "GenericWrite", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "GenericWrite", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "GenericWrite", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" } ], "AllowedToDelegate": []
"Name": "WINDOWS1.TESTLAB.LOCAL", "PrimaryGroup": "DOMAIN COMPUTERS@TESTLAB.LOCAL", "Properties": { "objectsid": "S-1-5-21-883232822-274137685-4173207997-1106", "highvalue": false, "domain": "TESTLAB.LOCAL", "enabled": true, "unconstraineddelegation": false, "lastlogon": 1532094035, "pwdlastset": 1530133811, "serviceprincipalnames": [ "RestrictedKrbHost/WINDOWS1", "HOST/WINDOWS1", "RestrictedKrbHost/WINDOWS1.testlab.local", "HOST/WINDOWS1.testlab.local" ], "operatingsystem": "Windows 7 Ultimate N Service Pack 1", "description": null }, "LocalAdmins": [ { "Name": "DOMAIN ADMINS@TESTLAB.LOCAL", "Type": "Group" }, { "Name": "ADMINISTRATOR@TESTLAB.LOCAL", "Type": "User" }, { "Name": "ADMIN@TESTLAB.LOCAL", "Type": "User" } ], "RemoteDesktopUsers": [ { "Name": "DFM@TESTLAB.LOCAL", "Type": "User" } ], "DcomUsers": [ { "Name": "DFM.A@TESTLAB.LOCAL", "Type": "User" } ], "AllowedToDelegate": [] }
{ "Name": "SCHEMA ADMINS@TESTLAB.LOCAL", "Properties": { "highvalue": false, "domain": "TESTLAB.LOCAL", "objectsid": "S-1-5-21-883232822-274137685-4173207997-518", "admincount": true, "description": "Designated administrators of the schema" }, "Aces": [ { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "Owner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "GenericWrite", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "GenericWrite", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "GenericWrite", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" } ], "Members": [ { "MemberName": "ADMIN@TESTLAB.LOCAL", "MemberType": "user" }, { "MemberName": "ADMINISTRATOR@TESTLAB.LOCAL", "MemberType": "user" } ] }
{ "Name": "TESTLAB.LOCAL", "Properties": { "objectsid": "S-1-5-21-883232822-274137685-4173207997", "highvalue": true, "description": null, "functionallevel": "2012 R2" }, "Links": [ { "IsEnforced": false, "Name": "LOCALADMINS@TESTLAB.LOCAL" }, { "IsEnforced": false, "Name": "DEFAULT DOMAIN POLICY@TESTLAB.LOCAL" } ], "Trusts": [ { "TargetName": "DEV.TESTLAB.LOCAL", "IsTransitive": true, "TrustDirection": 2, "TrustType": "ParentChild" }, { "TargetName": "EXTERNAL.LOCAL", "IsTransitive": true, "TrustDirection": 2, "TrustType": "External" } ], "Aces": [ { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "Owner", "AceType": "" }, { "PrincipalName": "ENTERPRISE READ-ONLY DOMAIN CONTROLLERS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "ExtendedRight", "AceType": "GetChanges" }, { "PrincipalName": "DOMAIN CONTROLLERS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "ExtendedRight", "AceType": "GetChangesAll" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "ExtendedRight", "AceType": "GetChanges" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "ExtendedRight", "AceType": "GetChangesAll" }, { "PrincipalName": "ENTERPRISE DOMAIN CONTROLLERS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "ExtendedRight", "AceType": "GetChanges" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "ExtendedRight", "AceType": "All" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "GenericAll", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "ADMINISTRATORS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "ExtendedRight", "AceType": "All" } ], "ChildOus": ["357F42BA-7892-441B-8836-DC148D651F3F"], "Computers": [ "WINDOWS1.TESTLAB.LOCAL", "WINDOWS2.TESTLAB.LOCAL", "WINDOWS10.TESTLAB.LOCAL" ], "Users": [ "DFM@TESTLAB.LOCAL", "DFM.A@TESTLAB.LOCAL", "ADMINISTRATOR@TESTLAB.LOCAL", "GUEST@TESTLAB.LOCAL", "ADMIN@TESTLAB.LOCAL", "KRBTGT@TESTLAB.LOCAL", "HARMJ0Y@TESTLAB.LOCAL", "TESTUSER$@TESTLAB.LOCAL" ] }
{ "Name": "DEFAULT DOMAIN POLICY@TESTLAB.LOCAL", "Properties": { "highvalue": false, "description": null, "gpcpath": "\\\\testlab.local\\sysvol\\testlab.local\\Policies\\{31B2F340-016D-11D2-945F-00C04FB984F9}" }, "Guid": "31B2F340-016D-11D2-945F-00C04FB984F9", "Aces": [ { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "Owner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "ENTERPRISE ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteOwner", "AceType": "" }, { "PrincipalName": "DOMAIN ADMINS@TESTLAB.LOCAL", "PrincipalType": "group", "RightName": "WriteDacl", "AceType": "" } ] }
{ "Guid": "357F42BA-7892-441B-8836-DC148D651F3F", "Properties": { "name": "DOMAIN CONTROLLERS@TESTLAB.LOCAL", "highvalue": false, "blocksinheritance": false, "description": "Default container for domain controllers" }, "ChildOus": [], "Computers": ["PRIMARY.TESTLAB.LOCAL"], "Users": [], "Links": [ { "IsEnforced": false, "Name": "DEFAULT DOMAIN CONTROLLERS POLICY@TESTLAB.LOCAL" } ] }
{ "UserName": "DFM@TESTLAB.LOCAL", "ComputerName": "WINDOWS1.TESTLAB.LOCAL", "Weight": 1 }gpoadmins
{ "Computer": "PRIMARY.TESTLAB.LOCAL", "Name": "DOMAIN ADMINS@TESTLAB.LOCAL", "Type": "group" }