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" }