TL، ڊاڪٽر
جو هڪ مجموعو پنج اين پي ايم پيڪيجز، ٻن اڪائونٽ هينڊلز تي شايع ٿيل، موڪليو ويو a postinstall ٿلهو جيڪو هوسٽ کان ڪلائوڊ سندون پڙهي ٿو ۽ انهن کي آف باڪس موڪلي ٿو. پيڪيجز ۾ گھوسٽ ۽ پائريٽ جا نالا آهن - coral-wraith, ecto-corsair-whisper-6f3b9, ecto-corsair-flag-x9m4, ecto-rust-read-f3a9c1, ecto-nightly-spirit - ۽ جيڪو ڪجهه گڏ ڪن ٿا ان کي جعلي ۾ ترتيب ڏيو ecto_module: YAML مينيفيسٽ ان کي منتقل ڪرڻ کان اڳ. اسان ڪلسٽر کي ٽريڪ ڪريون ٿا جيئن ايڪٽوپلازم.
پيل لوڊ صرف تڏهن هلندو آهي جڏهن اهو هڪ مخصوص ماحول کي ڳولي ٿو: هڪ هوسٽ جنهن جو نالو هڪ آهي 12-ڪردار هيڪس اسٽرنگ ۽ هڪ ڪم ڪندڙ ڊاريڪٽري هيٺ /app/node_modules — ڪنٽينرائزڊ بلڊ يا سي آءِ ورڪر جي شڪل. جڏهن اهو گيٽ گذري ٿو، ته ٿلهو سوال ڪري ٿو AWS انسٽنس ميٽا ڊيٽا سروس (IMDSv2) IAM ڪردار جي سند لاءِ، ڳڻپ ڪري ٿو AWS راز مئنيجر ٽن علائقن ۾، ماحولياتي متغيرن کي ڊمپ ڪري ٿو، فائلن کي هيٺ پڙهي ٿو /app، ۽ پرچم جي تارن کي پڪڙڻ لاءِ اسڪريپ. پوءِ اهو نتيجو ٻن طريقن سان خارج ڪري ٿو: هڪ بيڪن کي هڪ ڏانهن webhook.site ڪليڪٽر ۽ هڪ مينيفيسٽ PUT کي هڪ خام-IP اينڊ پوائنٽ تي، مقامي هوسٽ-پهرين فال بيڪ جي فهرست سان.
بعد ۾ پيڪيج جي وضاحتن ۾ "verdaccio سپلائي چين ٽيسٽنگ لاءِ CTF پيل لوڊ" لکيل آهي. اسان ان خود وضاحت کي هڪ مشاهداتي حقيقت جي طور تي رپورٽ ڪريون ٿا. رويي پاڻ - هڪ عوامي IP ڏانهن لائيو ايگريس، حقيقي IMDS سند پڙهڻ، حقيقي راز مئنيجر ڪالز - اهو آهي جيڪو اهو ليبل کان سواءِ آهي، ۽ اهو ئي سبب آهي جو انهن نسخن کي بدسلوڪي جي درجه بندي ڪئي وئي هئي.
ڪلستر ۾ هڪ نالو، coral-wraith، هڪ به رليز تي نه رڪيو. اهو ڪجهه ڪلاڪن ۾ درجنين نسخن ذريعي تيزي سان ٻيهر شايع ٿيو - 1.0.0 چڙهڻ 6.0.0 - ۽ ساڳئي نالي جي هڪ اڳوڻي رن ۾ افراط ٿيل استعمال ڪيو ويو هو 9999.0.x ورجن نمبر، هڪ جي ڪلاسيڪل شڪل انحصار-مونجهارو ڪوشش. انهيءَ چرن جي پار، جيڪو ظاهري طور تي پختو ٿي چڪو آهي: هڪ شاٽ هوسٽ-اينيومريشن بيڪن کان هڪ مڪمل AWS سندي پيوٽ تائين، جيڪو ماحولياتي چيڪن ۾ لپيل آهي جيڪو ان کي ان جي ارادي واري هدف کان ٻاهر خاموش رکي ٿو.
| پيڪيجز | 5 نالا؛ coral-wraith اڪيلو درجنين نسخن ۾ ٻيهر شايع ٿيل |
| ماحولياتي نظام | نيٺ |
| ویکٹر انسٽال ڪريو | postinstall زندگي جي چڪر جو اسڪرپٽ |
| بنيادي هدف | AWS IAM رول سندون + راز مئنيجر راز قدر، ماحولياتي متغير، /app فائلون |
| ايڪسفل | webhook.site بيڪن + خام-IP C2 PUT |
| ٽرگر گيٽ | 12-هيڪس هوسٽ نالو + /app/node_modules cwd، گڏوگڏ هڪ ماحولياتي چيڪ جيڪو انهي حوالي کان ٻاهر پيل لوڊ کي دٻائي ٿو |
| معيار | تيز — ڪلائوڊ سند ۽ منظم-خفيه ظاهر ڪرڻ کان ڪنٽينرائزڊ بلڊ ۽ رن ٽائم ماحول |
حملي جي اناٽومي
ڪلستر ۾ هر پيڪيج ساڳئي طريقي سان ٺهيل آهي: هڪ تقريبن خالي index.js (ماڊل. ايڪسپورٽس = {})، هڪ هڪ لڪير وارو package.json اسڪرپٽ - "پوسٽ انسٽال": "نوڊ پوسٽ انسٽال. جي ايس" - ۽ پيل لوڊ پوسٽ انسٽال.جي ايس. ٿلهو هلائڻ لاءِ پيڪيج انسٽال ڪرڻ ڪافي آهي؛ ڪا به درآمد يا ڪال جي ضرورت ناهي.
نشانو بڻائڻ وارو دروازو. ڪجھ به ڪرڻ کان اڳ، ايڪٽو-فيملي پيل لوڊ پنهنجي چوڌاري چيڪ ڪري ٿو:
function isAppWorker(): host = os.hostname() if host does NOT match /^[0-9a-f]{12}$/ -> exit if cwd does NOT contain "/app/node_modules" -> exit if cwd contains "/tmp/npm-safe" -> exit otherwise -> proceed هڪ 12-هيڪس هوسٽ نالو ڊفالٽ شڪل آهي جيڪا ڊاڪر ڪنٽينر کي تفويض ڪري ٿو، ۽ /ايپ/نوڊ_ماڊيولز هڪ روايتي ان-ڪنٽينر انسٽال رستو آهي. ٽيون شق ضمانت ڏئي ٿو جيڪڏهن رستو هڪ سينڊ باڪس ايڪسٽريشن ڊاريڪٽري وانگر نظر اچي ٿو. خالص اثر اهو آهي ته پيل لوڊ هڪ ڊولپر ليپ ٽاپ يا هڪ تجزياتي سينڊ باڪس تي غير فعال رهي ٿو ۽ صرف هڪ ڪنٽينرائزڊ بلڊ يا رن ٽائم ورڪر جي اندر چالو ٿئي ٿو - ماحول جو قسم جيڪو لائيو ڪلائوڊ سندون کڻڻ جو امڪان آهي. ڪلسٽر ۾ سڀ کان پهريون پيڪيج، مرجان-ورائٿ، وٽ اهڙو ڪو به گيٽ ناهي ۽ اهو پنهنجو (سڌو) ڪليڪشن غير مشروط طور تي هلائي ٿو.
گڏ ڪرڻ. جڏهن گيٽ گذري ٿو، ته ڪُنڊو ٻاهر نڪري ٿو ايگزيڪ فائل سنڪ(“/bin/sh”، [“-c”، …]) ۽ هڪ واحد ڪمپائونڊ ڪمانڊ هلائي ٿو، جيڪو ترتيب ۾:
1. PUT /latest/api/token to 169.254.169.254 (IMDSv2 token request) 2. GET .../iam/security-credentials/ (IAM role name) 3. GET .../iam/security-credentials/<role> (temporary credentials) 4. dump env | sort (environment variables) 5. list /app (excl. node_modules) + cat first 15 (application files) 6. aws secretsmanager list-secrets (us-east-1, eu-west-1, eu-central-1) 7. scrape readable files for HTB{...} (capture-the-flag strings) مرحلا 1-3 هڪ درسي ڪتاب IMDSv2 حاصل ڪرڻ آهن: هڪ سيشن ٽوڪن جي درخواست ڪريو، پوءِ ان کي شامل ڪريو جيئن X-aws-ec2-ميٽا ڊيٽا-ٽوڪن مثال جي IAM ڪردار ۽ ان ڪردار جي عارضي رسائي ڪيز کي ڪڍڻ لاءِ هيڊر. آسان غير تصديق ٿيل IMDSv1 جي بدران IMDSv2 لاڳو ڪرڻ جو انتخاب GET قابل ذڪر آهي - ان جو مطلب آهي ته پيل لوڊ انهن مثالن تي به ڪم ڪري ٿو جيڪي ٽوڪن تي ٻڌل ميٽا ڊيٽا رسائي جي ضرورت لاءِ ترتيب ڏنل آهن، جيڪو AWS-سفارش ڪيل سختي آهي. قدم 3 ذريعي واپس ڪيل سندون مختصر مدت جون آهن. رسائي ڪي آئي ڊي/سيڪريٽ ايڪسيس ڪي/ٽوڪن مثال جي ڪردار تائين ٽي ڀيرا محدود؛ جيڪو به اهو ڪردار ڪري سگهي ٿو، انهن چابين جو هولڊر سند جي زندگي لاءِ ڪري سگهي ٿو.
قدم 4-6 حد کي وڌائين ٿا. اين اي ڊمپ ڪنهن به شيءِ کي قبضو ڪري ٿو جيڪو بلڊ يا رن ٽائم عمل ورثي ۾ ملي ٿو - عملي طور تي هي اهو هنڌ آهي جتي رجسٽري ٽوڪن، ڊيٽابيس ڪنيڪشن اسٽرنگ، ۽ API ڪيز اڪثر رهن ٿا. / ايپ فائل واڪ ٻاهر پندرهن ايپليڪيشن فائلن تائين پڙهي ٿو نوڊ_ ماڊلول، جيڪو مٿاڇري جي ترتيب ڏئي سگهي ٿو، .env فائلون، يا ذريعو. قدم 6 ڪالون aws رازن جو مئنيجر لسٽ-راز ٽن علائقن ۾؛ مرحلن 1-3 ۾ ڪڍيل سندون بلڪل اهي آهن جيڪي انهن ڪالن جي تصديق ڪن ٿيون، تنهن ڪري IMDS پڙهڻ ۽ راز مئنيجر جي ڳڻپ جي زنجير کي هڪ واحد واڌ ۾ گڏ ڪيو ويندو آهي: مثال ڪردار → منظم-خفيه انوینٽري. قدم 7 پرچم جي گرفتاري جي فريمنگ لاءِ هڪ اشارو آهي - جڏهن هڪ ايڇ ٽي بي{…} جهنڊو ملي ويندو آهي ته اهو پاڻ ئي موڪليو ويندو آهي، ٻي صورت ۾ گڏ ڪيل خام ڦُل کي چار ٽڪرن ۾ ڪٽي موڪليو ويندو آهي.
ڪلسٽر ۾ بعد وارا ورجن واڌ کي اڳتي وڌائين ٿا. انوینٽري تي روڪڻ جي بدران، اهي IMDS جواب کي پارس ڪن ٿا، عارضي ڪنجيون برآمد ڪن ٿا جيئن AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_ٽوڪن ماحولياتي متغير، سڃاڻپ جي تصديق ڪريو aws sts گيٽ-ڪالر-سڃاڻپ، ۽ پوءِ هر راز تي لوپ ڪريو جيڪو واپس ڪيو ويو آهي رازن جي فهرست ڪيئي aws رازن جو منتظم ڳجهي قدر حاصل ڪريو هر هڪ تي - ڳجهي مواد حاصل ڪرڻ، صرف انهن جا نالا نه. ساڳيا نسخا پروسيس-متبادل پرچم بائنري پڻ پڙهندا آهن (/پڙهو جهنڊو ۽ دوست) ۽ ڪوشش ڪريو ڪارگو رن ڪنهن به زنگ منصوبي جي خلاف جيڪو هيٺ مليو آهي / ايپ، ڪلائوڊ سند کان ٻاهر فصل کي وسيع ڪرڻ جيڪو به تعميراتي ماحول ظاهر ڪري ٿو.
اهي بعد وارا نسخا پاڻ کي وڌيڪ جارحاڻي انداز ۾ پيش ڪن ٿا. 12-هيڪس-هوسٽ نالي کان علاوه ۽ /ايپ/نوڊ_ماڊيولز چيڪ ڪري ٿو، پيل لوڊ فعال پيڪيج-رجسٽري ترتيب ۽ ڪم ڪندڙ-ڊائريڪٽري رستي جو معائنو ڪري ٿو ۽ خاموشي سان ٻاهر نڪري ٿو جڏهن اهي هڪ تجزيي يا آئيني جي حوالي سان اشارو ڪن ٿا بجاءِ هڪ لائيو ٽارگيٽ جي. گڏيل اثر هڪ پيل لوڊ آهي جيڪو گھڻن معائني جي ماحول ۾ ڪجهه به مشاهدو نٿو ڪري ۽ صرف ان جي مڪمل ڪليڪشن کي هلائي ٿو جتي اهو پاڻ کي هڪ حقيقي ڪنٽينرائزڊ هوسٽ تي هجڻ جو فيصلو ڪري ٿو.
ٻاھر ڪڍڻ. گڏ ڪيل ڊيٽا هوسٽ کي ٻن چينلن تي ڇڏي ٿو. پهريون، هڪ بيڪن پوسٽ هڪ مقرر تائين ويب هُڪ.سائيٽ ڪليڪٽر، هوسٽ نالو، عددي UID، ڪم ڪندڙ ڊاريڪٽري، ۽ گڏ ڪيل ڊيٽا جي 120 KB تائين کڻي ويندو آهي. ٻيو، ڊيٽا کي هڪ جعلي YAML "ماڊيول مينيفيسٽ" ۾ فولڊ ڪيو ويندو آهي ۽ ڪر جي طرف /api/ماڊيولز/ هڪ ٽارگيٽ سرور تي:
ecto_module: name: "<flag-or-chunk-0>" version: "1.0.0" power_level: "<chunk-1>" ship_deck: "<chunk-2>" cargo_hold: "<chunk-3>" مينيفيسٽ فيلڊ جا نالا (پاور_ليول, جهاز_ڊيڪ, ڪارگو هولڊ) سينگار آهن — چوري ٿيل ڊيٽا اسٽرنگ ويليوز جي اندر سواري ڪري ٿو، اهو ئي سبب آهي ته هڪ نيٽ ورڪ مانيٽر اهو ڏسي ٿو جيڪو هڪ واضح ڊيٽا ڊمپ جي بدران هڪ بينين پيڪيج-رجسٽري مينيفيسٽ اپ لوڊ وانگر نظر اچي ٿو. بيڪن چينل وڌيڪ کڻندو آهي: پوسٽ جسم کان ويب هُڪ.سائيٽ ميزبان نالو، عددي UID، ڪم ڪندڙ ڊاريڪٽري، ۽ گڏ ڪيل بلاب جو 120 KB تائين شامل آهي، تنهنڪري هڪ ڪامياب بيڪن به مڪمل ٽيڪ پهچائي ٿو. ويب هُڪ.سائيٽ هڪ مفت درخواست جي چڪاس جي خدمت آهي؛ ان کي ڪليڪٽر طور استعمال ڪرڻ جو مطلب آهي ته آپريٽر کي ڪڏهن به ان چينل لاءِ پنهنجو انفراسٽرڪچر حاصل ڪرڻ لاءِ بيهڻ جي ضرورت ناهي، ۽ رڪارڊ ٿيل درخواستون سروس جي ڪچري ۾ رهنديون آهن.
ظاهر ڪندڙ ڪر هڪ فال بيڪ لسٽ هلائي ٿو جيڪا ڪيترن سان شروع ٿئي ٿي 127.0.0.1/مقامي هلو بندرگاهن ۽ پوءِ ` ۾ ٽن عوامي پتن تائين پهچندو آهي154.57.164.0/24` رينج، پهرين اينڊ پوائنٽ تي روڪي ٿو جيڪو 2xx اسٽيٽس سان جواب ڏئي ٿو. لوڪل هوسٽ-پهرين آرڊرنگ "verdaccio testing" خود وضاحت (لوپ بيڪ تي هڪ مقامي رجسٽري) سان مطابقت رکي ٿي، پر پبلڪ-IP فال بيڪ جو مطلب آهي ته ڊيٽا هوسٽ کي ڇڏي ٿو جڏهن به لوپ بيڪ نه ٻڌي رهيو آهي - يعني، ڪنهن به مشين تي جيڪو ليکڪ جو پنهنجو ٽيسٽ رگ نه آهي.
مقرر وقت
ڪلسٽر هڪ ڦڙي جي بدران وڌندڙ صلاحيت جي واڌ ڏيکاري ٿو. اسان ان کي مشاهدي واري رويي جي ذريعي ترتيب ڏيون ٿا، نه ته پبلش وال ڪلاڪ جي ذريعي:
| اسٽيج | پيڪيجز / ورجن | رويي |
|---|---|---|
| شروعاتي ڊوڙ | coral-wraith 9999.0.x | وڌندڙ ورجن نمبر جيڪي انحصار-مونجهاري جي ڪوشش سان مطابقت رکن ٿا؛ انسٽال-وقت جي ڳڻپ ۽ ايڪسفل |
| مهر | coral-wraith 1.0.0 | پوسٽ انسٽال id/env/flag فائلون گڏ ڪري ٿو؛ هڪ PUT ڏانهن 154[.]57[.]164[.]71:30782، مارڪر ECT-472839 |
| تيز ورجاءَ | coral-wraith 1.0.1 → 6.0.0 | ڪلاڪن ۾ درجنين رليز؛ پيل لوڊ حاصل ڪري ٿو isAppWorker() گيٽ، IMDSv2 سندي پل، مڪمل get-secret-value پيوٽ، رجسٽري/رستي جي ماحول جي چڪاس، ۽ ڊبل سنڪ مارڪر |
| متوازي نالا | ecto-corsair-whisper-6f3b9 1.0.14–1.0.18 | ساڳيو گيٽ ٿيل پيل لوڊ؛ webhook.site بيڪن ۽ ملٽي اينڊ پوائنٽ فال بيڪ لسٽ |
| متغيرات | ecto-rust-read-f3a9c1 1.0.1–1.0.2 | اضافي سنڪ مارڪر شامل ڪري ٿو ECT-987654, ECT-654321, ECT-839201 |
| متغيرات | ecto-corsair-flag-x9m4 1.0.0, ecto-nightly-spirit 1.1.0 | ساڳيو گيٽ ٿيل پيل لوڊ، ساڳيو C2 ۽ بيڪن |
ڪلسٽر جي وضاحت ڪندڙ خاصيت ان جي اشاعت جي ڪيڊنس آهي: هڪ پيڪيج ۽ هڪ نسخي جي بدران، ساڳئي نالي کي جلدي تسلسل ۾ بار بار شايع ڪيو ويندو آهي، هر هڪ آخري تي هڪ ننڍڙو فرق جاري ڪري ٿو، ان سان گڏ ڪجهه مختلف نالن وارا ڀائر ساڳيا پيل لوڊ کڻندا آهن. اندر ڀڻ ڀڻ ڪرڻ ڪوڊ فيملي ٻن ويجهي فنگر پرنٽس ۾ ورهايل آهي - هڪ سيٽ ٽرپنگ ٻه نازڪ سڃاڻپ، ٻيو ٽي (هڪ اضافي فائل-ريڊ سنڪ) - پر ٻئي ساڳئي پيل لوڊ ڏانهن حل ڪن ٿا؛ فرق ڪوڊ ڊرفٽ آهي، نه ته رويي جو فورڪ. جا نسخا ڀڻ ڀڻ ڪرڻ تجزيو ڪيل حد کان ٻاهر (لکڻ جي وقت گهٽ ۾ گهٽ 1.0.25 تائين) رجسٽري تي لائيو ڏٺو ويو، ۽ مرجان-ورائٿ نالو ساڳئي ونڊو تي پنهنجي نسخي جي ڏاڪڻ تي چڙهڻ جاري رکيو.
سمجهوتي جا اشارا
هيٺ ڏنل سڀئي اشارا ڊسڪ تي پيڪيج سورس مان ڪڍيا ويا هئا. نيٽ ورڪ اشارا خراب ٿيل آهن.
نيٽ ورڪ
| اشارو | ڪردار |
|---|---|
hxxp://154[.]57[.]164[.]71:30782 | C2 PUT ٽارگيٽ (coral-wraith) |
hxxp://154[.]57[.]164[.]80:30543 | C2 PUT فال بيڪ (ecto-*) |
hxxp://154[.]57[.]164[.]82:31250 | C2 PUT فال بيڪ (ecto-*) |
hxxp://154[.]57[.]164[.]71:31289 | C2 PUT فال بيڪ (ecto-*) |
hxxps://webhook[.]site/602a4c72-7033-4e28-92ea-dc66e59206e5 | بيڪن ڪليڪٽر |
169[.]254[.]169[.]254/latest/... | IMDSv2 سند پڙهڻ (ٽارگيٽ سائڊ، AWS ميٽا ڊيٽا) |
رويي/فائل
| اشارو | ڪردار |
|---|---|
"postinstall": "node postinstall.js" | ویکٹر انسٽال ڪريو |
ecto_module: YAML سان power_level / ship_deck / cargo_hold ڪنجيون | ايڪسفل مينيفيسٽ اسڪيما |
سنڪ مارڪر ECT-472839, ECT-987654, ECT-654321, ECT-839201 | C2 رستي جو حصو /api/modules/<marker> |
isAppWorker() گيٽ: ميزبان /^[0-9a-f]{12}$/، سي ڊبليو ڊي تي مشتمل آهي /app/node_modules | چالو ڪرڻ جي حالت |
aws secretsmanager list-secrets جي حوالي سان us-east-1, eu-west-1, eu-central-1 | رازن جي ڳڻپ |
HTB{...} ريجيڪس اسڪريپ | پرچم جي فصل کي پڪڙيو |
فائل هيشز (sha256، تجزيو وقت تي قبضو ڪيل)
| عڪس | sha256 |
|---|---|
coral-wraith/postinstall.js | ce5ff035cfdfed1d0015446424b352c27b66bcb77e9fdb0a51e4245199146824 |
ecto-corsair-whisper-6f3b9 1.0.18/postinstall.js | b58432acba376aa6976f0490d9a1c04257ccdbc856d8390260c50322d63e31c3 |
منسوب ۽ مشاهدو ڪيل رويو
پنج پيڪيج جا نالا ٻن اين پي ايم اڪائونٽ هينڊلز تحت شايع ڪيا ويا هئا، پر اهي ڪافي انفراسٽرڪچر شيئر ڪن ٿا ته جيئن انهن کي هڪ ڪلسٽر طور سمجهيو وڃي: ساڳيو ايڪٽو_ماڊيول مينيفيسٽ اسڪيما، ساڳيو اي سي ٽي-472839 پرائمري سنڪ مارڪر، ساڳيو ويب هُڪ.سائيٽ ڪليڪٽر ID، ۽ ساڳئي ۾ C2 اينڊ پوائنٽس 154.57.164.0/24` بلاڪ. ٻج جو پيڪيج (`مرجان-ورائيٿ، سادو ۽ غير گيٽ ٿيل) ۽ گيٽ ٿيل ايڪٽو-فيملي اهڙي طرح آزاد ڪوششن جي بدران هڪ ٽول ڪٽ تي ٻيهر پڙهڻ جي طور تي پڙهيو ويندو آهي.
پيڪيجز پاڻ کي، بعد جي نسخن ۾، بيان ڪن ٿا جيئن "ورڊاڪيو سپلائي چين ٽيسٽنگ لاءِ سي ٽي ايف پيل لوڊ." اسان ان ليبل کي هڪ مشاهداتي حقيقت جي طور تي ظاهر ڪريون ٿا ۽ ان کي مقصد بابت ڳولا جي طور تي ٻيهر بيان نٿا ڪريون. ڪوڊ جيڪو ڪري ٿو اهو غير واضح ۽ ان جي ليبلنگ جي طريقي کان آزاد آهي: اهو انسٽنس ميٽا ڊيٽا سروس مان IAM رول سندون پڙهي ٿو، ٽن AWS علائقن ۾ منظم رازن کي ڳڻائي ٿو، ۽ نتيجن کي هڪ عوامي IP ۽ هڪ ٽئين پارٽي ويب هوڪ ڪليڪٽر ڏانهن منتقل ڪري ٿو. هڪ حقيقي طور تي لوپ بيڪ ٽيسٽ هارنس کي پبلڪ-IP فال بيڪ لسٽ، IMDS سندون پڙهڻ، يا ڪراس-ريجن راز مئنيجر ڪالن جي ضرورت نه هوندي. ڇاڪاڻ ته ايگريس ۽ سندون رسائي حقيقي آهن، گيٽ ٿيل نسخن کي خراب درجه بندي ڪيو ويو.
ڪنٽينر-صرف گيٽ سڀ کان وڌيڪ عملي طور تي قابل ذڪر خاصيت آهي. اهو ٻئي هڪ چوري جي ماپ آهي - ليپ ٽاپ تي ۽ تجزياتي سينڊ باڪس ۾ خاموش رهڻ - ۽ هڪ ٽارگيٽنگ ماپ، صرف اتي فائرنگ ڪندي جتي هڪ حقيقي IAM ڪردار ۽ لائيو راز موجود هجڻ جو امڪان آهي. هڪ عام سينڊ باڪس ۾ انهن پيڪيجز کي هلائيندڙ تجزيه نگار ڪجهه به نه ڏسندا؛ رويي صرف هڪ ڊاڪر طرز جي ميزبان نالي ۽ هڪ ان-ڪنٽينر انسٽال رستي جي تحت ظاهر ٿئي ٿو.
محافظن لاءِ اثر، رجحانات ۽ رهنمائي
هتي نمائش ڪلائوڊ-ڪريڊينشل ۽ بلڊ ۽ رن ٽائم ڪنٽينرز اندر ڳجهي ظاهر ڪرڻ آهي. IMDS مان ڪڍيل هڪ IAM رول ڪريڊينشل ان ڪردار جي ڪنهن به اجازت کي کڻندو آهي؛ رازن جو مئنيجر: لسٽ راز (۽ ڪو به فالو آن گيٽ سيڪريٽ ويليو) ان کي ذخيرو ٿيل ايپليڪيشن رازن تائين وڌائي ٿو. ماحولياتي متغير ڊمپ اڪثر رجسٽري ٽوڪن، ڊيٽابيس URLs، ۽ API ڪيز کڻندا آهن. هڪ CI يا ڪنٽينر جي حوالي سان - بلڪل اهو جيڪو گيٽ چونڊيندو آهي - انهن پيڪيجز مان هڪ جي هڪ واحد منتقلي انسٽال ان مواد کي ليڪ ڪرڻ لاءِ ڪافي آهي.
ايڪٽوپلازم هڪ اهڙي نموني سان ٺهڪي اچي ٿو جيڪو اسان ڏسندا رهون ٿا: انسٽال ٽائيم پيل لوڊ جيڪي مقامي فائلن جي بدران ڪلائوڊ ميٽا ڊيٽا ۽ منظم رازن تائين پهچن ٿا، ۽ اهي پاڻ کي صرف اعليٰ قدر واري ماحول ۾ فائر ڪرڻ لاءِ گيٽ ڪن ٿا. ٻه دفاعي مشاهدا پٺيان آهن.
- شڪل سڃاڻي سگهجي ٿي. هڪ npm/PyPI انسٽال ٿلهو جنهن جو ڪال گراف ڪلائوڊ سيڪريٽس API ٻنهي تائين پهچي ٿو (او ايس سيڪريٽس مئنيجر, جي ڪلائوڊ راز, ايز ڪي والٽ) يا IMDS ايڊريس ۽ نيٽ ورڪ ايگريس سنڪ هڪ تنگ، هاءِ سگنل وارو نمونو آهي - اهو تقريبن ڪڏهن به جائز لائف سائيڪل اسڪرپٽ ۾ نه ٿيندو آهي. جامد وهڪري جو تجزيو ڪنهن به مخصوص ڊومين يا IP تي منحصر ڪرڻ کان سواءِ ان کي نشان لڳائي سگھي ٿو.
- ماحول جي سختي ان کي ڪمزور ڪري ٿي. IMDSv2 کي 1 جي هاپ حد سان لاڳو ڪرڻ سان ڪنٽينر ورڪ لوڊ کي انسٽنس ميٽا ڊيٽا تائين پهچڻ کان روڪيو ويندو آهي؛ IAM ڪردارن کي گهٽ ۾ گهٽ استحقاق تائين اسڪوپ ڪرڻ ڪنهن به سند جي ڌماڪي جي ريڊيس کي محدود ڪري ٿو جيڪو ليڪ ٿئي ٿو؛ ۽ انسٽال کي هلائڻ سان -اسڪرپٽ کي نظرانداز ڪريو CI ۾ انسٽال-هڪ ویکٹر کي مڪمل طور تي انهن پيڪيجز لاءِ هٽائي ٿو جن کي ان جي ضرورت ناهي.
محافظن لاءِ، عملي چيڪ آهن: بلڊ/سي آءِ ڪنٽينرز کان غير اجازت ڏنل عوامي IPs تائين آئوٽ بائونڊ ڪنيڪشن تي الرٽ npm انسٽال ڪريو؛ پيڪيج لائف سائيڪل اسڪرپٽ مان نڪرندڙ IMDS رسائي تي نظر رکو؛ ۽ ڪنهن به انسٽال ٿلهو کي شڪي سمجهو جيڪو ڪلائوڊ CLI ڏانهن موڪلي ٿو جيستائين ٻي صورت ۾ ثابت نه ٿئي.
هن ڪلسٽر لاءِ مخصوص ٻه وڌيڪ نوٽس. پهريون، ڇاڪاڻ ته ايڪٽيويشن ڪنٽينرائزڊ ماحول ڏانهن گيٽ ٿيل آهي، هڪ پيڪيج جيڪو ورڪ اسٽيشن تي ويٽ ڪرڻ وقت غير فعال نظر اچي ٿو اڃا تائين پيداوار ۾ لائيو ٿي سگهي ٿو - ويٽنگ کي ڪنٽينر هوسٽ نالو ۽ رستي جي حالتن کي ٻيهر پيدا ڪرڻ جي ضرورت آهي، يا ذريعو کي سڌو سنئون پڙهڻ جي ضرورت آهي، "مون ان کي انسٽال ڪيو ۽ ڪجهه به نه ٿيو." تي ڀروسو ڪرڻ جي بدران. ٻيو، هڪ بيڪن ڪليڪٽر جي طور تي عوامي درخواست-معائنو سروس جي استعمال جو مطلب آهي ته ڪجهه خارج ٿيل ڊيٽا واقعي جي جواب لاءِ بحال ٿي سگهي ٿو: هڪ تنظيم جيڪا انهن پيڪيجز مان هڪ کي پنهنجي انحصار واري وڻ ۾ ڳولي ٿي، اهو دليل ڏئي سگهي ٿي ته هڪ ڪامياب بيڪن پيل لوڊ جي ڪليڪشن منطق مان ڇا شامل هوندو، ۽ ڪنهن به IAM رول سندون، رجسٽري ٽوڪن، ۽ منظم رازن کي گھمائڻ گهرجي جيڪي متاثر ٿيل بلڊ يا رن ٽائيم ماحول مان پهچندا هئا. سند جي گردش، پيڪيج هٽائڻ نه، انسٽاليشن کان پوءِ آپريشنل ريميڊيئيشن آهي.





