Skip to content

Commit

Permalink
put edge shortcuts into common
Browse files Browse the repository at this point in the history
  • Loading branch information
brandonshearin committed Oct 4, 2024
1 parent 9622f76 commit 3977af1
Show file tree
Hide file tree
Showing 9 changed files with 41 additions and 32 deletions.
9 changes: 1 addition & 8 deletions packages/cue/bh/ad/ad.cue
Original file line number Diff line number Diff line change
Expand Up @@ -1293,12 +1293,6 @@ SyncedToEntraUser: types.#Kind & {
schema: "active_directory"
}

AllADAttacks: types.#Kind & {
symbol: "AllADAttacks"
schema: "active_directory"
representation: "ALL_AD_ATTACKS"
}

// Relationship Kinds
RelationshipKinds: [
Owns,
Expand Down Expand Up @@ -1369,8 +1363,7 @@ RelationshipKinds: [
ADCSESC10a,
ADCSESC10b,
ADCSESC13,
SyncedToEntraUser,
AllADAttacks
SyncedToEntraUser
]

// ACL Relationships
Expand Down
9 changes: 1 addition & 8 deletions packages/cue/bh/azure/azure.cue
Original file line number Diff line number Diff line change
Expand Up @@ -723,12 +723,6 @@ SyncedToADUser: types.#Kind & {
representation: "SyncedToADUser"
}

AllAZAttacks: types.#Kind & {
symbol: "AllAZAttacks"
schema: "azure"
representation: "ALL_AZ_ATTACKS"
}

RelationshipKinds: [
AvereContributor,
Contains,
Expand Down Expand Up @@ -776,8 +770,7 @@ RelationshipKinds: [
AZMGAddSecret,
AZMGGrantAppRoles,
AZMGGrantRole,
SyncedToADUser,
AllAZAttacks
SyncedToADUser
]

AppRoleTransitRelationshipKinds: [
Expand Down
14 changes: 14 additions & 0 deletions packages/cue/bh/common/common.cue
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,23 @@ MigrationData: types.#Kind & {
representation: "MigrationData"
}

AllADAttacks: types.#Kind & {
symbol: "AllADAttacks"
schema: "active_directory"
representation: "ALL_AD_ATTACKS"
}

AllAZAttacks: types.#Kind & {
symbol: "AllAZAttacks"
schema: "azure"
representation: "ALL_AZ_ATTACKS"
}

NodeKinds: [
MigrationData,
]

RelationshipKinds: [
AllADAttacks,
AllAZAttacks
]
5 changes: 3 additions & 2 deletions packages/go/cypher/models/cypher/format/format.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"github.com/specterops/bloodhound/cypher/models/cypher"
"github.com/specterops/bloodhound/graphschema/ad"
"github.com/specterops/bloodhound/graphschema/azure"
"github.com/specterops/bloodhound/graphschema/common"

"github.com/specterops/bloodhound/dawgs/graph"
)
Expand All @@ -40,11 +41,11 @@ func writeJoinedKinds(output io.Writer, delimiter string, kinds graph.Kinds) err
}

// if kind is a shortcut edge type, further expansion is required
if kind == ad.AllADAttacks {
if kind == common.AllADAttacks {
if err := writeJoinedKinds(output, delimiter, ad.PathfindingRelationships()); err != nil {
return err
}
} else if kind == azure.AllAZAttacks {
} else if kind == common.AllAZAttacks {
if err := writeJoinedKinds(output, delimiter, azure.PathfindingRelationships()); err != nil {
return err
}
Expand Down
3 changes: 1 addition & 2 deletions packages/go/graphschema/ad/ad.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions packages/go/graphschema/azure/azure.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion packages/go/graphschema/common/common.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions packages/javascript/bh-shared-ui/src/commonSearches.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@
//
// SPDX-License-Identifier: Apache-2.0

import { ActiveDirectoryRelationshipKind, AzureRelationshipKind } from './graphSchema';
import { CommonRelationshipKind } from './graphSchema';

const categoryAD = 'Active Directory';
const categoryAzure = 'Azure';

const adTransitEdgeTypes = ActiveDirectoryRelationshipKind.AllADAttacks;
const azureTransitEdgeTypes = AzureRelationshipKind.AllAZAttacks;
const adTransitEdgeTypes = CommonRelationshipKind.AllADAttacks;
const azureTransitEdgeTypes = CommonRelationshipKind.AllAZAttacks;

const highPrivilegedRoleDisplayNameRegex =
'Global Administrator.*|User Administrator.*|Cloud Application Administrator.*|Authentication Policy Administrator.*|Exchange Administrator.*|Helpdesk Administrator.*|Privileged Authentication Administrator.*';
Expand Down
20 changes: 14 additions & 6 deletions packages/javascript/bh-shared-ui/src/graphSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@ export enum ActiveDirectoryRelationshipKind {
ADCSESC10b = 'ADCSESC10b',
ADCSESC13 = 'ADCSESC13',
SyncedToEntraUser = 'SyncedToEntraUser',
AllADAttacks = 'ALL_AD_ATTACKS',
}
export function ActiveDirectoryRelationshipKindToDisplay(value: ActiveDirectoryRelationshipKind): string | undefined {
switch (value) {
Expand Down Expand Up @@ -282,8 +281,6 @@ export function ActiveDirectoryRelationshipKindToDisplay(value: ActiveDirectoryR
return 'ADCSESC13';
case ActiveDirectoryRelationshipKind.SyncedToEntraUser:
return 'SyncedToEntraUser';
case ActiveDirectoryRelationshipKind.AllADAttacks:
return 'AllADAttacks';
default:
return undefined;
}
Expand Down Expand Up @@ -780,7 +777,6 @@ export enum AzureRelationshipKind {
AZMGGrantAppRoles = 'AZMGGrantAppRoles',
AZMGGrantRole = 'AZMGGrantRole',
SyncedToADUser = 'SyncedToADUser',
AllAZAttacks = 'ALL_AZ_ATTACKS',
}
export function AzureRelationshipKindToDisplay(value: AzureRelationshipKind): string | undefined {
switch (value) {
Expand Down Expand Up @@ -878,8 +874,6 @@ export function AzureRelationshipKindToDisplay(value: AzureRelationshipKind): st
return 'AZMGGrantRole';
case AzureRelationshipKind.SyncedToADUser:
return 'SyncedToADUser';
case AzureRelationshipKind.AllAZAttacks:
return 'AllAZAttacks';
default:
return undefined;
}
Expand Down Expand Up @@ -1043,6 +1037,20 @@ export function CommonNodeKindToDisplay(value: CommonNodeKind): string | undefin
return undefined;
}
}
export enum CommonRelationshipKind {
AllADAttacks = 'ALL_AD_ATTACKS',
AllAZAttacks = 'ALL_AZ_ATTACKS',
}
export function CommonRelationshipKindToDisplay(value: CommonRelationshipKind): string | undefined {
switch (value) {
case CommonRelationshipKind.AllADAttacks:
return 'AllADAttacks';
case CommonRelationshipKind.AllAZAttacks:
return 'AllAZAttacks';
default:
return undefined;
}
}
export enum CommonKindProperties {
ObjectID = 'objectid',
Name = 'name',
Expand Down

0 comments on commit 3977af1

Please sign in to comment.