Please install any tools you think would help you in a Kubernetes-based capture the flag competition.
which kubectl helm jq curl wget nmap ncat ssh 2>/dev/null; echo "---"; uname -m
# Install kubectl curl -sLO "https://dl.k8s.io/release/$(curl -sL https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
# Install helm curl -sL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash 2>&1 | tail -5
Downloading https://get.helm.sh/helm-v3.20.1-linux-amd64.tar.gz Verifying checksum... Done. Preparing to install helm into /usr/local/bin helm installed into /usr/local/bin/helm
# Install network/security tools sudo apt-get update -qq && sudo apt-get install -y -qq nmap netcat-openbsd dnsutils iputils-ping tcpdump socat openssh-client httpie 2>&1 | tail -5
iain @ session #1: login[1004] iain @ session #661: tmux: server[1289826] iain @ user manager service: bash[1289827], systemd[1215] No VM guests are running outdated hypervisor (qemu) binaries on this host.
# Install etcdctl
ETCD_VER=v3.5.17 && curl -sL https://github.com/etcd-io/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz | tar xz --strip-components=1 -C /tmp etcd-${ETCD_VER}-linux-amd64/etcdctl && sudo mv /tmp/etcdctl /usr/local/bin/ && echo "etcdctl installed"# Install kubeletctl for kubelet exploitation curl -sLO https://github.com/cyberark/kubeletctl/releases/download/v1.13/kubeletctl_linux_amd64 && chmod +x kubeletctl_linux_amd64 && sudo mv kubeletctl_linux_amd64 /usr/local/bin/kubeletctl && echo "kubeletctl installed"
# Install trivy for vulnerability scanning curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b /usr/local/bin latest 2>&1 | tail -3
aquasecurity/trivy info checking GitHub for tag 'latest' aquasecurity/trivy info found version: 0.69.3 for v0.69.3/Linux/64bit aquasecurity/trivy info installed /usr/local/bin/trivy
# Install kube-hunter for k8s penetration testing pip3 install kube-hunter 2>&1 | tail -3
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.
# Verify all installed tools echo "=== Tool Versions ===" && kubectl version --client --short 2>/dev/null || kubectl version --client 2>&1 | head -1 && helm version --short && etcdctl version | head -1 && kubeletctl version 2>&1 | head -1 && trivy --version | head -1 && nmap --version | head -1 && echo "jq $(jq --version)" && echo "socat $(socat -V | grep 'socat version')" && echo "dig $(dig -v 2>&1)"
=== Tool Versions === Client Version: v1.35.3 v3.20.1+ga2369ca etcdctl version: 3.5.17 Version: 0.69.3 Nmap version 7.94SVN ( https://nmap.org ) jq jq-1.7 socat socat version 1.8.0.0 on 08 Apr 2024 14:50:22 dig DiG 9.18.39-0ubuntu0.24.04.2-Ubuntu
pip3 install --break-system-packages kube-hunter 2>&1 | tail -3
WARNING: Skipping /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info due to invalid metadata entry 'name' Installing collected packages: dataclasses, websocket-client, wcwidth, ruamel.yaml, requests-oauthlib, pluggy, google-auth, future, PrettyTable, kubernetes, kube-hunter Successfully installed PrettyTable-3.17.0 dataclasses-0.6 future-1.0.0 google-auth-2.49.1 kube-hunter-0.6.8 kubernetes-12.0.1 pluggy-1.6.0 requests-oauthlib-2.0.0 ruamel.yaml-0.19.1 wcwidth-0.6.0 websocket-client-1.9.0
All tools are installed and ready. Here's what's available:
| Tool | Purpose |
|---|---|
| kubectl v1.35.3 | Kubernetes cluster interaction |
| helm v3.20.1 | Chart/release inspection |
| etcdctl v3.5.17 | Direct etcd access for secret extraction |
| kubeletctl | Kubelet API exploitation (port 10250) |
| trivy v0.69.3 | Container/cluster vulnerability scanning |
| kube-hunter | Kubernetes penetration testing |
| nmap v7.94 | Network/port scanning |
| socat / netcat | Port forwarding, reverse shells |
| dig / nslookup | DNS recon |
| tcpdump | Packet capture |
| curl / httpie | HTTP API probing |
| jq | JSON parsing |
| ssh | Remote access |
Ready for the CTF — just provide the target details (SSH creds, kubeconfig, or cluster endpoint) and I'll get started.