AWS - EKS Post Exploitation
EKS
Kwa habari zaidi angalia
AWS - EKS EnumTathmini kikundi kutoka kwenye Konsoli ya AWS
Ikiwa una ruhusa ya eks:AccessKubernetesApi
unaweza kuona vitu vya Kubernetes kupitia konsoli ya AWS EKS (Jifunze zaidi).
Unganisha kwenye Kikundi cha AWS Kubernetes
Njia rahisi:
Si njia rahisi:
Ikiwa unaweza kupata token na aws eks get-token --name <jina_la_kikundi>
lakini huna ruhusa ya kupata habari za kikundi (describeCluster), unaweza kuandaa ~/.kube/config
yako mwenyewe. Walakini, ukiwa na token, bado unahitaji url ya mwisho ya kuunganisha (ikiwa umefanikiwa kupata token ya JWT kutoka kwa podi soma hapa) na jina la kikundi.
Katika kesi yangu, sikupata habari hiyo kwenye magogo ya CloudWatch, lakini nilipata kwenye data ya LaunchTemplates na pia kwenye mashine za EC2 katika data ya userData. Unaweza kuona habari hii katika userData kwa urahisi, kwa mfano katika mfano ufuatao (jina la kikundi lilikuwa cluster-name):
Kutoka AWS kwenda Kubernetes
Mwanzilishi wa kikundi cha EKS cluster daima ataweza kuingia kwenye sehemu ya kikundi cha kubernetes cha system:masters
(k8s admin). Wakati wa kuandika hii, hakuna njia moja kwa moja ya kugundua nani aliyeanzisha kikundi hicho (unaweza kuangalia CloudTrail). Na hakuna njia ya kuondoa hicho haki.
Njia ya kutoa upatikanaji wa K8s kwa watumiaji au majukumu zaidi ya AWS IAM ni kwa kutumia configmap aws-auth
.
Hivyo, yeyote mwenye upatikanaji wa kuandika kwenye ramani ya config aws-auth
ataweza kuathiri kikundi chote.
Kwa habari zaidi kuhusu jinsi ya kutoa haki za ziada kwa majukumu na watumiaji wa IAM katika akaunti ile ile au tofauti na jinsi ya kutumia vibaya hii angalia ukurasa huu.
Angalia pia hii nzuri chapisho ili kujifunza jinsi uwakilishi wa IAM -> Kubernetes unavyofanya kazi.
Kutoka Kubernetes kwenda AWS
Inawezekana kuruhusu uthibitishaji wa OpenID kwa akaunti ya huduma ya kubernetes kuwaruhusu kuchukua majukumu katika AWS. Jifunze jinsi hii inavyofanya kazi kwenye ukurasa huu.
Pata Mwisho wa Seva ya API kutoka kwa Token ya JWT
Hakupata nyaraka yoyote inayoeleza vigezo vya 'herufi mbili' na 'namba'. Lakini kufanya majaribio yangu mwenyewe nimeona hizi zinajirudia:
gr7
yl4
Kwa vyovyote vile ni herufi 3 tu tunaweza kuzitafuta kwa nguvu. Tumia script hapa chini kwa kuzalisha orodha.
Kisha na wfuzz
Kumbuka kubadilisha & .
Kupita CloudTrail
Ikiwa mshambuliaji anapata siri za AWS na ruhusa juu ya EKS. Ikiwa mshambuliaji anasanidi kubeconfig
yake mwenyewe (bila kuita update-kubeconfig
) kama ilivyoelezwa hapo awali, get-token
haitoi logs katika Cloudtrail kwa sababu haina mwingiliano na AWS API (inajenga token kwa upande wa mshambuliaji).
Kwa hivyo wakati mshambuliaji anazungumza na kikundi cha EKS, cloudtrail haitaandika chochote kinachohusiana na mtumiaji aliyeibiwa na kufikia.
Tafadhali kumbuka kwamba kikundi cha EKS kinaweza kuwa na logs zilizowezeshwa ambazo zitaandika ufikiaji huu (ingawa, kwa chaguo-msingi, zimelemazwa).
EKS Malipo ya Kikombozi?
Kwa chaguo-msingi mtumiaji au jukumu lililounda kikundi LINAKUWA na mamlaka ya admin juu ya kikundi. Na hiyo ndiyo njia pekee ya ufikiaji "salama" AWS itakayokuwa nayo juu ya kikundi cha Kubernetes.
Kwa hivyo, ikiwa mshambuliaji anashambulia kikundi kwa kutumia fargate na kuondoa waendeshaji wengine wote na kufuta mtumiaji/jukumu wa AWS aliyeanzisha Kikundi, mshambuliaji angeweza kuwa na kikundi cha kikombozir.
Tafadhali kumbuka kwamba ikiwa kikundi kilikuwa kinatumia EC2 VMs, inaweza kuwa inawezekana kupata mamlaka ya Admin kutoka kwa Node na kurejesha kikundi.
Kwa kweli, Ikiwa kikundi kinatumia Fargate unaweza kutumia vifaa vya EC2 au kuhamisha kila kitu kwa EC2 kwenye kikundi na kukirejesha kwa kufikia vibali kwenye node.
Last updated