Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(graph): document mitre attck in schema. #311

Merged
merged 2 commits into from
Jan 7, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion docs/reference/graph/graph.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,18 @@
},
"description": {
"type": "string"
},
"attck": {
"type": "array",
"items": {
"$ref": "#/definitions/AttckRef"
}
}
},
"required": [
"description",
"label"
"label",
"attck"
],
"title": "Edge"
},
Expand Down Expand Up @@ -218,6 +225,23 @@
],
"title": "From"
},
"AttckRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"title": "AttckRef"
},
"Type": {
"type": "string",
"enum": [
Expand Down
78 changes: 78 additions & 0 deletions docs/reference/graph/graph.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -412,76 +412,154 @@ spec:
edges:
- label: CE_MODULE_LOAD
description: A container can load a kernel module on the node.
attck:
- id: T1611
name: Escape to Host
- label: CE_NSENTER
description: >-
Container escape via the nsenter built-in linux program that allows
executing a binary into another namespace.
attck:
- id: T1611
name: Escape to Host
- label: CE_PRIV_MOUNT
description: >-
Mount the host disk and gain access to the host via arbitrary filesystem
write
attck:
- id: T1611
name: Escape to Host
- label: CE_SYS_TRACE
description: >-
Given the requisite capabilities, abuse the legitimate OS debugging
mechanisms to escape the container via attaching to a node process.
attck:
- id: T1611
name: Escape to Host
- label: CE_UMH_CORE_PATTERN
description: >-
Abuse the User Mode Helper (UMH) mechanism to execute arbitrary code in
the host.
attck:
- id: T1611
name: Escape to Host
- label: CE_VAR_LOG_SYMLINK
description: Abuse the /var/log symlink to gain access to the host filesystem.
attck:
- id: T1611
name: Escape to Host
- label: EXPLOIT_HOST_READ
description: Read sensitive files on the host.
attck:
- id: T1611
name: Escape to Host
- label: EXPLOIT_HOST_WRITE
description: Write sensitive files on the host.
attck:
- id: T1611
name: Escape to Host
- label: EXPLOIT_CONTAINERD_SOCK
description: Exploit the containerd socket to gain access to the host.
attck:
- id: TA0008
name: Lateral Movement
Minosity-VR marked this conversation as resolved.
Show resolved Hide resolved
- label: IDENTITY_ASSUME
description: >-
Represents the capacity to act as an Identity via ownership of a service
account token, user PKI certificate, etc.
attck:
- id: T1078
name: Valid Accounts
- label: CONTAINER_ATTACH
description: >-
Attach to a running container to execute commands or inspect the
container.
attck:
- id: TA0008
name: Lateral Movement
- label: ENDPOINT_EXPLOIT
description: >-
Represents a network endpoint exposed by a container that could be
exploited by an attacker (via means known or unknown). This can correspond
to a Kubernetes service, node service, node port, or container port.
attck:
- id: T1210
name: Exploitation of Remote Services
- label: PERMISSION_DISCOVER
description: Discover permissions granted to an identity.
attck:
- id: T1069
name: Permission Groups Discovery
- label: EXPLOIT_HOST_TRAVERSE
description: >-
This attack represents the ability to steal a K8s API token from a
container via access to a mounted parent volume of the
/var/lib/kubelet/pods directory.
attck:
- id: T1552
name: Unsecured Credentials
- label: TOKEN_STEAL
description: >-
This attack represents the ability to steal a K8s API token from an
accessible volume.
attck:
- id: T1552
name: Unsecured Credentials
- label: ROLE_BIND
description: Bind a role to an identity.
attck:
- id: T1078
name: Valid Accounts
- label: IDENTITY_IMPERSONATE
description: Impersonate an identity.
attck:
- id: T1078
name: Valid Accounts
- label: POD_ATTACH
description: Attach to a running pod to execute commands or inspect the pod.
attck:
- id: TA0008
name: Lateral Movement
- label: POD_CREATE
description: Create a pod on a node.
attck:
- id: TA0008
name: Lateral Movement
- label: POD_EXEC
description: Execute a command in a pod.
attck:
- id: TA0008
name: Lateral Movement
- label: POD_PATCH
description: Patch a pod on a node.
attck:
- id: TA0008
name: Lateral Movement
- label: SHARE_PS_NAMESPACE
description: All containers in a pod share the same process namespace.
attck:
- id: TA0008
name: Lateral Movement
- label: TOKEN_BRUTEFORCE
description: Bruteforce a token.
attck:
- id: T1528
name: Steal Application Access Token
- label: TOKEN_LIST
description: List tokens.
attck:
- id: T1528
name: Steal Application Access Token
- label: VOLUME_ACCESS
description: Access a volume mounted in a container.
attck:
- id: T1613
name: Container and Resource Discovery
- label: VOLUME_DISCOVER
description: Discover volumes mounted in a container.
attck:
- id: T1613
name: Container and Resource Discovery

# Define the properties for each edge in the graph.
edgeProperties: []
Expand Down
Loading