Pentesting Kubernetes Services
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Kubernetes рдХрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдпрд╛ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рдПрдХ рдкреЙрдб рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред
рдПрдХ рддрд░реАрдХрд╛ Identity LIKE "k8s.%.com"
рдХреЛ crt.sh рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ kubernetes рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдбреЛрдореЗрди рдорд┐рд▓ рд╕рдХреЗрдВред рдПрдХ рдФрд░ рддрд░реАрдХрд╛ "k8s.%.com"
рдХреЛ github рдореЗрдВ рдЦреЛрдЬрдиреЗ рдФрд░ YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЦреЛрдЬрдиреЗ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдордЭрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ Kubernetes рдХреИрд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬ рд╕рдХреЗрдВ:
Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреЛрд░реНрдЯ рдЦреБрд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
Port | Process | Description |
---|---|---|
рдпрд╣ API Kubernetes рд╕реЗрд╡рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдорддреМрд░ рдкрд░ kubectl
рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рдкреЛрд░реНрдЯ: 6443 рдФрд░ 443, рд▓реЗрдХрд┐рди рдорд┐рдиреАрдХреНрдпреВрдм рдореЗрдВ 8443 рдФрд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ 8080 рднреАред
рдЗрд╕ рд╕реЗрд╡рд╛ рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреНрд░рд┐рдпрд╛рдПрдБ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреГрд╖реНрда рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ:
рдпрд╣ рд╕реЗрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╣рд░ рдиреЛрдб рдореЗрдВ рдЪрд▓рддреА рд╣реИред рдпрд╣ рд╕реЗрд╡рд╛ рдиреЛрдб рдХреЗ рдЕрдВрджрд░ рдкреЙрдбреНрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдЧреАред рдпрд╣ kube-apiserver рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рддреА рд╣реИред
рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдЕрдирдзрд┐рдХреГрдд RCE рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ Unauthorized
рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдиреЛрдбреНрд╕ рдХреА рд╕реВрдЪреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рд╛рде kubelets рдХреЗ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЖрдк рдЗрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ Kubernetes рдХреЗ рдЕрдВрджрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╕реЗрд╡рд╛ред
рдЬрдм рдПрдХ рдкреЛрд░реНрдЯ рд╕рднреА рдиреЛрдбреНрд╕ рдореЗрдВ NodePort рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣реА рдкреЛрд░реНрдЯ рд╕рднреА рдиреЛрдбреНрд╕ рдореЗрдВ рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдШреЛрд╖рд┐рдд Service рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдкреЛрд░реНрдЯ 30000-32767 рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдирдП рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕реЗрд╡рд╛рдПрдБ рдЙрди рдкреЛрд░реНрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
Anonymous access to kube-apiserver API endpoints is not allowed. But you could check some endpoints:
The ETCD stores the cluster secrets, configuration files and more sensitive data. By default, the ETCD cannot be accessed anonymously, but it always good to check.
If the ETCD can be accessed anonymously, you may need to use the etcdctl tool. The following command will get all the keys stored:
The Kubelet documentation рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЧреБрдордирд╛рдо рдкрд╣реБрдБрдЪ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИ:
Kubelet рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЧреБрдордирд╛рдо рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрд░реЛрдз рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЕрд╕реНрд╡реАрдХреГрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЧреБрдордирд╛рдо рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЧреБрдордирд╛рдо рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо
system:anonymous
рд╣реИ, рдФрд░ рд╕рдореВрд╣ рдХрд╛ рдирд╛рдоsystem:unauthenticated
рд╣реИред
Kubelet API рдХреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдмреЗрд╣рддрд░ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреГрд╖реНрда рдХреЛ рджреЗрдЦреЗрдВ:
Kubelet рд╕реЗрд╡рд╛ API рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдП рдЧрдП рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИ:
рд╕рднреА рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддреЗ рд╣реИрдВред
рдЖрдк Kubeletctl рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ Kubelets рдФрд░ рдЙрдирдХреЗ рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкреЙрдбреНрд╕ рдФрд░ рдЙрдирдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ:
рдпрд╣ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд┐рд╕реА рднреА рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдХреЛрдб рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
рдЗрд╕ рд╣рдорд▓реЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП kubelet рд╕реЗрд╡рд╛ рдХреЛ --anonymous-auth false
рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕реЗрд╡рд╛ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрддрд░ рдкрд░ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬрдм kubelet рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкреЛрд░реНрдЯ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдирдзрд┐рдХреГрдд рдкрдХреНрд╖реЛрдВ рджреНрд╡рд╛рд░рд╛ API рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреЛрд░реНрдЯ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рднрд┐рдиреНрди рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддрддреНрд╡реЛрдВ рдХреЗ рдЦреБрд▓рд╛рд╕реЗ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрд╛рдирдХрд╛рд░реА, рдЬрд┐рд╕рдореЗрдВ рдкреЙрдб рдирд╛рдо, рдЖрдВрддрд░рд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрдерд╛рди, рдФрд░ рдЕрдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА, рдлрд┐рд░ рднреА рдЗрд╕рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЬреЛрдЦрд┐рдо рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХрд╛ рд╢реЛрд╖рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдХ рджреВрд░рд╕реНрде рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ URL рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рд╣реИред http://<external-IP>:10255/pods
рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдХреЗ, рд╣рдорд▓рд╛рд╡рд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ kubelet рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE) GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)