1.查找并列出所有的Azure服务主体信息。

在bloodhound界面中的Raw Query模块中输入如下查询语句可查找并列出所有的Azure服务主体信息,执行结果如图1-1所示。

MATCH (sp:AZServicePrincipal) RETURN sp

图 1-1

2.查找并列出所有与应用程序关联的Azure服务主体信息。

在bloodhound界面中的Raw Query模块中输入如下查询语句来查找并列出所有与应用程序关联的Azure服务主体信息,执行结果如图1-2所示。

MATCH (sp:AZServicePrincipal {serviceprincipaltype: 'Application'}) RETURN sp


图1-2所示

3.查找所有Azure特权服务主体

在bloodhound界面中的Raw Query模块中输入如下查询语句来查找所有Azure特权服务主体,执行结果如图1-3所示。

MATCH p = (g:AZServicePrincipal)-[r]->(n) RETURN p


图1-3所示

4.查找从拥有的Azure用户到Azure服务主体的最短路径

在bloodhound界面中的Raw Query模块中输入如下查询语句来从拥有的Azure用户到Azure服务主体的最短路径,执行结果如图-xx所示。

MATCH (u:AZUser {owned: true}), (m:AZServicePrincipal) MATCH p = shortestPath((u)-[*..]->(m)) RETURN p"


图1-4所示

关于使用hound查询分析常规信息,还有很多的高级查询语法,笔者在此列出了关于查找服务主体和服务托管标识的查询语句和功能描述,具体可参考下表内容来在Bloodhound中逐一查询,笔者将不赘述。

查询语法

功能描述

MATCH p=(n:AZServicePrincipal)-[:AZHasRole

AZMemberOf*1..2]->(r:AZRole) WHERE r.displayname =~ '(?i)Global Administrator

MATCH p=(:AZVM)-[:AZManagedIdentity]->(n) RETURN p

查找具有绑定托管身份的所有vm

MATCH (sp:AZServicePrincipal {serviceprincipaltype: 'ManagedIdentity'}) RETURN sp

返回托管标识的所有Azure服务主体

MATCH (u:AZUser {owned: true}), (m:AZServicePrincipal) MATCH p = shortestPath((u)-[*..]->(m)) RETURN p

查找从拥有的Azure用户到Azure服务主体的最短路径

MATCH (u:AZUser {owned: true}), (m:AZServicePrincipal {serviceprincipaltype: 'ManagedIdentity'}) MATCH p = shortestPath((u)-[*..]->(m)) RETURN p

查找从拥有的Azure用户到作为托管标识的Azure服务主体的最短路径

MATCH (u:AZUser), (m:AZServicePrincipal {serviceprincipaltype: 'ManagedIdentity'}) MATCH p = shortestPath((u)-[*..]->(m)) RETURN p

查找从所有Azure用户到作为托管标识的Azure服务主体的最短路径

MATCH (m:AZServicePrincipal {serviceprincipaltype: 'ManagedIdentity'})-[*]->(kv:AZKeyVault) WITH collect(m) AS managedIdentities MATCH p = (n)-[r]->(kv:AZKeyVault) WHERE n IN managedIdentities RETURN p

查找作为托管标识并具有指向Azure Key Vault的路径的所有服务主体

MATCH p1 = (:AZVM)-[:AZManagedIdentity]->(n) WITH collect(n) AS managedIdentities MATCH p2 = (m:AZServicePrincipal {serviceprincipaltype: 'ManagedIdentity'})-[*]->(kv:AZKeyVault) WHERE m IN managedIdentities RETURN p2

查找与具有密钥保管库路径的VM关联的托管身份的路径