isaiasvela/caldera_k8s_abilities
GitHub: isaiasvela/caldera_k8s_abilities
Stars: 0 | Forks: 0
# Caldera K8s Abilities
A Kubernetes-focused MITRE Caldera ability pack for realistic container and cluster attack simulation, designed to validate Falco runtime detection coverage using default Falco rules.
This repository was developed as part of a Bachelor's Thesis that evaluates Falco as a runtime security detection mechanism in cloud-native environments.
## What this project provides
- Kubernetes-specific Caldera abilities for adversary emulation
- Attack simulation scenarios that run inside containers and cluster workloads
- Validation guidance for Falco default rule detection coverage
- Reusable content for security research, detection engineering, and purple team testing
## Key goals
- Extend Caldera with Kubernetes-oriented attack techniques
- Simulate realistic container and Kubernetes threat activity
- Test Falco runtime alerts against those techniques
- Identify detection gaps and possible improvements
- Share reusable cloud-native attack emulation assets with the community
## Technologies used
- Kubernetes
- MITRE Caldera
- Falco
- Docker / Containers
- Linux
- MITRE ATT&CK
- Bash / Python
## Repository layout
caldera_k8s_abilities
├── app/
│ ├── parsers/
│ └── requirements/
├── data/
│ └── abilities/
│ ├── credential-access/
│ └── discovery/
├── hook.py
└── README.md
## Available Kubernetes abilities
| Ability | Description | ATT&CK Technique |
| ------------------------------------- | ------------------------------------------------------- | ---------------- |
| K8s - Detect environment | Detect if running inside a Kubernetes pod | T1613 |
| K8s - Obtain token | Obtain Kubernetes token from service account | T1613 |
| K8s - Access API server | Access Kubernetes API server | T1613 |
| K8s - Enumerate environment information | Enumerate environment information from a pod | T1613 |
| K8s - Probe internal services | Attempt HTTP requests against discovered Kubernetes services | T1046 |
| K8s - Internal port scan | Scan common ports on discovered services | T1046 |
| K8s - Probe Kubernetes DNS service | Attempt connection to CoreDNS service | T1046 |
## Usage
## Installation
1. Clone this repository into `caldera/plugins/`:
git clone https://github.com/isaiasvela/caldera_k8s_abilities caldera/plugins/caldera_k8s_abilities
2. Open `caldera/conf/default.yml` and add `caldera_k8s_abilities` to the `plugins` section.
plugins:
- caldera_k8s_abilities
## Integration notes
- The abilities in `data/abilities/` are grouped by technique category.
- `credential-access/` contains simulated Kubernetes credential abuse scenarios.
- `discovery/` contains environment and container enumeration capabilities.
- `hook.py` and the `app/` helper modules support Caldera ability parsing and execution.
## Research focus
This project emphasizes runtime detection validation rather than offensive exploitation. It is meant to help:
- Security engineers
- DevSecOps teams
- Detection engineers
- Cloud security practitioners
- Students and researchers
understand Kubernetes runtime threats and assess Falco default rule behavior.
## Disclaimer
- For educational use only.
- For defensive security research and detection engineering.
- Only use against systems you own or have explicit permission to test.
## Author
**Isaías Vela**
Cloud • DevSecOps • Security Engineering