Project 04 β Kubernetes & Container Enterprise Compromise Assessment
Welcome
Section titled βWelcomeβWelcome to Project 04 β Kubernetes & Container Enterprise Compromise Assessment.
In the previous projects, you assessed the identity and privilege models of the three major cloud platforms:
AWS βIAM UsersIAM RolesWorkload Roles
Azure βMicrosoft Entra IDAzure RBACManaged Identities
Google Cloud βCloud IAMService AccountsWorkload IdentityProject 04 moves deeper into the cloud-native application stack.
You will investigate what happens when an attacker gains control of:
Application βContainer βPod βKubernetes Identity βKubernetes RBAC βCluster Resources βWorkload Identity βCloud IAM βSensitive Cloud ResourceThis is where application security, container security, Kubernetes security, and cloud IAM begin to converge.
Your objective is to answer:
Can compromise of an application or container cross Kubernetes trust boundaries and ultimately provide access to privileged cluster or cloud resources?
Mission Information
Section titled βMission InformationβProject
Section titled βProjectβKubernetes & Container Enterprise Compromise Assessment
Platform
Section titled βPlatformβCloudNova
Difficulty
Section titled βDifficultyβAdvanced
Estimated Time
Section titled βEstimated Timeβ5β7 hours
Primary Skills
Section titled βPrimary Skillsβ-
Kubernetes reconnaissance
-
Cluster architecture analysis
-
Namespace discovery
-
Workload enumeration
-
Container security assessment
-
Kubernetes RBAC analysis
-
Service account analysis
-
Kubernetes Secrets review
-
Pod security assessment
-
NetworkPolicy analysis
-
Container privilege analysis
-
Workload identity assessment
-
Cloud IAM correlation
-
Attack-path development
-
Evidence collection
-
Enterprise reporting
Mission Objective
Section titled βMission ObjectiveβA fictional organisation operates a Kubernetes-based application environment inside CloudNova.
The environment resembles:
Internet β β Load Balancer β β Ingress β βββββββββ΄ββββββββ β β Web Pod API Pod β β βββββββββ¬ββββββββ β Data LayerHowever, workloads also interact with Kubernetes and cloud identities:
Application βContainer βPod βKubernetes Service Account βKubernetes RBAC βKubernetes APIand potentially:
Pod βWorkload Identity βCloud IAM Role / Managed Identity / Service Account βCloud ResourceThe organisation is concerned about:
-
Overprivileged Kubernetes service accounts
-
Excessive Kubernetes RBAC
-
Privileged containers
-
Dangerous pod configurations
-
Weak namespace isolation
-
Excessive Secrets exposure
-
Missing NetworkPolicies
-
Workload identity privilege
-
Cloud IAM integration
-
Weak container hardening
-
Excessive cluster administrative access
-
Poor logging and detection
Your mission is to determine whether these weaknesses combine into meaningful enterprise compromise paths.
Starting Position
Section titled βStarting PositionβYou begin with authorised access to the CloudNova Kubernetes training environment.
Example:
Cluster:cloudnova-enterprise
Starting Context:cloudnova-student
Namespace:development
Privilege:Limited
Objective:Determine whether application, container,Kubernetes, identity, and cloud relationshipscreate unintended privilege paths.Rules of Engagement
Section titled βRules of EngagementβAllowed:
Cluster discovery
Namespace enumeration
Workload enumeration
RBAC review
Service account review
Pod security review
Container configuration review
Secrets permission analysis
NetworkPolicy review
Workload identity analysis
Cloud IAM relationship analysis
Controlled security validation
Evidence collectionNot allowed unless explicitly required by CloudNova:
Denial of Service
Deleting workloads
Deleting namespaces
Deleting Secrets
Disabling security controls
Disrupting cluster networking
Deploying persistent unauthorised access
Attacking unrelated clusters
Testing third-party infrastructure
Accessing unnecessary sensitive dataGolden Rule
Section titled βGolden RuleβFollow:
Minimum Necessary ValidationYour goal is to demonstrate the attack path.
Your goal is not to maximise cluster damage.
Project Success Criteria
Section titled βProject Success CriteriaβBy the end of the project, produce:
Kubernetes Architecture Diagram
Namespace Inventory
Workload Inventory
Container Security Assessment
Kubernetes RBAC Matrix
Service Account Inventory
Secrets Access Matrix
Pod Security Assessment
NetworkPolicy Assessment
Workload Identity Map
Cloud IAM Relationship Map
Attack Path Register
Evidence Register
Findings Register
Enterprise Kubernetes Security ReportPhase 01 β Prepare Your Project Workspace
Section titled βPhase 01 β Prepare Your Project WorkspaceβCreate:
Project 04 - Kubernetes Enterprise Assessment/ββββ 01 Engagementβββ 02 Architectureβββ 03 Cluster Discoveryβββ 04 Namespacesβββ 05 Workloadsβββ 06 Containersβββ 07 RBACβββ 08 Service Accountsβββ 09 Secretsβββ 10 Pod Securityβββ 11 Network Securityβββ 12 Workload Identityβββ 13 Cloud IAMβββ 14 Loggingβββ 15 Attack Pathsβββ 16 Evidenceβββ 17 Findingsβββ 18 Reportβββ 19 RetestInside 01 Engagement create:
Scope.mdRules-of-Engagement.mdObjectives.mdTesting-Notes.mdPhase 02 β Document Scope
Section titled βPhase 02 β Document ScopeβRecord:
Platform:Kubernetes
Environment:CloudNova
Cluster:<CLUSTER>
Starting Context:<CONTEXT>
Authorised Namespaces:<NAMESPACES>
Cloud Platform:<AWS / AZURE / GCP / LAB>
In Scope:Cluster ConfigurationNamespacesPodsDeploymentsContainersRBACService AccountsSecrets PermissionsNetworkPoliciesWorkload IdentityApproved Cloud Resources
Out of Scope:Other ClustersThird-Party InfrastructureDoSDestructive OperationsUnapproved Cloud AccountsPhase 03 β Confirm Kubernetes Context
Section titled βPhase 03 β Confirm Kubernetes ContextβBefore interacting with the cluster, determine:
Which cluster am I connected to?
Use:
kubectl config current-contextReview available contexts:
kubectl config get-contextsDo not switch to or interact with clusters outside CloudNova scope.
Phase 04 β Record Cluster Context
Section titled βPhase 04 β Record Cluster ContextβCreate:
| Field | Value |
|---|---|
| Cluster | cloudnova-enterprise |
| Context | cloudnova-student |
| Starting Namespace | development |
| Starting Identity | <identity> |
| Cloud Platform | <platform> |
| Effective Privilege | Unknown |
Again:
Effective Privilege:UnknownThat is one of the main things you will determine.
Phase 05 β Understand Kubernetes Architecture
Section titled βPhase 05 β Understand Kubernetes ArchitectureβBefore testing, understand the basic architecture:
Kubernetes Cluster β ββββββββββββββββ΄βββββββββββββββ β β Control Plane Worker Nodes β β API Server kubelet Scheduler β Controllers β etcd Pods / ContainersThe Kubernetes API server is the central security control point.
Conceptually:
User / Workload βAuthentication βKubernetes API βAuthorization βAdmission Control βResourcePhase 06 β Discover Cluster Information
Section titled βPhase 06 β Discover Cluster InformationβStart with:
kubectl cluster-infoThen:
kubectl versionRecord:
Cluster
Control Plane Endpoint
Client Version
Server Version
Authorised ContextDo not treat version information alone as a vulnerability.
Phase 07 β Discover Nodes
Section titled βPhase 07 β Discover NodesβWhere authorised:
kubectl get nodesFor more information:
kubectl get nodes -o wideCreate:
| Node | Role | Version | Internal IP | External IP |
|---|---|---|---|---|
| worker01 | Worker | <version> |
10.10.1.10 | None |
| worker02 | Worker | <version> |
10.10.1.11 | None |
Phase 08 β Discover Namespaces
Section titled βPhase 08 β Discover NamespacesβUse:
kubectl get namespacesPossible environment:
default
development
production
monitoring
security
kube-systemCreate:
| Namespace | Purpose | Criticality | Accessible? |
|---|---|---|---|
| development | Development | Medium | Yes |
| production | Production | Critical | Review |
| monitoring | Monitoring | High | Review |
| security | Security tooling | Critical | Review |
| kube-system | Cluster services | Critical | Review |
Phase 09 β Namespace Security Boundaries
Section titled βPhase 09 β Namespace Security BoundariesβNamespaces provide organisational and policy boundaries.
But remember:
A namespace is not automatically a complete security boundary.
Effective isolation depends on:
RBAC
NetworkPolicies
Pod Security
Secrets Access
Workload Identity
Resource ConfigurationPhase 10 β Discover Workloads
Section titled βPhase 10 β Discover WorkloadsβFor your authorised namespace:
kubectl get podsThen:
kubectl get deploymentsand where permitted:
kubectl get servicesBuild:
| Workload | Type | Namespace | Service Account | Exposure |
|---|---|---|---|---|
| web-app | Deployment | development | web-sa | Ingress |
| api-app | Deployment | development | api-sa | Internal |
| worker | Deployment | development | worker-sa | Internal |
Phase 11 β Expand the Inventory
Section titled βPhase 11 β Expand the InventoryβWhere authorised:
kubectl get pods,deployments,services -n developmentFor a broader approved inventory:
kubectl get pods -AOnly use cluster-wide enumeration where your supplied permissions and CloudNova scope allow it.
Phase 12 β Inspect a Pod
Section titled βPhase 12 β Inspect a PodβUse:
kubectl describe pod <POD-NAME> -n <NAMESPACE>Record:
Namespace
Container Images
Service Account
Volumes
Environment Sources
Security Context
Node
Network InformationDo not copy sensitive values unnecessarily.
Phase 13 β Workload Architecture Map
Section titled βPhase 13 β Workload Architecture MapβBuild:
Ingress βweb-app βweb-sa β βapi-app βapi-sa β βData ServicesThen add Kubernetes permissions.
Phase 14 β Container Image Review
Section titled βPhase 14 β Container Image ReviewβFor each workload identify:
Image Registry
Image Name
Tag
Digest
Image Source
Runtime UserAsk:
Is :latest Used?
Is the Image Trusted?
Is It Signed?
Is It Scanned?
Does It Run as Root?
Is the Image Larger Than Necessary?
Are Unnecessary Tools Installed?Phase 15 β Container Security Model
Section titled βPhase 15 β Container Security ModelβThink:
Container Image βRuntime Configuration βLinux Process βContainer Isolation βHost KernelContainers do not provide the same isolation boundary as independent virtual machines.
Phase 16 β Container Runtime Identity
Section titled βPhase 16 β Container Runtime IdentityβReview:
runAsUser
runAsGroup
runAsNonRoot
privileged
allowPrivilegeEscalationExample secure direction:
securityContext: runAsNonRoot: true allowPrivilegeEscalation: falseThe exact configuration depends on application requirements.
Phase 17 β Privileged Containers
Section titled βPhase 17 β Privileged ContainersβA privileged container can significantly weaken isolation.
Security question:
Does This Workload NeedPrivileged Host-Level Capability?If not:
Remove Privileged ModeDo not attempt destructive host escape techniques.
Configuration evidence may already be sufficient to demonstrate risk.
Phase 18 β Linux Capabilities
Section titled βPhase 18 β Linux CapabilitiesβContainers may receive additional Linux capabilities.
Review:
Added Capabilities
Dropped Capabilities
Application RequirementSecure direction:
Drop Unnecessary CapabilitiesIdeally:
Drop ALL βAdd Only Requiredwhere compatible with the workload.
Phase 19 β Host Namespace Sharing
Section titled βPhase 19 β Host Namespace SharingβReview whether pods use:
hostNetwork
hostPID
hostIPCThese settings can reduce isolation.
Ask:
Why does the workload require access to the host namespace?
Phase 20 β HostPath Volumes
Section titled βPhase 20 β HostPath VolumesβPay particular attention to:
hostPathConceptually:
Container βHostPath βNode FilesystemThis can create a powerful trust relationship.
Do not modify host files during the assessment.
Phase 21 β Writable Host Mounts
Section titled βPhase 21 β Writable Host MountsβA writable host mount can represent significantly more risk than a read-only application volume.
Document:
Mount Path
Host Path
Read/Write
Business Requirement
Workload PrivilegePhase 22 β Kubernetes Service Accounts
Section titled βPhase 22 β Kubernetes Service AccountsβEvery pod operates in a Kubernetes identity context.
Conceptually:
Pod βKubernetes Service Account βRBAC βKubernetes APIThis identity must be mapped for every important workload.
Phase 23 β Inventory Service Accounts
Section titled βPhase 23 β Inventory Service AccountsβUse:
kubectl get serviceaccounts -n <NAMESPACE>Where authorised across the cluster:
kubectl get serviceaccounts -ACreate:
| Service Account | Namespace | Workload | RBAC | Cloud Identity |
|---|---|---|---|---|
| web-sa | development | web-app | Limited | web-role |
| api-sa | development | api-app | Review | api-role |
| deploy-sa | development | CI/CD | Elevated | deployment-role |
Phase 24 β Default Service Account
Section titled βPhase 24 β Default Service AccountβCheck whether workloads unnecessarily use:
defaultExample:
Pod βdefault ServiceAccountDedicated service accounts make:
Least Privilege
Auditability
Workload Separationeasier to implement.
Phase 25 β Token Automounting
Section titled βPhase 25 β Token AutomountingβDetermine whether workloads require automatic service account credentials.
Conceptually:
Pod βService Account Credential βKubernetes APIIf the application never needs Kubernetes API access, ask:
Does it need this identity credential available inside the pod?
Phase 26 β Kubernetes RBAC
Section titled βPhase 26 β Kubernetes RBACβRBAC uses:
Subject βRole / ClusterRole βRoleBinding / ClusterRoleBinding βPermissionsThis is the Kubernetes equivalent of a major identity graph.
Phase 27 β Discover Roles
Section titled βPhase 27 β Discover RolesβWhere authorised:
kubectl get roles -Aand:
kubectl get clusterrolesDo not assume that every ClusterRole is dangerous.
Understand how it is bound.
Phase 28 β Discover Bindings
Section titled βPhase 28 β Discover BindingsβUse:
kubectl get rolebindings -Aand where authorised:
kubectl get clusterrolebindingsBuild:
Subject βBinding βRole βPermission βResourcePhase 29 β RBAC Permission Analysis
Section titled βPhase 29 β RBAC Permission AnalysisβFor each important role analyse:
apiGroups
resources
verbs
resourceNames
namespace / cluster scopeImportant verbs may include:
get
list
watch
create
update
patch
deleteThe security significance depends on the resource being controlled.
Phase 30 β Check Effective Permissions
Section titled βPhase 30 β Check Effective PermissionsβFor your current authorised identity:
kubectl auth can-i --listFor specific questions:
kubectl auth can-i get pods -n developmentor:
kubectl auth can-i list secrets -n developmentThis is extremely useful because it answers:
What can this identity actually do?
Phase 31 β RBAC Matrix
Section titled βPhase 31 β RBAC MatrixβCreate:
| Subject | Permission | Resource | Scope | Security Question |
|---|---|---|---|---|
| student | get/list | pods | development | Recon |
| student | update | deployments | development | Workload control? |
| web-sa | get | configmaps | development | Required |
| api-sa | get | secrets | development | Excessive? |
Phase 32 β Wildcard Permissions
Section titled βPhase 32 β Wildcard PermissionsβReview carefully:
verbs: - "*"or:
resources: - "*"But do not report wildcards without context.
Ask:
Which Subject?
Which Scope?
Which Resources?
Why Is It Required?
What Attack Path Does It Enable?Phase 33 β Cluster-Level Permissions
Section titled βPhase 33 β Cluster-Level PermissionsβCluster-wide RBAC deserves particular attention.
Conceptually:
Service Account βClusterRoleBinding βBroad Cluster PermissionIf a normal application workload possesses cluster-wide control, investigate carefully.
Phase 34 β RBAC Hypothesis
Section titled βPhase 34 β RBAC HypothesisβSuppose:
student βCan Update Deployment βapi-appand:
api-app βapi-saand:
api-sa βCan Read Selected SecretsPotential hypothesis:
student βWorkload Control βapi-app βapi-sa βSecret AccessDo not immediately modify the deployment.
First determine whether configuration evidence sufficiently demonstrates the relationship.
Phase 35 β Create the Hypothesis Register
Section titled βPhase 35 β Create the Hypothesis Registerβ| ID | Hypothesis | Evidence | Status |
|---|---|---|---|
| K8S-H-001 | Developer can indirectly use api-sa | Deployment + RBAC | Investigate |
| K8S-H-002 | api-sa has excessive secret access | Role | Investigate |
| K8S-H-003 | Web pod may reach data namespace | NetworkPolicy | Investigate |
| K8S-H-004 | Workload identity may access cloud secrets | Cloud IAM | Investigate |
Phase 36 β Kubernetes Secrets
Section titled βPhase 36 β Kubernetes SecretsβInventory only where authorised:
kubectl get secrets -n <NAMESPACE>Start with metadata.
Do not retrieve secret values unnecessarily.
Phase 37 β Secrets Security Questions
Section titled βPhase 37 β Secrets Security QuestionsβAsk:
Which Secrets Exist?
Which Workloads Need Them?
Which Service Accounts Can Read Them?
Who Can Modify Them?
Are Secrets Shared Across Applications?
Are Secrets Synced From External Secret Stores?
Are Sensitive Values Exposed Through Environment Variables?Phase 38 β Secret Access Is Not the Final Impact
Section titled βPhase 38 β Secret Access Is Not the Final ImpactβExample:
Compromised Pod βKubernetes Secret βDatabase Credential βDatabaseor:
Compromised Pod βCloud Credential βCloud IAM βSensitive ResourceAlways understand what the secret protects.
Phase 39 β Secret Handling
Section titled βPhase 39 β Secret HandlingβDo not place actual sensitive values in:
Screenshots
Reports
Shared Notes
Ticketing Systems
Git RepositoriesUse:
REDACTEDor evidence that proves access without reproducing the value.
Phase 40 β ConfigMaps
Section titled βPhase 40 β ConfigMapsβConfigMaps are not intended for secret storage.
Review whether they contain:
Passwords
Tokens
API Keys
Private Credentials
Connection Strings With SecretsIf they do, document the security design issue.
Phase 41 β Environment Variables
Section titled βPhase 41 β Environment VariablesβInspect workload definitions for references to:
env
envFrom
secretKeyRef
configMapKeyRefThe question is:
Is sensitive configuration delivered to only the workloads that require it?
Phase 42 β Pod Security
Section titled βPhase 42 β Pod SecurityβAssess workload security contexts for:
runAsNonRoot
allowPrivilegeEscalation
privileged
capabilities
seccompProfile
readOnlyRootFilesystem
hostNetwork
hostPID
hostIPC
hostPathPhase 43 β Pod Security Standards
Section titled βPhase 43 β Pod Security StandardsβThink in terms of progressively stronger controls such as:
Privileged
Baseline
RestrictedYour task is not simply to assign a label.
Determine whether workload configuration matches its actual risk.
Phase 44 β Admission Controls
Section titled βPhase 44 β Admission ControlsβEnterprise clusters may enforce workload security through mechanisms such as:
Pod Security Admission
OPA Gatekeeper
Kyverno
Cloud Provider PoliciesAsk:
Are Security Policies Enforced?
Which Namespaces?
Can Developers Bypass Them?
Are Exceptions Documented?Phase 45 β Deployment Security Review
Section titled βPhase 45 β Deployment Security ReviewβInspect:
kubectl get deployment <DEPLOYMENT> \ -n <NAMESPACE> \ -o yamlReview:
Image
Service Account
Security Context
Volumes
Environment Sources
Resource Limits
Probes
Labels
SelectorsAvoid storing sensitive values from the output.
Phase 46 β Resource Limits
Section titled βPhase 46 β Resource LimitsβReview whether workloads define:
CPU Requests
Memory Requests
CPU Limits
Memory LimitsThis is primarily resilience and resource-governance related, but it forms part of secure workload configuration.
Phase 47 β Image Pull Policy
Section titled βPhase 47 β Image Pull PolicyβReview:
imagePullPolicyand image-tagging practices.
Prefer deterministic deployment practices over uncontrolled mutable images.
Phase 48 β Image Registry Security
Section titled βPhase 48 β Image Registry SecurityβAsk:
Where Are Images Stored?
Who Can Push?
Who Can Pull?
Are Images Scanned?
Are Images Signed?
Are Production Images Immutable?
Can Developers Replace Trusted Images?This introduces a supply-chain attack path.
Phase 49 β Container Supply Chain Path
Section titled βPhase 49 β Container Supply Chain PathβExample:
Developer βRegistry Push βTrusted Image βProduction Deployment βPrivileged WorkloadThis may be more important than an individual container vulnerability.
Phase 50 β NetworkPolicies
Section titled βPhase 50 β NetworkPoliciesβList:
kubectl get networkpolicies -AAsk:
Which Namespaces Have Policies?
Is Default-Deny Used?
Which Pods Can Communicate?
Is Egress Restricted?
Can Development Reach Production?
Can Application Pods Reach Management Services?Phase 51 β Network Segmentation Model
Section titled βPhase 51 β Network Segmentation ModelβWithout adequate controls:
Compromised Pod βOther Pods βInternal Services βSensitive SystemsWith intentional segmentation:
Web Pod βAPI Pod βDatabase
Other Paths XPhase 52 β Build a Kubernetes Network Matrix
Section titled βPhase 52 β Build a Kubernetes Network MatrixβCreate:
| Source | Destination | Port | Expected | Observed |
|---|---|---|---|---|
| Ingress | web-app | 443 | Allow | Allow |
| web-app | api-app | 8080 | Allow | Allow |
| web-app | database | 5432 | Deny | Review |
| development | production | Any | Deny | Review |
| app | metadata/cloud APIs | Required only | Review | Review |
Phase 53 β Egress Security
Section titled βPhase 53 β Egress SecurityβDo not focus only on inbound traffic.
A compromised workload may attempt to reach:
Internal APIs
Cloud APIs
Metadata Services
Databases
External ServicesTherefore ask:
Where can this pod initiate connections?
Phase 54 β Kubernetes DNS
Section titled βPhase 54 β Kubernetes DNSβInternal service discovery often uses Kubernetes DNS.
Conceptually:
Pod βDNS βService Name βInternal ApplicationNetwork segmentation should account for internal service discovery.
Phase 55 β Ingress Security
Section titled βPhase 55 β Ingress SecurityβReview:
Ingress Resources
TLS
Hostnames
Backend Services
Authentication
Administrative EndpointsPublic exposure must be intentional.
Phase 56 β Workload Identity
Section titled βPhase 56 β Workload IdentityβNow connect Kubernetes to cloud IAM.
Modern managed Kubernetes environments may use mechanisms such as:
AWS βPod Identity / IAM Integration
Azure βMicrosoft Entra Workload Identity
Google Cloud βWorkload Identity FederationThe exact implementation depends on the CloudNova project.
Phase 57 β Identity Layers
Section titled βPhase 57 β Identity LayersβA pod may have multiple identity contexts:
Container Process Identity βKubernetes Service Account βWorkload Identity βCloud IAM IdentityEach layer must be understood.
Phase 58 β Workload Identity Map
Section titled βPhase 58 β Workload Identity MapβCreate:
| Pod | K8s SA | Cloud Identity | Cloud Permission | Critical Resource |
|---|---|---|---|---|
| web-app | web-sa | web-role | Storage Read | Assets |
| api-app | api-sa | app-role | Secret Read | App Secret |
| worker | worker-sa | processor-role | Queue/Data | Processing |
Phase 59 β Cloud IAM Questions
Section titled βPhase 59 β Cloud IAM QuestionsβFor every workload identity ask:
Which Kubernetes Service Account Maps to It?
Which Namespace?
Which Workloads Can Use That Service Account?
What Cloud Permissions Exist?
Which Cloud Resources Are Reachable?
Can the Cloud Identity Assume Another Identity?
Who Can Modify the Kubernetes Workload?Phase 60 β Cross-Layer Attack Path
Section titled βPhase 60 β Cross-Layer Attack PathβSuppose:
Developer βCan Modify api-app βapi-app βapi-sa βCloud Workload Identity βSecret ManagerPotential path:
Developer βKubernetes Workload Control βKubernetes Identity βCloud Identity βCloud SecretThis is one of the most important patterns in the entire project.
Phase 61 β Kubernetes-to-AWS Example
Section titled βPhase 61 β Kubernetes-to-AWS ExampleβConceptually:
Pod βKubernetes Service Account βAWS Workload Identity βIAM Role βS3 / Secrets ManagerAssess:
K8s Identity Scope
IAM Trust
IAM Permissions
Resource ScopePhase 62 β Kubernetes-to-Azure Example
Section titled βPhase 62 β Kubernetes-to-Azure ExampleβConceptually:
Pod βKubernetes Service Account βWorkload Federation βManaged / Application Identity βAzure RBAC βKey Vault / StoragePhase 63 β Kubernetes-to-GCP Example
Section titled βPhase 63 β Kubernetes-to-GCP ExampleβConceptually:
Pod βKubernetes Service Account βWorkload Identity βGoogle Cloud Service Account / Principal βCloud IAM βSecret Manager / StoragePhase 64 β Cloud Identity Is a Privilege Boundary
Section titled βPhase 64 β Cloud Identity Is a Privilege BoundaryβNever assume:
Pod Compromiseends at Kubernetes.
It may become:
Pod Compromise βCloud Identity βCloud Resource AccessThis is why cloud and Kubernetes assessments should not be performed in isolation.
Phase 65 β Node Security
Section titled βPhase 65 β Node SecurityβReview node architecture conceptually:
Worker Nodeββββ kubeletβββ Container Runtimeβββ Pod Aβββ Pod Bβββ Pod CAsk:
Are Nodes Dedicated?
Are Sensitive Workloads Separated?
Are Node Images Hardened?
Are Nodes Patched?
Are Management Interfaces Restricted?Phase 66 β Node Access
Section titled βPhase 66 β Node AccessβNode-level administrative access is highly privileged.
Determine:
Who Can Administer Nodes?
How Is Access Authenticated?
Is Access Logged?
Are Nodes Publicly Reachable?
Are Administrative Paths Restricted?Phase 67 β Kubernetes API Exposure
Section titled βPhase 67 β Kubernetes API ExposureβReview:
API Endpoint Exposure
Public vs Private
Authorised Networks
Authentication
RBAC
Audit LoggingA public control-plane endpoint is not automatically a vulnerability.
The entire control set must be considered.
Phase 68 β etcd Security
Section titled βPhase 68 β etcd SecurityβConceptually:
Kubernetes API βetcd βCluster Stateetcd contains highly sensitive cluster state.
Assess architecture and controls such as:
Network Restriction
Encryption
Authentication
Backup SecurityDo not directly access etcd unless CloudNova specifically provides an isolated exercise for it.
Phase 69 β Secrets Encryption
Section titled βPhase 69 β Secrets EncryptionβKubernetes Secrets are not magically protected merely because the resource type is named Secret.
Review whether the environment provides appropriate:
Encryption at Rest
KMS Integration
RBAC
External Secret ManagementPhase 70 β External Secret Stores
Section titled βPhase 70 β External Secret StoresβEnterprise environments may use:
AWS Secrets Manager
Azure Key Vault
Google Secret Manager
HashiCorp Vaultwith Kubernetes.
This creates:
Pod βWorkload Identity βExternal Secret StoreAssess both sides of the trust relationship.
Phase 71 β CI/CD Relationships
Section titled βPhase 71 β CI/CD RelationshipsβKubernetes environments frequently depend on:
Git Repository βCI/CD βContainer Registry βDeployment βKubernetesAsk:
Who Can Change Deployment Manifests?
Who Can Push Images?
Who Can Deploy to Production?
Which CI/CD Identity Is Used?
What Kubernetes Permissions Does It Have?
What Cloud Permissions Does It Have?Phase 72 β CI/CD Attack Path
Section titled βPhase 72 β CI/CD Attack PathβExample:
Developer βPipeline Control βDeployment Identity βKubernetes Production βPrivileged WorkloadThis can be an enterprise attack path even if the cluster itself is well hardened.
Phase 73 β Kubernetes Attack Surface Map
Section titled βPhase 73 β Kubernetes Attack Surface MapβYour map may now resemble:
Internet β βIngress β βweb-app β βββ web-sa β βapi-app β βββ api-sa β βData Service
Kubernetes API β βRBAC β βUsers / Service Accounts
Cloud IAM β βWorkload Identity β βapi-saPhase 74 β Build the Identity Graph
Section titled βPhase 74 β Build the Identity GraphβExample:
developer β βββ Deployment Update β api-app β api-sa β βββ Kubernetes Secret Read β βββ Cloud Workload Identity β app-role β Cloud SecretNow you can see the complete enterprise relationship.
Phase 75 β Attack Path 01
Section titled βPhase 75 β Attack Path 01βDeveloper β Workload β Kubernetes Service Account β Secret
Section titled βDeveloper β Workload β Kubernetes Service Account β SecretβDeveloper βDeployment Modification βAPI Workload βapi-sa βSecret Read Permission βSensitive Application SecretDocument every transition.
Phase 76 β Attack Path 02
Section titled βPhase 76 β Attack Path 02βContainer β Excessive RBAC β Cluster Resources
Section titled βContainer β Excessive RBAC β Cluster ResourcesβCompromised Application βContainer βService Account βBroad Kubernetes RBAC βSensitive Cluster ResourcePhase 77 β Attack Path 03
Section titled βPhase 77 β Attack Path 03βPod β Workload Identity β Cloud Resource
Section titled βPod β Workload Identity β Cloud ResourceβCompromised Pod βKubernetes Service Account βCloud Workload Identity βCloud IAM βSensitive Storage / SecretPhase 78 β Attack Path 04
Section titled βPhase 78 β Attack Path 04βDeveloper β Container Registry β Production Workload
Section titled βDeveloper β Container Registry β Production WorkloadβDeveloper βRegistry Write βProduction Image βProduction Deployment βPrivileged Workload IdentityThis demonstrates why supply-chain permissions matter.
Phase 79 β Attack Path 05
Section titled βPhase 79 β Attack Path 05βNamespace β Missing Network Isolation β Sensitive Service
Section titled βNamespace β Missing Network Isolation β Sensitive ServiceβCompromised Development Pod βMissing / Weak NetworkPolicy βProduction-Like Service βSensitive ApplicationPhase 80 β Attack Path Register
Section titled βPhase 80 β Attack Path RegisterβCreate:
| ID | Start | Transition | Target | Status | Risk |
|---|---|---|---|---|---|
| K8S-AP-001 | Developer | Workload β api-sa | Secret | Validated | High |
| K8S-AP-002 | Pod | Broad RBAC | Cluster Resource | Investigate | TBD |
| K8S-AP-003 | Pod | Workload Identity | Cloud Secret | Validated | Critical/High |
| K8S-AP-004 | Developer | Registry β Deployment | Privileged Workload | Investigate | TBD |
| K8S-AP-005 | Dev Pod | Network Path | Sensitive Service | Validated | High |
Phase 81 β Identify Choke Points
Section titled βPhase 81 β Identify Choke PointsβPotential remediation choke points:
Developer Deployment Permission
api-sa Kubernetes RBAC
Workload Identity Mapping
Cloud IAM Role
NetworkPolicy
Registry Write PermissionExample:
Attack Path 01 βββ βAttack Path 02 βββΌβββ api-sa βAttack Path 03 βββReducing api-sa privilege may break several attack paths simultaneously.
Phase 82 β Controlled Validation Decision
Section titled βPhase 82 β Controlled Validation DecisionβFor every path:
Security Hypothesis βConfiguration Evidence βEnough? ββββββ΄βββββ Yes No β βStop Safe Test? β ββββ΄βββ Yes No β β Minimal Document Test Potential Risk β Evidence β StopPhase 83 β Evidence Collection
Section titled βPhase 83 β Evidence CollectionβUse evidence IDs:
K8S-EV-001Cluster context
K8S-EV-002Namespace inventory
K8S-EV-003Workload inventory
K8S-EV-004Service account mapping
K8S-EV-005Role definition
K8S-EV-006Role binding
K8S-EV-007Pod security configuration
K8S-EV-008NetworkPolicy configuration
K8S-EV-009Workload identity relationship
K8S-EV-010Cloud IAM permission
K8S-EV-011Controlled validationPhase 84 β Evidence Template
Section titled βPhase 84 β Evidence TemplateβEvidence ID:K8S-EV-009
Timestamp:<DATE/TIME>
Cluster:cloudnova-enterprise
Namespace:development
Workload:api-app
Observation:The workload uses Kubernetes service account api-sa,which maps to a cloud workload identity.
Security Relevance:The mapped cloud identity can access a sensitivesynthetic secret outside the application's expected requirement.
Attack Path:K8S-AP-003
Sensitive Data Collected:NonePhase 85 β Finding Example 01
Section titled βPhase 85 β Finding Example 01βK8S-001 β Application Workload Uses an Overprivileged Kubernetes Service Account
Section titled βK8S-001 β Application Workload Uses an Overprivileged Kubernetes Service AccountβObservation
Section titled βObservationβAn application workload operates using a Kubernetes service account with permissions beyond its documented operational requirements.
Attack Scenario
Section titled βAttack ScenarioβCompromise of the application could provide an attacker with access to the service accountβs effective Kubernetes permissions.
The attacker may be able to interact with sensitive cluster resources beyond the applicationβs intended boundary.
Root Cause
Section titled βRoot CauseβInsufficient workload-specific RBAC.
Recommendation
Section titled βRecommendationβAssign a dedicated service account and restrict its RBAC permissions to the minimum resources and verbs required.
Phase 86 β Finding Example 02
Section titled βPhase 86 β Finding Example 02βK8S-002 β Developer Workload Control Creates an Indirect Privilege Path
Section titled βK8S-002 β Developer Workload Control Creates an Indirect Privilege PathβObservation
Section titled βObservationβA development identity can modify a workload operating under a more privileged Kubernetes service account.
Attack Scenario
Section titled βAttack ScenarioβCompromise of the development identity could allow the attacker to influence a workload with higher Kubernetes privileges than those granted directly to the developer.
Root Cause
Section titled βRoot CauseβInsufficient separation between workload administration and workload identity privilege.
Recommendation
Section titled βRecommendationβRestrict modification of privileged workloads and separate development responsibilities from privileged Kubernetes identities.
Phase 87 β Finding Example 03
Section titled βPhase 87 β Finding Example 03βK8S-003 β Kubernetes Workload Identity Has Excessive Cloud IAM Permissions
Section titled βK8S-003 β Kubernetes Workload Identity Has Excessive Cloud IAM PermissionsβObservation
Section titled βObservationβA Kubernetes workload identity maps to a cloud identity possessing permissions beyond the workloadβs documented requirements.
Attack Scenario
Section titled βAttack ScenarioβCompromise of the pod could potentially extend beyond the Kubernetes cluster into sensitive cloud resources.
This weakness increases the blast radius from application compromise to cloud control-plane or data-plane access.
Recommendation
Section titled βRecommendationβRestrict the cloud identity to workload-specific resources and operations.
Phase 88 β Finding Example 04
Section titled βPhase 88 β Finding Example 04βK8S-004 β Container Runs With Excessive Runtime Privilege
Section titled βK8S-004 β Container Runs With Excessive Runtime PrivilegeβObservation
Section titled βObservationβA workload uses container security settings that provide privileges beyond those required by the application.
Excessive runtime privilege weakens container isolation and increases the impact of an application compromise.
Recommendation
Section titled βRecommendationβRun the workload as a non-root user, disable unnecessary privilege escalation, remove unnecessary Linux capabilities, and avoid privileged mode.
Phase 89 β Finding Example 05
Section titled βPhase 89 β Finding Example 05βK8S-005 β Namespace Lacks Effective Network Isolation
Section titled βK8S-005 β Namespace Lacks Effective Network IsolationβObservation
Section titled βObservationβWorkloads in the assessed namespace can establish network connections beyond documented application requirements.
Compromise of one workload may provide unnecessary access to other internal services.
Recommendation
Section titled βRecommendationβImplement default-deny NetworkPolicies and explicitly permit only required application flows.
Phase 90 β Finding Example 06
Section titled βPhase 90 β Finding Example 06βK8S-006 β Sensitive Information Stored in ConfigMap
Section titled βK8S-006 β Sensitive Information Stored in ConfigMapβObservation
Section titled βObservationβSensitive application configuration is stored in a Kubernetes ConfigMap rather than an approved secret-management mechanism.
Users or workloads with ordinary ConfigMap read permissions may gain access to sensitive configuration.
Recommendation
Section titled βRecommendationβMove sensitive values to Kubernetes Secrets or preferably the organisationβs approved external secret-management platform, with tightly scoped access.
Phase 91 β Finding Example 07
Section titled βPhase 91 β Finding Example 07βK8S-007 β Workload Uses Default Service Account Without Business Requirement
Section titled βK8S-007 β Workload Uses Default Service Account Without Business RequirementβObservation
Section titled βObservationβAn application uses the namespaceβs default Kubernetes service account despite not requiring Kubernetes API interaction.
Unnecessary workload credentials increase the potential impact of application compromise.
Recommendation
Section titled βRecommendationβUse a dedicated least-privilege service account and disable unnecessary automatic credential mounting.
Phase 92 β Finding Example 08
Section titled βPhase 92 β Finding Example 08βK8S-008 β Container Registry Permissions Permit Excessive Image Modification
Section titled βK8S-008 β Container Registry Permissions Permit Excessive Image ModificationβObservation
Section titled βObservationβA broad development identity can modify container images used by higher-value workloads.
Attack Scenario
Section titled βAttack ScenarioβCompromise of the development identity could influence software delivered to privileged Kubernetes workloads.
Recommendation
Section titled βRecommendationβRestrict production registry write access, implement image signing and verification, and enforce controlled CI/CD promotion.
Phase 93 β Positive Security Observations
Section titled βPhase 93 β Positive Security ObservationsβDocument successful controls.
Examples:
Dedicated Service Accounts β
Restricted Cluster RBAC β
Non-Root Containers β
NetworkPolicies Present β
Production Namespace Segmented β
Secrets Stored Externally β
Workload Identity Used Instead of Static Keys β
Kubernetes Audit Logging Enabled βPhase 94 β Logging and Detection
Section titled βPhase 94 β Logging and DetectionβImportant telemetry may include:
Kubernetes Audit Logs
Container Runtime Logs
Application Logs
Ingress Logs
Cloud Audit Logs
Cloud IAM Logs
Network Telemetry
Falco / Runtime Security
SIEMPhase 95 β Detection Questions
Section titled βPhase 95 β Detection QuestionsβFor each attack path ask:
What Action Occurs?
Which Kubernetes Event Records It?
Which Cloud Event Records It?
Which Detection Should Trigger?
Who Investigates?
What Evidence Remains?Phase 96 β Example Detection Chain
Section titled βPhase 96 β Example Detection ChainβUnexpected Deployment Modification βKubernetes Audit Log βDetection Rule βSIEM βSOC InvestigationAnother:
Unexpected Cloud Secret Access βCloud Audit Log βIdentity Analytics βAlertPhase 97 β Runtime Detection
Section titled βPhase 97 β Runtime DetectionβRuntime security can help detect suspicious behaviour inside containers.
Possible enterprise controls include:
Falco
Cloud Runtime Security
EDR for Containers
Kubernetes Audit AnalyticsThe objective is not to evade them.
Instead ask:
Would our authorised validation have generated meaningful security telemetry?
Phase 98 β Root Cause Analysis
Section titled βPhase 98 β Root Cause AnalysisβYour findings may reveal themes such as:
Overprivileged Kubernetes Identities
Weak Workload Isolation
Excessive Developer Permissions
Overprivileged Cloud Workload Identities
Weak Network Segmentation
Insecure Container Configuration
Poor Secret Governance
Weak Supply Chain Controls
Insufficient DetectionPhase 99 β Risk Prioritisation
Section titled βPhase 99 β Risk PrioritisationβConsider:
Initial Access Required
Application Exposure
Container Privilege
Kubernetes RBAC
Namespace Scope
Cloud IAM Privilege
Data Sensitivity
Network Reach
Attack Path Length
Detection Coverage
Business ImpactPhase 100 β Remediation Priorities
Section titled βPhase 100 β Remediation PrioritiesβImmediate
Section titled βImmediateβBreak validated critical attack paths
Reduce excessive Kubernetes RBAC
Reduce excessive cloud IAM
Restrict privileged containers
Protect exposed sensitive resources
Remove unnecessary secrets accessShort Term
Section titled βShort TermβDeploy NetworkPolicies
Review service accounts
Harden pod security
Improve namespace isolation
Review registry permissions
Strengthen workload identitiesStrategic
Section titled βStrategicβKubernetes Security Baselines
Policy as Code
Workload Identity Governance
Zero Trust Networking
Software Supply Chain Security
Centralised Kubernetes Logging
Continuous RBAC Reviews
Runtime Security MonitoringPhase 101 β Remediation Matrix
Section titled βPhase 101 β Remediation Matrixβ| Finding | Immediate | Strategic | Owner |
|---|---|---|---|
| K8S-001 | Reduce SA permissions | RBAC governance | Platform |
| K8S-002 | Restrict deployment control | Separation of duties | DevOps |
| K8S-003 | Reduce cloud IAM | Workload identity governance | Cloud Security |
| K8S-004 | Remove runtime privilege | Pod security baseline | App Team |
| K8S-005 | Add NetworkPolicy | Zero Trust networking | Platform |
| K8S-006 | Move sensitive config | Secret governance | Security |
| K8S-008 | Restrict registry write | Supply-chain controls | DevSecOps |
Phase 102 β Retesting
Section titled βPhase 102 β RetestingβBefore:
Developer βModify API Workload βapi-sa βCloud Workload Identity βSensitive SecretAfter:
Developer βRequired Deployment Actions β
API Workload βDedicated api-sa βRequired Kubernetes Resources β
api-sa βUnrelated Cloud Secret XPhase 103 β Retest Network Isolation
Section titled βPhase 103 β Retest Network IsolationβBefore:
Development Pod βProduction Service βAfter:
Development Pod βProduction Service Xwhile required application paths remain:
Web βAPI βDatabase βPhase 104 β Retest Status
Section titled βPhase 104 β Retest StatusβUse:
Resolved
Partially Resolved
Not Resolved
Risk AcceptedPhase 105 β Final Architecture Diagram
Section titled βPhase 105 β Final Architecture DiagramβYour final architecture may resemble:
Internet β β Ingress β β web-app β web-sa β β api-app β api-sa / \ β β Kubernetes Workload RBAC Identity β β Cloud IAM β ββββββββββ΄βββββββββ β β Storage Secrets
Developer β βββ Deployment Permission β api-appThis diagram should make security relationships visible immediately.
Phase 106 β Final Attack Narrative
Section titled βPhase 106 β Final Attack NarrativeβA professional narrative might read:
The assessment began with authorised development-level access to the CloudNova Kubernetes environment. Cluster and RBAC analysis identified that the development identity could modify an application workload operating under a dedicated Kubernetes service account. That service account was mapped through workload identity to a cloud IAM principal with access to a sensitive synthetic secret. The combined relationship created a cross-layer attack path from developer access through Kubernetes workload control and workload identity into the underlying cloud environment. The path resulted from excessive workload-management permissions and overprivileged workload identity rather than a single software vulnerability.
That is much stronger than:
Kubernetes was misconfigured.
Phase 107 β Enterprise Report Structure
Section titled βPhase 107 β Enterprise Report StructureβCreate:
Kubernetes & Container Enterprise Compromise Assessment
1. Executive Summary
2. Engagement Objectives
3. Scope
4. Rules of Engagement
5. Cluster Architecture
6. Methodology
7. Namespace Inventory
8. Workload Inventory
9. Container Security Assessment
10. Kubernetes RBAC Assessment
11. Service Account Assessment
12. Secrets Security Assessment
13. Pod Security Assessment
14. Network Security Assessment
15. Workload Identity Assessment
16. Cloud IAM Integration Assessment
17. Container Supply Chain Assessment
18. Logging & Detection Assessment
19. Attack Paths
20. Validated Findings
21. Positive Security Observations
22. Root Cause Themes
23. Remediation Roadmap
24. Retest Results
25. Evidence AppendixPhase 108 β Executive Summary Questions
Section titled βPhase 108 β Executive Summary QuestionsβYour executive summary should answer:
What Was Tested?
Could Application Compromise Expand?
Could Container Compromise Reach Kubernetes?
Could Kubernetes Privilege Reach Cloud IAM?
Were Namespace Boundaries Effective?
Were Workload Identities Least Privileged?
Were Sensitive Secrets Protected?
Could Development Access Affect Production?
Which Controls Worked?
Which Attack Paths Matter Most?
What Should Be Fixed First?Phase 109 β Final Project Deliverables
Section titled βPhase 109 β Final Project DeliverablesβComplete:
Project 04 - Kubernetes Enterprise Assessment/ββββ 01 Engagementβ βββ Scope.mdβ βββ Rules-of-Engagement.mdβ βββ Objectives.mdββββ 02 Architectureβ βββ Initial-Architecture.mdβ βββ Final-Architecture.mdββββ 03 Cluster Discoveryβ βββ Cluster-Inventory.mdββββ 04 Namespacesβ βββ Namespace-Inventory.mdββββ 05 Workloadsβ βββ Workload-Inventory.mdββββ 06 Containersβ βββ Container-Security-Assessment.mdββββ 07 RBACβ βββ RBAC-Matrix.mdβ βββ Effective-Permissions.mdββββ 08 Service Accountsβ βββ Service-Account-Map.mdββββ 09 Secretsβ βββ Secrets-Access-Matrix.mdββββ 10 Pod Securityβ βββ Pod-Security-Assessment.mdββββ 11 Network Securityβ βββ NetworkPolicy-Assessment.mdβ βββ Network-Flow-Matrix.mdββββ 12 Workload Identityβ βββ Workload-Identity-Map.mdββββ 13 Cloud IAMβ βββ Cloud-IAM-Relationship-Map.mdββββ 14 Loggingβ βββ Logging-and-Detection-Assessment.mdββββ 15 Attack Pathsβ βββ Attack-Path-Register.mdββββ 16 Evidenceβ βββ Evidence-Register.mdββββ 17 Findingsβ βββ Findings-Register.mdββββ 18 Reportβ βββ Kubernetes-Enterprise-Assessment.mdββββ 19 Retest βββ Retest-Report.mdPhase 110 β Student Submission Checklist
Section titled βPhase 110 β Student Submission ChecklistβENGAGEMENT
[ ] Scope documented[ ] Cluster documented[ ] Context confirmed[ ] Authorised namespaces identified[ ] ROE understood[ ] Stop conditions understood
CLUSTER
[ ] Cluster architecture understood[ ] Nodes inventoried where authorised[ ] Namespaces inventoried[ ] Critical namespaces identified[ ] Kubernetes API exposure considered
WORKLOADS
[ ] Pods inventoried[ ] Deployments inventoried[ ] Services inventoried[ ] Workload identities mapped[ ] Container images documented
CONTAINER SECURITY
[ ] Runtime users reviewed[ ] Privileged mode reviewed[ ] Privilege escalation reviewed[ ] Linux capabilities reviewed[ ] Host namespaces reviewed[ ] HostPath volumes reviewed[ ] Read-only filesystem considered
RBAC
[ ] Roles reviewed[ ] ClusterRoles reviewed[ ] RoleBindings reviewed[ ] ClusterRoleBindings reviewed[ ] Effective permissions reviewed[ ] Wildcard permissions investigated[ ] Cluster-wide permissions investigated
SERVICE ACCOUNTS
[ ] Service accounts inventoried[ ] Workloads mapped[ ] Default SA usage reviewed[ ] Credential automounting reviewed[ ] RBAC permissions mapped[ ] Cloud identity relationships mapped
SECRETS
[ ] Secret metadata reviewed[ ] Secret access permissions reviewed[ ] Workload requirements validated[ ] ConfigMaps checked for sensitive data[ ] External secret stores identified[ ] No unnecessary secret values collected
POD SECURITY
[ ] Security contexts reviewed[ ] Pod Security controls reviewed[ ] Admission policies reviewed[ ] Policy exceptions reviewed
NETWORK
[ ] NetworkPolicies inventoried[ ] Namespace isolation reviewed[ ] Ingress paths reviewed[ ] Egress paths reviewed[ ] Internal service reachability reviewed[ ] Required network-flow matrix created
WORKLOAD IDENTITY
[ ] Kubernetes identities mapped[ ] Cloud identities mapped[ ] Cloud permissions reviewed[ ] Cross-layer trust analysed[ ] Excessive cloud access identified
SUPPLY CHAIN
[ ] Registry permissions considered[ ] Image trust reviewed[ ] Image update process reviewed[ ] CI/CD deployment identities reviewed
LOGGING
[ ] Kubernetes audit logging reviewed[ ] Runtime logging reviewed[ ] Cloud logging reviewed[ ] Detection opportunities identified
ATTACK PATHS
[ ] Hypothesis register created[ ] Identity graph created[ ] Kubernetes paths analysed[ ] Cloud paths analysed[ ] Cross-layer paths analysed[ ] Minimum necessary validation followed[ ] Remediation choke points identified
REPORTING
[ ] Evidence register completed[ ] Findings register completed[ ] Positive controls documented[ ] Root causes identified[ ] Remediation prioritised[ ] Final report completed[ ] Retest completedPhase 111 β Skills You Should Demonstrate
Section titled βPhase 111 β Skills You Should DemonstrateβAfter completing this project, you should be able to explain:
How do you begin a Kubernetes security assessment?
Why must you confirm the current Kubernetes context?
How do namespaces affect security?
What is Kubernetes RBAC?
What is the difference between Role and ClusterRole?
What is the purpose of RoleBinding and ClusterRoleBinding?
How do you determine effective Kubernetes permissions?
Why are Kubernetes service accounts important?
Why should workloads use dedicated service accounts?
Why can automatic service account credentials increase risk?
Why are privileged containers dangerous?
Why are Linux capabilities important?
Why can hostPath weaken container isolation?
How do NetworkPolicies reduce blast radius?
Why should egress be reviewed?
Why should Kubernetes Secrets not automatically be considered secure?
How does workload identity connect Kubernetes to cloud IAM?
How can workload control create indirect cloud privilege?
How can container registry permissions become an attack path?
How do you connect application, Kubernetes, and cloud risk into one attack narrative?
Phase 112 β Interview Story
Section titled βPhase 112 β Interview StoryβYou should now be able to explain:
In a CloudNova enterprise Kubernetes assessment, I started with authorised development-level access and mapped the cluster, namespaces, workloads, service accounts, RBAC, NetworkPolicies, and workload identities. I identified that the development identity could modify an application workload using a Kubernetes service account mapped to a more privileged cloud identity. The cloud identity had access to a sensitive synthetic secret that the developer could not access directly. I documented the cross-layer path from developer permissions through workload control, Kubernetes identity, workload federation, and cloud IAM. I validated only the minimum evidence necessary and recommended reducing deployment permissions, narrowing Kubernetes RBAC, restricting the cloud workload identity, and strengthening network isolation.
This demonstrates:
Container Security +Kubernetes Security +Kubernetes RBAC +Workload Identity +Cloud IAM +Attack-Path Analysis +Enterprise ReportingKey Takeaways
Section titled βKey TakeawaysβProject 04 connects all the major security layers you have studied.
Remember:
A container compromise may become a Kubernetes compromise.
A Kubernetes compromise may become a cloud compromise.
Namespaces alone do not guarantee isolation.
Kubernetes RBAC must be analysed as an identity graph.
Service accounts are security principals.
Every important workload should have a clear identity requirement.
Workload control can create indirect privilege.
Privileged containers weaken isolation.
Host namespaces and hostPath mounts deserve careful review.
Secrets access should follow least privilege.
ConfigMaps should not contain sensitive credentials.
NetworkPolicies can reduce lateral movement opportunities.
Egress security matters as much as ingress security.
Workload identity connects Kubernetes directly to cloud IAM.
Cloud IAM privilege determines how far a Kubernetes compromise may travel.
Container registries and CI/CD pipelines are part of the Kubernetes attack surface.
A hypothesis is not a finding.
Use minimum necessary validation.
Cross-layer attack paths provide more value than isolated misconfiguration lists.
Look for remediation choke points capable of breaking several paths.
Retest the complete path after remediation.
Your enterprise Kubernetes methodology is:
Scope βConfirm Cluster Context βMap Cluster βInventory Namespaces βInventory Workloads βAssess Containers βMap Service Accounts βAnalyse Kubernetes RBAC βAssess Secrets βAssess Pod Security βAssess NetworkPolicies βMap Workload Identity βMap Cloud IAM βAssess Supply Chain βAssess Logging βBuild Identity Graph βDevelop Hypotheses βBuild Cross-Layer Attack Paths βValidate Safely βCollect Evidence βAnalyse Business Impact βReport βRemediate βRetestWhatβs Next?
Section titled βWhatβs Next?ββ‘οΈ Project 05 β Multi-Cloud Enterprise Red Team Capstone
Project 05 will be the final project in 09 β Enterprise Cloud Pentesting Projects.
You will move beyond a single platform and assess an interconnected enterprise environment containing:
Internet βApplication βKubernetes βCloud Workload Identity βAWS / Azure / Google Cloud βEnterprise Identity βCritical DataYou will bring together:
-
External cloud reconnaissance
-
AWS IAM
-
Microsoft Entra ID
-
Azure RBAC
-
Google Cloud IAM
-
Service accounts
-
Kubernetes RBAC
-
Workload identities
-
Container security
-
Secrets
-
Cloud networking
-
Cross-cloud trust
-
CI/CD
-
Attack-path analysis
-
Security telemetry
-
Evidence management
-
Executive reporting
-
Remediation planning
-
Retesting
The final question becomes:
Can multiple individually moderate cloud weaknesses be chained across identity, workload, Kubernetes, and cloud boundaries to create a realistic enterprise compromise path?