优化网站技术,为什么要进行网络整合营销?,坪山网站开发,管理咨询公司简介范文0x00 概观 1.BloodHound介绍 BloodHound是一种单页的JavaScript的Web应用程序#xff0c;构建在Linkurious上#xff0c;用Electron编译#xff0c;NEO4J数据库是PowerShell/C# ingestor. BloodHound使用可视化图来显示Active Directory环境中隐藏的和相关联的主机内容。攻… 0x00 概观 1.BloodHound介绍 BloodHound是一种单页的JavaScript的Web应用程序构建在Linkurious上用Electron编译NEO4J数据库是PowerShell/C# ingestor. BloodHound使用可视化图来显示Active Directory环境中隐藏的和相关联的主机内容。攻击者可以使用BloodHound轻松识别高度复杂的攻击路径否则很难快速识别。防御者可以使用BloodHound来识别和防御那些相同的攻击路径。蓝队和红队都可以使用BloodHound轻松深入了解Active Directory环境中的权限关系。 BloodHound是由 _wald0CptJesus harmj0y共同开发。 2.入门基础 BloodHound入门非常简单。完成后请转到数据收集部分以开始收集数据或使用BloodHound查看包含的数据库。 (1).windows 此视频演示了NEO4J设置的过程https://youtu.be/o22emeubrnk Neo4j需要Java环境因此请确保您运行的是最新版本的Java。 转到neo4j.com/download并点击下载服务器(Download Server)” 下载当前版本的neo4j Server for Windows选择32位或64位。 解压缩在步骤4中下载的zip文件夹的内容。 打开以管理员身份运行的cmd.exe然后转到您在步骤4中解压缩到的文件夹。 CD到bin目录下并通过运行安装neo4j作为服务 neo4j.bat install-service 下载/克隆BloodHound GitHub repo然后将BloodHoundExampleDB.graphdb复制到data\databasesneo4j目录下的文件夹中。 在cmd.exe中返回一个目录然后cd 到conf目录下。打开neo4j.conf取消对行dbms.active_databasegraph.db的注释。更改此行使其显示为dbms.active_databasebloodhoundsexampledb.graphdb。另外取消对行dbms.allow_upgradetrue的注释使其显示为dbms.allow_upgradetrue然后保存此文件。 进入到cmd.exe并通过输入neo4j net start neo4j 通过在浏览器中打开http://localhost:7474/来验证NEO4J是否正在运行。NEO4J Web控制台应该正常显示。从此处下载到的版本运行BloodHound.exe 或从源代码编译BloodHound。在bolt://localhost:7687上对提供的示例图形数据库进行身份验证。用户名是“neo4j”密码是“BloodHound”。 您现在可以开始收集数据 (2).Linux 有关在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” 您现在可以开始收集数据 (3).KALI 1 .确保是最新系统同过执行以下命令更新系统 apt-get update apt-get dist-upgrade 2.安装Bloodhound只需运行以下命令即可。Bloodhound依赖于neo4j因此也将被安装。 apt-get install bloodhound 3.更改Neo4j的默认密码 neo4j console 4.现在在http://localhost:7474上有一个远程接口。通过浏览器打开此URL链接地址然后更改默认密码。您还将看到它在localhost上启用了Bolt在以后会用到它。 5.使用默认凭据登录(如下)然后将要求您更改密码 用户名neo4j密码neo4j 继续完成密码更改后并关闭浏览器窗口。 6.弹出一个新的终端窗口打开并运行以下命令启动Bloodhound。 bloodhound 正如您所看到的Bloodhound现在正在运行并等待一些用户输入。在发布Neo4j之前它还启用了Bolt on bolt://127.0.0.1:7687。您需要将其用作数据库URL。 数据库URL - bolt://127.0.0.1:7687用户名 - neo4j密码 - 您新更改的密码 点击登录你应该看到Bloodhound工具删除了数据。您现在可以导入数据并进行分析。 (4).OSX 下载并安装neo4j社区版。可选如果您计划在不同主机上运行neo4j和PowerShell接收程序请将REST API配置为接受远程连接。克隆BloodHound Github repo git clone https://github.com/adaptivethreat/Bloodhound启动neo4j服务器将NEO4J指向提供的示例图形数据库。从此处找到相应的版本运行BloodHound应用程序或从源代码编译BloodHound。 通过bolt://localhost:7687上提供的示例图形数据库的身份验证。用户名是“neo4j”密码是“BloodHound” 您现在可以开始收集数据 3.源码编译BloodHound (1).windows 安装NodeJS安装 electron-packagernpm install -g electron-packager克隆BloodHound GitHub repogit clone https://github.com/adaptivethreat/Bloodhound从根目录BloodHound中运行npm install命令npm install使用npm run winbuild命令编译BloodHoundnpm run winbuild (2).Linux 安装NodeJS安装 electron-packagersudo npm install -g electron-packager克隆BloodHound GitHub repogit clone https://github.com/adaptivethreat/Bloodhound从根目录BloodHound中运行npm install命令npm install使用npm run winbuild命令编译BloodHoundnpm run linuxbuild (3).OSX 安装NodeJS安装 electron-packagersudo npm install -g electron-packager克隆BloodHound GitHub repogit clone https://github.com/adaptivethreat/Bloodhound从根目录BloodHound中运行npm install命令sudo npm install使用npm run winbuild命令编译BloodHoundnpm run macbuild 4.运行BloodHound的开发版本 安装Node.js克隆BloodHound GitHub repogit clone https://github.com/adaptivethreat/Bloodhound从根目录BloodHound中运行npm install命令npm install使用npm run dev命令运行开发版本服务器npm run dev使用Ctrl R完成WebPack编译后刷新electron窗口 0x02 数据采集 1.介绍 BloodHound需要来自Active Directory环境的三条信息才能运行 谁在哪里登录谁拥有管理权限 哪些用户和组属于哪些组(可选)哪些主体可以控制其他用户和组对象 在大多数情况下收集此信息不需要管理员权限也不需要在远程系统上执行代码。基于PowerView的PowerShell摄取器使数据收集变得快速而简单。ingestor(采集器)位于 BloodHound repo下的ingestor目录下。 收集器收集许多额外的数据这些数据提供了更多路径以及节点属性以方便使用。 (1).PowerShell执行策略 默认情况下PowerShell不允许执行PowerShell脚本但是在大多数情况下绕过此限制非常简单。通常通过运行以下命令您可以在不受此限制的情况下输入PowerShell执行命令 PS C:\ PowerShell -Exec Bypass 有关更多选项请参阅NetSPI上的这篇精彩博文其中介绍了绕过PowerShell执行策略的15种不同方法。 (2).数据采集 使用BloodHound接口完成数据采集。该接口支持上传带有数据的zip文件以及单个JSON文件 。 通过BloodHound接口采集JSON 2.数据收集器 (1).SharpHound - CIngestor BloodHound现在包括一个完全自定义的C采集器从头开始编写以支持采集任务。有两个选项可以使用采集器可执行文件和PowerShell脚本的选项。两个采集器都支持相同的选项集。运行PowerShell版本的命令是Invoke-BloodHound。与所有PowerShell脚本一样它必须在没有执行策略限制的PowerShell运行环境中运行。有关绕过执行策略运行PowerShell的详细信息请参阅NetSPI的此博客文章。 有关详细信息包括标志和新功能请参阅此处的博客文章。 Invoke-BloodHound (2).基本用法 Invoke-BloodHound执行填充后端BloodHound数据库所需的集合选项。如果未指定任何选项则默认情况下它将收集所有展开的组成员身份信息所有可访问的域信任信息并将收集所有可从当前域访问的计算机上的会话/本地管理员数据。所有数据都将导出到当前目录中的JSON文件中。。*-JSONFolder C:\Temp*参数将修改文件输出到的文件夹并且 -jsonprefix domainx将指定的标志添加到每个输出文件的开头。 对于没有登录域的用户会话数据默认情况下全局编录用于尝试解除冲突用户可能所在的域。如果用户存在于林中的多个域中则使用一系列权重进行修改攻击路径的可能性。如果要跳过此全局编目冲突方法请指定-skipgcdeconfliction标志 (3).收集器选项 枚举选项 CollectionMethod - 要使用的集合方法。此参数接受以逗号分隔的值列表。具有以下默认值(Default: Default) Default - 执行组成员身份收集、域信任收集、本地管理收集和会话收集Group- 执行组成员身份集合LocalGroup - 执行本地管理员集合RDP - 执行远程桌面用户集合DCOM - 执行分布式COM用户集合GPOLocalGroup - 使用组策略对象执行本地管理员收集Session- 执行会话收集ObjectProps - 为LastLogon或PwdLastSet等属性执行对象属性收集ComputerOnly - 执行本地管理员RDPDCOM和会话集合LoggedOn - 执行特权会话收集(需要目标系统上的管理员权限)Trusts - 执行域信任枚举ACL - 执行ACL的收集Container - 执行容器的收集DcOnly - 仅使用LDAP执行收集。包括GroupTrustsACLObjectPropsContainer和GPOLocalGroup。All- 执行除GPOLocalGroup和LoggedOn之外的所有收集方法SearchForest - 搜索林中的所有域而不仅仅是当前域Domain - 搜索特定域。如果为null则使用当前域(默认值null)Stealth - 执行隐藏收集方法。所有隐藏选项都是单线程的。SkipGCDeconfliction - 会话枚举期间跳过全局编录取消冲突。这可以加快枚举速度但会导致数据可能不准确。ExcludeDc - 从枚举中排除域控制器(避免使用Microsoft ATA标志)ComputerFile - 指定要从中加载计算机名称/ IP的文件OU - 指定要枚举的OU 连接选项 DomainController - 指定要连接的域控制器(默认值null)LdapPort - 指定LDAP所在的端口(默认值0)SecureLdap - 使用安全LDAP而不是常规LDAP连接到AD。默认情况下将连接到端口636。IgnoreLdapCert - 忽略LDAP SSL证书。例如如果存在自签名证书则使用LDAPUser - 用于连接LDAP的用户名。还需要LDAPPassword参数(默认值null)LDAPPass - 用户连接LDAP的密码。还需要LDAPUser参数(默认值null)DisableKerbSigning - 禁用LDAP加密。不推荐。 性能选项 Threads- 指定要使用的线程数(默认值10)PingTimeout - 指定ping请求的超时(以毫秒为单位)(默认值250)SkipPing - 指示Sharphound跳过ping请求以查看系统是否已启动LoopDelay - 会话循环之间的秒数(默认值300)MaxLoopTime - 继续会话循环的时间值。格式为0d0h0m0s。Null值将会循环两个小时。(默认值2h)Throttle - 在每次请求到计算机后添加延迟。值以毫秒为单位(默认值0)Jitter - 为阀门值增加百分比 jitter。(默认值0) 输出选项 JSONFolder - 存储json文件的文件夹(默认值 .)JSONPrefix - 要添加到JSON文件的前缀(默认值“”)NoZip - 不要将JSON文件压缩到zip文件。将JSON文件存储在磁盘上。(默认值false)EncryptZip - 将随机生成的密码添加到zip文件中。ZipFileName - 指定zip文件的名称RandomFilenames -随机输出文件名PrettyJson - 在多行上输出带缩进的JSON以提高可读性。权衡是增加文件大小。 缓存选项 CacheFile - Sharphound缓存的文件名。(默认值BloodHound.bin)NoSaveCache - 不要将缓存文件存储到磁盘上。如果没有此标志BloodHound.bin将从磁盘中被删除Invalidate --使缓存文件无效并生成新缓存 杂项选项 StatusInterval - 枚举期间显示进度的间隔(以毫秒为单位)(默认值30000)详细 - 启用详细输出 3.JSON采集 SharpHound默认在Zip文件中输出几个JSON文件。BloodHound界面支持单个文件以及Zip文件。上传数据的最简单方法是将文件拖放到用户界面上除节点显示选项卡之外的任何位置。 4.基于Python的BloodHound采集器 BloodHound.py是一个基于Python的BloodHound 采集器基于Impacket。 此版本的BloodHound 仅与BloodHound 2.0或更新版本兼容。 (1).限制 BloodHound.py目前有以下限制 尚不支持所有BloodHound(SharpHound)功能(有关支持的收集方法请参阅下面的内容)Kerberos支持尚未完成尚未实现跨林成员身份解析 (2).安装和使用您可以通过pip命令pip install bloodhound来进行安装或者通过克隆此存储库并运行python setup.py install或使用 pip install .. BloodHound.py 来安装。BloodHound.p需要impacket、ldap3和dnspython模块才能正常运行安装将向您的路径中添加命令行工具bloodhound-python。要使用bloodhound-采集器您至少需要登录域的凭据。您需要使用此域的用户名(或受信任域中的用户的usernamedomain)指定-u选项。如果您的DNS设置正确并且AD域在您的DNS搜索列表中那么bloodhound.py将自动为您检测该域。如果没有则必须使用-d选项手动指定它默认情况下bloodhound.py将查询LDAP和域中的各个计算机以枚举用户、计算机、组、信任、会话和本地管理员。如果要限制收集请指定--collectionmethod参数该参数支持以下选项(类似于sharphound) Default -本地管理员集合和会话集合 执行组成员身份收集、域信任收集、本地管理收集和会话收集Group - 执行组成员身份收集LocalAdmin - 执行本地管理员收集 Session - 执行会话收集 Acl - 执行acl收集Trusts - 执行域信任枚举LoggedOn - 执行特权会话枚举(需要目标上的本地管理员)ObjectProps - 为LastLogon或PwdLastSet等属性执行对象属性集合 All - 运行上述所有方法LoggedOn除外 muliple集合方法应以逗号分隔例如-c grouplocaladmin 您可以覆盖某些自动检测选项例如如果要使用其他域控制器则使用-dc指定主域控制器的主机名或者使用-gc指定自己的全局编录。 0x03 界面使用 1.界面介绍 BloodHound界面设计直观操作重点突出。因为BloodHound是以Electron应用程序编译的所以它跨平台的可在WindowsOSX和Linux上运行。 (1).认证 当您第一次打开BloodHound时会收到登录提示 “Database URL”是NEO4J数据库运行的IP地址和端口格式应为bolt://ip:7687 DB Username是为NEO4J的数据库的用户名。NEO4J数据库的默认用户名是NEO4J DB Password 是NEO4J数据库的密码。NEO4J数据库的默认密码是NEO4J。提供的示例数据库的密码是BloodHound (2).概观 成功登录后BloodHound将在其名称中绘制名为“Domain Admins”的任何组并向您显示属于该组的有效用户 上图中BloodHound界面分为5个部分 菜单和搜索栏图形绘制区域设置放大/缩小并重置初始密码查询 (3).菜单和搜索栏 搜索栏和菜单旨在直观且以操作为重点。左上角的三行将切换“数据库信息”“节点信息”和“查询”选项卡的下拉列表。 “数据库信息”选项卡显示有关当前加载的数据库的基本信息包括用户、计算机、组和关系(或边)的数量。您还可以在这里执行基本的数据库管理功能包括注销和切换数据库以及清除(读取从中删除所有信息)当前加载的数据库(注意) “节点信息”选项卡将显示有关您在图表中单击的节点的信息。 “查询”选项卡将显示我们在BloodHound中包含的预建查询以及您可以自己构建其他查询。稍后将提供有关此内容的更多信息。 (4).图形绘制区域 这是BloodHound绘制节点和边缘的区域。按住ctrl键将循环显示三个选项以显示节点标签Default Threshold, Always Show, Never Show.。可以单击并按住一个节点将其拖动到其他点。您也可以单击一个节点侦探犬将用该节点的信息填充“节点信息”选项卡。 (5).设置 刷新 - BloodHound将重新计算并重新绘制当前显示。 导出图表 - BloodHound可以将当前绘制的图形导出为JSON格式或者导出为PNG。 导入图 表- BloodHound将以JSON格式绘制导入的图形。上传数据 - BloodHound将自动检测然后提取CSV格式的数据。有关此内容的更多信息请参阅CSV提取。 更改布局类型 - 在分层(dagre)和强制导向图布局之间切换。 设置 - 改变节点折叠行为并在低细节模式之间切换 (6).放大/缩小并重置 加号()将放大。减号(-)将缩小。中心图标会将图表重置为默认缩放。 (7).初始密码查询 BloodHound您对当前加载的NEO4J数据库运行自定义密码查询。有关此主题的更多信息请参阅Cypher查询语言。 2.用户 单击计算机节点将在“ Node Info”选项卡中填充有关该计算机的信息 (1).节点信息 -Name这是节点的名称采用域简单格式。 - SAMAccountName这是用户的SAMAccountName。此信息目前不是由接收程序收集的。 - Display Name这是用户的Windows显示名称。此信息目前不是由接收程序收集的。 -Password Last Changed这是用户密码上次更改的日期。此信息目前不是由接收程序收集的。 - Sessions这些是接收程序在收集期间标识用户登录的所有计算机 (2).组成员身份 - First Degree Group Memberships这些组是用户显式成员的组。这是输入命令net user username /domain 时看到的信息 - Unrolled Group Memberships 这些都是用户有效的组成员身份。这相当于运行Get-NetGroup -User username的信息 - Foreign Group Memberships这些是用户所属的所有外部组 (3).本地管理员权利 - First Degree Local Admin 这些计算机明确地将用户本身添加为系统上的本地管理员 - Group Delegated Local Admin Rights 这些是用户根据委派的组权限获得管理员权限的计算机 - Derivative Local Admin Rights: 这些是用户可以通过模拟当前使用具有管理员权限的计算机的用户来获得管理员权限的计算机而不管链接的深度如何 (4).出站对象控制 -First Degree Object Control:这些是用户直接控制的其他对象 - Group Delegated Object Control这些是此用户通过安全组委派控制的对象。 -Transitive Object Control这些用户具有仅ACL的攻击路径的对象。 (5).入站对象控制 - Explicit Object Controllers对该用户具有一级控制权的其他主体。 - Unrolled Object Controllers:通过展开控制此用户的一级组我们可以看到通过安全组委派控制此对象的所有有效主体 - Transitive Object Controllers这些是环境中具有此用户对象的仅ACL攻击路径的其他主体。 3.计算机 单击计算机节点将在“ Node Info”选项卡中填充有关该计算机的信息 (1).节点信息 - Name这是节点的名称采用完全限定格式。 - OS计算机的操作系统。此信息目前不是由接收程序收集的。 - Allows Unconstrained Delegation计算机是否允许无约束委派。此信息目前不是由接收程序收集的。 - Sessions 这些是在数据收集过程中由接收程序识别的计算机上的用户会话。 (2).本地管理员 - Explicit Admins这些是在系统上具有本地管理员权限的显式用户和组。这相当于在主机上运行命令net localgroup administrators - Unrolled Admins这些是对系统具有管理员权限的所有有效组和用户。这相当于运行命令get netlocalgroup-computername computername-recurse - Derivative Local Admins这些是具有计算机衍生管理风格攻击路径的所有有效组和用户 (3).组成员身份 - First Degree Group Membership这些是计算机所属的组。 - Unrolled Group Memberships 这些都是计算机拥有的有效组成员身份。 - Foreign Group Memberships:这些是计算机所属的所有外部组。 (4).本地管理员权限 - First Degree Local Admin这些计算机对象在系统上显式添加为本地管理员的计算机。 - Group Delegated Local Admin Rights:这些是计算机根据委派的组权限获得管理员权限的计算机。 - Derivative Local Admin Rights这些是计算机可以通过冒充当前使用用户具有管理员权限的计算机的用户获得管理员权限的计算机无论此链接的深度如何。 (5).出站对象控制 - First Degree Object Control:这些是此计算机可直接控制的其他对象。 - Group Delegated Object Control这些是此计算机通过安全组委派控制的对象。 -Transitive Object Control这些是此计算机具有仅ACL的攻击路径的对象。 4.组 单击计算机节点将在“ Node Info”填充有关该组的信息 (1).节点信息 - Name:组的显示名称。 - Sessions这些是接收程序在收集过程中识别出该组的有效用户登录的所有计算机 (2).组成员 - Direct Members 这些是显式添加到此组的用户和组。这是输入命令 net group groupname/domain时看到的信息 - Unrolled Members:这些都是组的有效组成员身份。这相当于运行命令get netgroup-groupname groupname-recurse - Foreign Members:这些属于该组的用户本身属于外部域 (3).组成员身份 - First Degree Group Memberships这些是属于此组的用户它们自己属于外部域 - Unrolled Group Memberships这些都是组中有效的组成员身份 - Foreign Group Memberships: 这些是组所属的所有外部组。 (4).本地管理员权限 - First Degree Local Admin这些是将组本身明确添加为系统本地管理员的计算机。 -Group Delegated Local Admin Rights这些是用户组管理员根据委派的组权限进行权限的计算机。 这些是用户组管理员根据委派的组权限授予的计算机。 - Derivative Local Admin Rights:这些是该组可以通过冒充当前使用用户具有管理员权限的计算机的用户获得管理员权限的计算机无论此链接的深度如何。 这些是组可以通过模拟当前使用用户具有管理员权限的计算机的用户来获得管理员权限的计算机而不管链接的深度如何 (5).出站对象控制 - First Degree Object Control:这些是此计算机可直接控制的其他对象。 - Group Delegated Object Control这些是此计算机通过安全组委派控制的对象。 -Transitive Object Control这些是此计算机具有仅ACL的攻击路径的对象。 (6).入站对象控制 - Explicit Object Controllers对该组具有一级控制权的其他主体。 -Unrolled Object Controllers 通过展开控制此组的一级组我们可以看到通过安全组委派控制此对象的所有有效主体 - Transitive Object Controllers:这些是环境中具有此组对象的仅ACL攻击路径的其他主体。 5.寻路径 BloodHound中的寻路径的工作原理与您喜欢的图形软件中的工作方式类似。单击道路图标将弹出“Target Node”文本框。 首先指定“开始节点”。这可以是BloodHound图表中的任何类型的节点。BloodHound将为您自动完成此字段。 接下来指定“目标节点”。同样这可以是BloodHound图表中的任何类型的节点BloodHound将为您自动完成此字段。 按“播放”按钮如果存在此类路径BloodHound将确定起始节点和目标节点之间的所有最短路径。然后BloodHound将在图形绘制区域中显示路径 0x04 高级用法 1.neo4j REST API Neo4j有一个RESTful API可用于查询或修改BloodHound图。API支持事务性语句 默认情况下端点位于http://localhost:7474/db/data/transaction/commit 必要的HTTP头 Accept: application/json; charsetUTF-8
Content-Type: application/json
Authorization: BASE64 ENCODED USERNAME:PASSWORD POST Body {statements: [{statement: CYPHER QUERY GOES HERE}]
}CURL查询以获得USERNAMEDOMAIN.COM的本地管理员 curl -X POST \
http://localhost:7474/db/data/transaction/commit \
-H accept: application/json; charsetUTF-8 \
-H authorization: BASE64 ENCODED USER:PASS \
-H content-type: application/json \
-d {statements: [{statement: MATCH (c:Computer) WHERE NOT c.name\USERNAMEDOMAIN.COM\ WITH c MATCH p shortestPath((n:User {name:\USERNAMEDOMAIN.COM\})-[r:HasSession|AdminTo|MemberOf*1..]-(c)) RETURN count(p)}]}Python请求示例 user USERDOMAIN.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; charsetUTF-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(urlurl,headersheaders,jsondata)neo4j官方文档 http://neo4j.com/docs/rest-docs/current/ neo4j HTTP REST API官方文档 https://neo4j.com/docs/developer-manual/current/http-api 2.BloodHound JSON格式 SharpHound导出的数据存储在JSON文件中。有八个单独的JSON文件格式提供不同的数据。 基本JSON格式 所有JSON文件都以元标记结尾元标记包含文件中的对象数以及文件中的数据类型。实际数据存储在一个数组中其中的值与元标记中的字符串相匹配。 {users:[{name: ADMINTESTLAB.LOCAL}],meta:{type : users,count: 1}
}可能的类型/对象格式是 usersgroupsouscomputersgposdomainsgpoadminssessions 对象格式 users: Name: ADMINISTRATORTESTLAB.LOCAL,
PrimaryGroup: DOMAIN USERSTESTLAB.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 ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: Owner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: GenericWrite,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: GenericWrite,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: GenericWrite,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: }
],
AllowedToDelegate: []computers Name: WINDOWS1.TESTLAB.LOCAL,
PrimaryGroup: DOMAIN COMPUTERSTESTLAB.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 ADMINSTESTLAB.LOCAL, Type: Group },{ Name: ADMINISTRATORTESTLAB.LOCAL, Type: User },{ Name: ADMINTESTLAB.LOCAL, Type: User }
],
RemoteDesktopUsers: [{ Name: DFMTESTLAB.LOCAL, Type: User }
],
DcomUsers: [{ Name: DFM.ATESTLAB.LOCAL, Type: User }
],
AllowedToDelegate: []
}groups: {
Name: SCHEMA ADMINSTESTLAB.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 ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: Owner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: GenericWrite,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: GenericWrite,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: GenericWrite,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: }
],
Members: [{ MemberName: ADMINTESTLAB.LOCAL, MemberType: user },{MemberName: ADMINISTRATORTESTLAB.LOCAL,MemberType: user}]
}domains {
Name: TESTLAB.LOCAL,
Properties: {objectsid: S-1-5-21-883232822-274137685-4173207997,highvalue: true,description: null,functionallevel: 2012 R2
},
Links: [{ IsEnforced: false, Name: LOCALADMINSTESTLAB.LOCAL },{IsEnforced: false,Name: DEFAULT DOMAIN POLICYTESTLAB.LOCAL}
],
Trusts: [{TargetName: DEV.TESTLAB.LOCAL,IsTransitive: true,TrustDirection: 2,TrustType: ParentChild},{TargetName: EXTERNAL.LOCAL,IsTransitive: true,TrustDirection: 2,TrustType: External}
],
Aces: [{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: Owner,AceType: },{PrincipalName:ENTERPRISE READ-ONLY DOMAIN CONTROLLERSTESTLAB.LOCAL,PrincipalType: group,RightName: ExtendedRight,AceType: GetChanges},{PrincipalName: DOMAIN CONTROLLERSTESTLAB.LOCAL,PrincipalType: group,RightName: ExtendedRight,AceType: GetChangesAll},{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: ExtendedRight,AceType: GetChanges},{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: ExtendedRight,AceType: GetChangesAll},{PrincipalName:ENTERPRISE DOMAIN CONTROLLERSTESTLAB.LOCAL,PrincipalType: group,RightName: ExtendedRight,AceType: GetChanges},{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: ExtendedRight,AceType: All},{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: GenericAll,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: ADMINISTRATORSTESTLAB.LOCAL,PrincipalType: group,RightName: ExtendedRight,AceType: All}
],
ChildOus: [357F42BA-7892-441B-8836-DC148D651F3F],
Computers: [WINDOWS1.TESTLAB.LOCAL,WINDOWS2.TESTLAB.LOCAL,WINDOWS10.TESTLAB.LOCAL
],
Users: [DFMTESTLAB.LOCAL,DFM.ATESTLAB.LOCAL,ADMINISTRATORTESTLAB.LOCAL,GUESTTESTLAB.LOCAL,ADMINTESTLAB.LOCAL,KRBTGTTESTLAB.LOCAL,HARMJ0YTESTLAB.LOCAL,TESTUSER$TESTLAB.LOCAL
]
}GPO: {
Name: DEFAULT DOMAIN POLICYTESTLAB.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 ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: Owner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: ENTERPRISE ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteOwner,AceType: },{PrincipalName: DOMAIN ADMINSTESTLAB.LOCAL,PrincipalType: group,RightName: WriteDacl,AceType: }]
}ous: {Guid: 357F42BA-7892-441B-8836-DC148D651F3F,Properties: {name: DOMAIN CONTROLLERSTESTLAB.LOCAL,highvalue: false,blocksinheritance: false,description: Default container for domain controllers},ChildOus: [],Computers: [PRIMARY.TESTLAB.LOCAL],Users: [],Links: [{IsEnforced: false,Name: DEFAULT DOMAIN CONTROLLERS POLICYTESTLAB.LOCAL}]
}sessions: {UserName: DFMTESTLAB.LOCAL,ComputerName: WINDOWS1.TESTLAB.LOCAL,Weight: 1
}gpoadmins {Computer: PRIMARY.TESTLAB.LOCAL,Name: DOMAIN ADMINSTESTLAB.LOCAL,Type: group
}