Google in late 2023 Currently ranked top 100 all time on Google VRP Leaderboard Agenda Live Hacking Event 101 Why Google SecOps SOAR? Abusing non-human identities Connecting the dots Vertical Privilige Escalation Full attack scenario Remediation
frameworks Enterprise license hard to access by individual hunters → untouched scope Large attack surface feature creep → tech debt aggregates over time
APIs 2.Attack scenario ideation Verifiable hypotheses based on current context Overarching aim is maximum impact (go big or go home) Repeat steps #1 and #2 in a loop
which stood out after documentaion review was the Secure implementation of code sandboxing is notoriously hard https://docs.cloud.google.com/chronicle/docs/soar/respond/ide/using-the-ide#custom-code-validation
from user nonroot → root issue: no straightforward pathway (SUID/SGID binaries etc.) Pivot to other services within the Cluster goal: get access to privileged services issue: blocked by Cloud Service Mesh (managed Istio) Call the K8s apiserver goal: attempt to take advantage of the default bound KSA token issues: blocked by Network Policies
Service permissions to call Google APIs https://medium.com/google-cloud/whoami-the-quest-of-understanding-gke-workload-identity-federation-e951e5e4a03f
be decoded locally) One can introspect them using the https://oauth2.googleapis.com/tokeninfo API https://docs.cloud.google.com/docs/authentication/token-types#sa-access-tokens
user or another service account, authenticates as a service account to gain the service account's permissions, it's called impersonating the service account. https://docs.cloud.google.com/iam/docs/service-account-impersonation
opens room for privilige escalation scenarios has been known since at least 2020 Some research examples: Plundering GCP - Escalating Privileges, Moving Laterally, and Stealing Secrets in Google Cloud by Chris Moberly from GitLab EP60 Impersonating Service Accounts in GCP and Beyond: Cloud Security Is About IAM? with Dylan Ayrey, cofounder of Truffle Security Privilege Escalation in GCP A Transitive Path by Kat Traxler
gke-init-python Service Account 2.gke-init-python can impersonate the secops-auth Service Account 3.secops-auth Service Account is the issuer of Signed JWTs
get the OAuth access token of the Service Account bound to the Python execution environment https://docs.cloud.google.com/chronicle/docs/soar/marketplace-integrations/http-v2#execute-request
Side Template Injection subprocess.Popen was imported making exploitation trivial https://docs.cloud.google.com/chronicle/docs/soar/marketplace-and-integrations/power-ups/templateengine