ایکٹوپلاسم این پی ایم انسٹال کریں۔ Hooks وہ AWS اسناد چوری کرتا ہے۔

ایکٹوپلاسم: این پی ایم انسٹال کریں۔ hooks جو صرف کنٹینر ٹرگر کے پیچھے AWS اسناد کی کٹائی کرتا ہے۔

TL؛ ڈاکٹر

کا ایک جھرمٹ پانچ این پی ایم پیکیجز, دو اکاؤنٹ ہینڈلز میں شائع ہوا، بھیج دیا گیا a postinstall ہک جو میزبان سے کلاؤڈ اسناد پڑھتا ہے اور انہیں آف باکس بھیج دیتا ہے۔ پیکجوں میں بھوت اور بحری قزاقوں کے نام ہیں۔ coral-wraith, ecto-corsair-whisper-6f3b9, ecto-corsair-flag-x9m4, ecto-rust-read-f3a9c1, ecto-nightly-spirit - اور جو کچھ بھی وہ جمع کرتے ہیں اسے جعلی میں ترتیب دیں۔ ecto_module: اسے منتقل کرنے سے پہلے YAML مینی فیسٹ۔ ہم کلسٹر کو بطور ٹریک کرتے ہیں۔ ایکٹوپلاسم.

پے لوڈ صرف اس وقت چلتا ہے جب یہ ایک مخصوص ماحول کا پتہ لگاتا ہے: ایک میزبان جس کا نام a ہے۔ 12-حروف ہیکس سٹرنگ اور ایک ورکنگ ڈائرکٹری کے تحت /app/node_modules - کنٹینرائزڈ بلڈ یا CI ورکر کی شکل۔ جب وہ گیٹ گزرتا ہے، ہک سوال کرتا ہے۔ AWS مثال میٹا ڈیٹا سروس (IMDSv2) IAM کردار کی اسناد کے لیے، شمار کرتا ہے۔ AWS سیکرٹس مینیجر تین خطوں میں، ماحول کے متغیرات کو پھینک دیتا ہے، فائلوں کو نیچے پڑھتا ہے۔ /app، اور کیپچر دی فلیگ تاروں کے لیے سکریپ۔ اس کے بعد یہ نتیجہ کو دو طریقوں سے خارج کرتا ہے: a سے ایک بیکن webhook.site لوکل ہوسٹ فرسٹ فال بیکس کی فہرست کے ساتھ، کلکٹر اور ایک خام IP اینڈ پوائنٹ پر ایک مینی فیسٹ PUT۔

بعد کے پیکج کی وضاحتیں "ورڈاکیو سپلائی چین ٹیسٹنگ کے لیے CTF پے لوڈ" پڑھتی ہیں۔ ہم اس خود کی وضاحت کو ایک قابل مشاہدہ حقیقت کے طور پر رپورٹ کرتے ہیں۔ برتاؤ خود — عوامی IP پر براہ راست اخراج، حقیقی IMDS اسناد کے مطالعہ، حقیقی راز مینیجر کالز — لیبل سے قطع نظر وہی ہے، اور یہی وجہ ہے کہ ان ورژنز کو بدنیتی پر مبنی درجہ بندی کیا گیا تھا۔

کلسٹر میں ایک نام، coral-wraith، ایک ریلیز پر نہیں رکا۔ یہ چند گھنٹوں میں درجنوں ورژن کے ذریعے تیزی سے پے در پے دوبارہ شائع ہوا۔ 1.0.0 پر چڑھنا 6.0.0 - اور اسی نام کے پہلے رن نے فلایا ہوا استعمال کیا تھا۔ 9999.0.x ورژن نمبرز، ایک کی کلاسک شکل انحصار-الجھن کی کوشش. اس کے دوران پے لوڈ کو بظاہر پختہ بناتا ہے: ایک شاٹ کے میزبان گنتی کے بیکن سے ایک مکمل AWS اسناد کے محور میں ماحول کی جانچ پڑتال جو اسے اپنے مطلوبہ ہدف سے باہر خاموش رکھتی ہے۔

پیکجوں کے 5 نام؛ coral-wraith اکیلے درجنوں ورژنوں میں دوبارہ شائع ہوا۔
ماحولیاتی نظام npm
ویکٹر انسٹال کریں۔ postinstall لائف سائیکل سکرپٹ
بنیادی ہدف AWS IAM کردار کی اسناد + راز مینیجر خفیہ اقدار، ماحولیاتی متغیرات، /app فائلوں
Exfil webhook.site بیکن + raw-IP C2 PUT
ٹرگر گیٹ 12-ہیکس میزبان نام + /app/node_modules cwd، نیز ایک ماحول کی جانچ جو اس سیاق و سباق سے باہر پے لوڈ کو دباتی ہے۔
شدت اعلی - کلاؤڈ اسناد اور منظم خفیہ انکشاف منجانب کنٹینرائزڈ بلڈ اور رن ٹائم ماحول

حملہ اناٹومی

کلسٹر میں ہر پیکج اسی طرح بنایا گیا ہے: قریب سے خالی index.js (module.exports = {})، ایک لائن package.json سکرپٹ - "postinstall": "node postinstall.js" - اور پے لوڈ اندر postinstall.js. ہک چلانے کے لیے پیکیج کو انسٹال کرنا کافی ہے۔ کوئی درآمد یا کال کی ضرورت نہیں ہے.

نشانہ بنانے والا گیٹ۔ کچھ بھی کرنے سے پہلے، ایکٹو فیملی پے لوڈ اپنے اردگرد کی جانچ پڑتال کرتا ہے:

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-ہیکس ہوسٹ نام ڈیفالٹ شکل ہے جو ڈوکر کنٹینر کو تفویض کرتا ہے، اور /app/node_modules کنٹینر انسٹال کرنے کا ایک روایتی راستہ ہے۔ اگر راستہ سینڈ باکس نکالنے والی ڈائرکٹری کی طرح لگتا ہے تو تیسری شق ضمانت دیتی ہے۔ خالص اثر یہ ہے کہ پے لوڈ ایک ڈویلپر لیپ ٹاپ یا تجزیہ سینڈ باکس پر غیر فعال رہتا ہے اور صرف ایک کنٹینرائزڈ بلڈ یا رن ٹائم ورکر کے اندر متحرک ہوتا ہے - اس قسم کا ماحول جس میں لائیو کلاؤڈ اسناد رکھنے کا زیادہ امکان ہوتا ہے۔ کلسٹر میں ابتدائی پیکیج، coral-wraith، میں ایسا کوئی گیٹ نہیں ہے اور وہ اپنا (سادہ) مجموعہ غیر مشروط طور پر چلاتا ہے۔

جمعکاری. جب گیٹ گزرتا ہے، تو کانٹا باہر نکل جاتا ہے۔ execFileSync(“/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-metadata-token مثال کے IAM کردار اور اس کردار کی عارضی رسائی کیز کو کھینچنے کے لیے ہیڈر۔ آسان غیر تصدیق شدہ IMDSv1 کے بجائے IMDSv2 کو لاگو کرنے کا انتخاب حاصل کریں قابل غور ہے — اس کا مطلب ہے کہ پے لوڈ ٹوکن پر مبنی میٹا ڈیٹا تک رسائی کی ضرورت کے لیے تشکیل شدہ مثالوں پر بھی کام کرتا ہے، جو کہ AWS کی تجویز کردہ سختی ہے۔ مرحلہ 3 کے ذریعے واپس کی گئی اسناد قلیل المدتی ہیں۔ AccessKeyId/SecretAccessKey/ٹوکن مثال کے کردار تک تین گنا دائرہ کار؛ وہ کردار جو کچھ بھی کر سکتا ہے، ان کیز کا حامل اسناد کی زندگی بھر کے لیے کر سکتا ہے۔

مراحل 4-6 ٹیک کو وسیع کریں۔ دی env ڈمپ کسی بھی چیز کو حاصل کرتا ہے جو تعمیر یا رن ٹائم کے عمل کو وراثت میں ملا ہے — عملی طور پر یہ وہ جگہ ہے جہاں رجسٹری ٹوکن، ڈیٹا بیس کنکشن کے تار، اور API کیز اکثر زندہ رہتی ہیں۔ دی / ایپ۔ فائل واک باہر کی پندرہ ایپلیکیشن فائلوں کو پڑھتی ہے۔ نوڈ_موڈولز، جو سطح ترتیب دے سکتا ہے، .env فائلیں، یا ماخذ۔ مرحلہ 6 کال کریں۔ aws secretsmanager list-secrets تین علاقوں میں؛ مراحل 1–3 میں کھینچی گئی اسناد بالکل وہی ہیں جو ان کالوں کی تصدیق کرتی ہیں، اس لیے IMDS پڑھتا ہے اور سیکرٹس مینیجر شماری سلسلہ کو ایک ساتھ بڑھاتا ہے: مثال کا کردار → منظم خفیہ انوینٹری۔ مرحلہ 7 کیپچر دی فلیگ فریمنگ کی منظوری ہے — جب ایک HTB{…} جھنڈا مل جائے تو اسے خود بھیجا جاتا ہے، ورنہ خام جمع شدہ بلاب کے چار ٹکڑے کر کے بھیج دیا جاتا ہے۔

کلسٹر میں بعد کے ورژن اس اضافہ کو مزید بڑھاتے ہیں۔ انوینٹری پر رکنے کے بجائے، وہ IMDS کے جواب کو پارس کرتے ہیں، عارضی کیز کو بطور ایکسپورٹ کرتے ہیں۔ AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKEN ماحولیاتی متغیرات کے ساتھ شناخت کی تصدیق کریں۔ aws sts get-caller-identity، اور پھر لوٹے گئے ہر راز پر نظر ڈالیں۔ فہرست راز بلا aws secretsmanager get-secret-value ہر ایک پر — خفیہ مواد کی بازیافت کرنا، نہ صرف ان کے نام۔ وہی ورژن عمل کے متبادل پرچم بائنریز کو بھی پڑھتے ہیں (/پڑھیں۔ اور دوست) اور کوشش کریں a چارج چلائیں کے تحت پائے جانے والے کسی بھی زنگ منصوبے کے خلاف / ایپ۔، جو کچھ بھی تعمیراتی ماحول کو ظاہر کرتا ہے اس میں کلاؤڈ اسناد سے آگے فصل کو وسیع کرنا۔

یہ بعد کے ورژن بھی خود کو زیادہ جارحانہ انداز میں پیش کرتے ہیں۔ 12-ہیکس-میزبان نام کے علاوہ اور /app/node_modules چیک کرتا ہے، پے لوڈ فعال پیکیج-رجسٹری کنفیگریشن اور ورکنگ ڈائرکٹری کے راستے کا معائنہ کرتا ہے اور خاموشی سے باہر نکل جاتا ہے جب وہ کسی لائیو ٹارگٹ کے بجائے کسی تجزیہ یا عکس کے سیاق و سباق کی نشاندہی کرتا ہے۔ مشترکہ اثر ایک پے لوڈ ہے جو زیادہ تر معائنہ کے ماحول میں قابل مشاہدہ کچھ نہیں کرتا ہے اور اپنے مکمل مجموعہ کو صرف اسی جگہ چلاتا ہے جہاں یہ خود کو حقیقی کنٹینرائزڈ میزبان پر ہونے کا فیصلہ کرتا ہے۔

جلاوطنی. جمع کردہ ڈیٹا میزبان کو دو چینلز پر چھوڑ دیتا ہے۔ سب سے پہلے، ایک بیکن POST ایک مقررہ تک webhook.site کلیکٹر، میزبان نام، عددی UID، ورکنگ ڈائرکٹری، اور 120 KB تک جمع کردہ ڈیٹا لے کر جاتا ہے۔ دوسرا، ڈیٹا کو جعلی YAML "ماڈیول مینی فیسٹ" میں جوڑ دیا جاتا ہے اور رکھ کرنے کے لئے /api/modules/ ٹارگٹ سرور پر:

ecto_module:   name: "<flag-or-chunk-0>"   version: "1.0.0"   power_level: "<chunk-1>"   ship_deck: "<chunk-2>"   cargo_hold: "<chunk-3>"

مینی فیسٹ فیلڈ کے نام (پاور_لیول, جہاز کا ڈیک, cargo_hold) سجاوٹ ہیں — چوری شدہ ڈیٹا سٹرنگ ویلیوز کے اندر سوار ہوتا ہے، یہی وجہ ہے کہ نیٹ ورک مانیٹر یہ دیکھتا ہے کہ واضح ڈیٹا ڈمپ کے بجائے ایک سومی پیکیج-رجسٹری مینی فیسٹ اپ لوڈ کی طرح دکھائی دیتا ہے۔ بیکن چینل مزید لے جاتا ہے: POST جسم کو webhook.site اس میں میزبان نام، عددی UID، ورکنگ ڈائرکٹری، اور جمع کیے گئے بلاب کے 120 KB تک شامل ہیں، اس لیے ایک کامیاب بیکن بھی مکمل ٹیک فراہم کرتا ہے۔ webhook.site ایک مفت درخواست معائنہ کی خدمت ہے۔ اسے بطور کلکٹر استعمال کرنے کا مطلب ہے کہ آپریٹر کو کبھی بھی اس چینل کے لیے اپنا بنیادی ڈھانچہ حاصل کرنے کے لیے کھڑا نہیں ہونا پڑتا ہے، اور ریکارڈ شدہ درخواستیں سروس کے بن میں برقرار رہتی ہیں۔

ظاہر رکھ ایک فال بیک لسٹ چلتا ہے جو کئی سے شروع ہوتی ہے۔ 127.0.0.1/localhost بندرگاہوں اور پھر ` میں تین عوامی پتوں کے ذریعے آتا ہے154.57.164.0/24` رینج، پہلے اختتامی نقطہ پر روکنا جو 2xx اسٹیٹس کے ساتھ جواب دیتا ہے۔ لوکل ہوسٹ فرسٹ آرڈرنگ "verdaccio ٹیسٹنگ" سیلف ڈسکرپشن (لوپ بیک پر ایک مقامی رجسٹری) کے ساتھ مطابقت رکھتی ہے، لیکن پبلک-IP فال بیکس کا مطلب ہے کہ جب بھی لوپ بیک نہیں سن رہا ہے تو ڈیٹا میزبان کو چھوڑ دیتا ہے — جس کا کہنا ہے کہ کسی بھی مشین پر جو مصنف کی اپنی ٹیسٹ رگ نہیں ہے۔

ٹائم لائن

کلسٹر ایک ڈراپ کے بجائے صلاحیت میں اضافہ دکھاتا ہے۔ ہم اسے مشاہدہ شدہ طرز عمل سے ترتیب دیتے ہیں، وال کلاک شائع کرنے سے نہیں:

اسٹیج پیکیجز / ورژن رویہ
ابتدائی دوڑ coral-wraith 9999.0.x فلایا ہوا ورژن نمبر انحصار کنفیوژن کی کوشش سے مطابقت رکھتا ہے۔ انسٹال وقت کی گنتی اور exfil
بیجوں coral-wraith 1.0.0 پوسٹ انسٹال id/env/flag فائلوں کو جمع کرتا ہے۔ سنگل PUT to 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 تک) رجسٹری پر براہ راست دیکھا گیا، اور coral-wraith نام ایک ہی کھڑکی پر اپنے ورژن کی سیڑھی پر چڑھتا رہا۔

سمجھوتہ کے اشارے

نیچے دیے گئے تمام اشارے ڈسک پر موجود پیکیج سورس سے نکالے گئے تھے۔ نیٹ ورک کے اشارے خراب ہیں۔

نیٹ ورک

اشارے کردار
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 چابیاں Exfil مینی فیسٹ اسکیما
سنک مارکر ECT-472839, ECT-987654, ECT-654321, ECT-839201 C2 پاتھ سیگمنٹ /api/modules/<marker>
isAppWorker() gate: میزبان /^[0-9a-f]{12}$/، cwd پر مشتمل ہے۔ /app/node_modules چالو کرنے کی حالت
aws secretsmanager list-secrets پر us-east-1, eu-west-1, eu-central-1 راز کی گنتی
HTB{...} regex سکریپ پرچم کی فصل کیپچر

فائل ہیشز (sha256، تجزیہ کے وقت پکڑا گیا)

فائل Sh256
coral-wraith/postinstall.js ce5ff035cfdfed1d0015446424b352c27b66bcb77e9fdb0a51e4245199146824
ecto-corsair-whisper-6f3b9 1.0.18/postinstall.js b58432acba376aa6976f0490d9a1c04257ccdbc856d8390260c50322d63e31c3

انتساب اور مشاہدہ سلوک

پیکیج کے پانچ نام دو این پی ایم اکاؤنٹ ہینڈلز کے تحت شائع کیے گئے تھے، لیکن وہ ایک کلسٹر کے طور پر علاج کرنے کے لیے کافی بنیادی ڈھانچے کا اشتراک کرتے ہیں: وہی ecto_module ظاہر سکیما، ایک ہی ECT-472839 بنیادی سنک مارکر، ایک ہی webhook.site کلکٹر ID، اور اسی میں C2 اختتامی پوائنٹس 154.57.164.0/24` بلاک۔ بیجوں کا پیکج (`کورل وریٹ، آسان اور غیر منقولہ) اور گیٹڈ ایکٹو فیملی کو آزادانہ کوششوں کے بجائے ایک ٹول کٹ پر تکرار کے طور پر پڑھا جاتا ہے۔

پیکیج خود کو بیان کرتے ہیں، بعد کے ورژن میں، جیسا کہ "verdaccio سپلائی چین ٹیسٹنگ کے لیے CTF پے لوڈ۔" ہم اس لیبل کو ایک قابل مشاہدہ حقیقت کے طور پر ظاہر کرتے ہیں اور اسے مقصد کے بارے میں تلاش کے طور پر دوبارہ بیان نہیں کرتے ہیں۔ کوڈ جو کچھ کرتا ہے وہ غیر مبہم اور اس سے آزاد ہے کہ اسے کس طرح لیبل لگایا گیا ہے: یہ مثال کے میٹا ڈیٹا سروس سے IAM کردار کی اسناد پڑھتا ہے، تین AWS علاقوں میں منظم رازوں کو شمار کرتا ہے، اور نتائج کو عوامی IP اور تیسرے فریق ویب ہک کلکٹر کو منتقل کرتا ہے۔ حقیقی طور پر صرف لوپ بیک ٹیسٹ ہارنیس کو عوامی-IP فال بیک لسٹ، IMDS اسناد کے پڑھنے، یا کراس ریجن سیکرٹس مینیجر کالز کی ضرورت نہیں ہوگی۔ چونکہ اخراج اور اسناد کی رسائی حقیقی ہے، اس لیے گیٹڈ ورژن کو بدنیتی پر مبنی درجہ بندی کیا گیا تھا۔

صرف کنٹینر گیٹ سب سے زیادہ فعال طور پر قابل ذکر خصوصیت ہے۔ یہ دونوں چوری کی پیمائش ہے — لیپ ٹاپ پر خاموش رہنا اور تجزیہ سینڈ باکسز میں — اور ایک ہدف سازی کا پیمانہ، صرف اس جگہ فائرنگ کرنا جہاں IAM کا حقیقی کردار اور زندہ راز موجود ہونے کا زیادہ امکان ہو۔ عام سینڈ باکس میں ان پیکجوں کو چلانے والے تجزیہ کار کچھ بھی نہیں دیکھیں گے۔ رویہ صرف ڈوکر طرز کے میزبان نام اور ان کنٹینر انسٹال پاتھ کے تحت ظاہر ہوتا ہے۔

محافظوں کے لیے اثر، رجحانات اور رہنمائی

یہاں کی نمائش کلاؤڈ اسناد اور بلڈ اور رن ٹائم کنٹینرز کے اندر خفیہ انکشاف ہے۔ IMDS سے حاصل کردہ IAM رول کی سند میں جو بھی اجازت ہوتی ہے وہ اس کردار کے پاس ہوتی ہے۔ راز کا منتظم: فہرست راز (اور کوئی فالو آن GetSecretValue) اسے ذخیرہ شدہ ایپلیکیشن رازوں تک وسیع کرتا ہے۔ ماحولیاتی متغیر ڈمپ میں اکثر رجسٹری ٹوکن، ڈیٹا بیس یو آر ایل، اور API کیز ہوتے ہیں۔ CI یا کنٹینر کے سیاق و سباق میں — بالکل وہی چیز جس کے لیے گیٹ منتخب کرتا ہے — ان پیکجوں میں سے کسی ایک کا واحد ٹرانزیٹو انسٹال اس مواد کو لیک کرنے کے لیے کافی ہے۔

ایکٹوپلاسم ایک ایسے نمونے کے ساتھ فٹ بیٹھتا ہے جسے ہم دیکھتے رہتے ہیں: انسٹال ٹائم پے لوڈز جو کلاؤڈ میٹا ڈیٹا تک پہنچتے ہیں اور مقامی فائلوں کے بجائے منظم رازوں تک پہنچتے ہیں، اور وہ گیٹ خود کو صرف اعلیٰ قدر والے ماحول میں فائر کرنے کے لیے۔ دو دفاعی مشاہدات کے بعد۔

  • شکل قابل شناخت ہے۔. ایک npm/PyPI انسٹال ہک جس کا کال گراف کلاؤڈ سیکریٹ API دونوں تک پہنچتا ہے (اے ڈبلیو ایس سیکرٹ مینیجر, gcloud کے راز, az keyvault) یا IMDS ایڈریس اور نیٹ ورک ایگریس سنک ایک تنگ، ہائی سگنل پیٹرن ہے — یہ تقریباً کبھی بھی جائز لائف سائیکل اسکرپٹ میں نہیں ہوتا ہے۔ جامد بہاؤ تجزیہ کسی مخصوص ڈومین یا IP پر انحصار کیے بغیر اسے جھنڈا لگا سکتا ہے۔
  • ماحول کی سختی اسے ختم کر دیتی ہے۔ IMDSv2 کو 1 کی ہاپ حد کے ساتھ نافذ کرنا کنٹینر کے کام کے بوجھ کو مثال کے میٹا ڈیٹا تک پہنچنے سے روکتا ہے۔ IAM کے کرداروں کو کم از کم استحقاق تک محدود کرنا کسی بھی اسناد کے دھماکے کے رداس کو محدود کرتا ہے جو لیک ہوتا ہے۔ اور اس کے ساتھ انسٹال چل رہا ہے۔ -اسکرپٹس کو نظر انداز کریں۔ CI میں انسٹال ہک ویکٹر کو مکمل طور پر ان پیکجوں کے لیے ہٹاتا ہے جن کی ضرورت نہیں ہے۔

محافظوں کے لیے، عملی جانچیں یہ ہیں: بلڈ/سی آئی کنٹینرز سے لے کر غیر اجازت یافتہ عوامی IPs تک آؤٹ باؤنڈ کنکشن پر الرٹ این ایم پی انسٹال; پیکیج لائف سائیکل اسکرپٹس سے شروع ہونے والی IMDS تک رسائی پر نظر رکھیں؛ اور کسی بھی انسٹال ہک کا علاج کریں جو کلاؤڈ CLI کو مشتبہ سمجھے جب تک کہ دوسری صورت میں ثابت نہ ہو۔

اس کلسٹر کے لیے مخصوص دو مزید نوٹس۔ سب سے پہلے، کیونکہ ایکٹیویشن کو کنٹینرائزڈ ماحول کے لیے گیٹ کیا جاتا ہے، ایک ایسا پیکج جو ورک سٹیشن پر جانچ پڑتال کے بعد بھی غیر فعال دکھائی دیتا ہے اب بھی پروڈکشن میں رہ سکتا ہے - جانچ کے لیے کنٹینر کے میزبان نام اور راستے کے حالات کو دوبارہ پیش کرنے کی ضرورت ہے، یا "میں نے اسے انسٹال کیا اور کچھ نہیں ہوا" پر انحصار کرنے کے بجائے براہ راست ماخذ کو پڑھنے کی ضرورت ہے۔ دوسرا، بیکن کلیکٹر کے طور پر عوامی درخواست کے معائنہ کی خدمت کے استعمال کا مطلب یہ ہے کہ واقعہ کے ردعمل کے لیے کچھ نکالا گیا ڈیٹا بازیافت کیا جا سکتا ہے: ایک تنظیم جو ان پیکجوں میں سے ایک کو اپنے انحصار کے درخت میں تلاش کرتی ہے وہ اس بارے میں دلیل دے سکتی ہے کہ کامیاب بیکن میں پے لوڈ کی جمع کرنے کی منطق سے کیا کچھ ہوتا ہے، اور اسے کسی بھی IAM کردار کی اسناد کو گھمایا جانا چاہیے، جس سے متاثر ہونے والے یا رجسٹری کے وقت تک رسائی حاصل کی جا سکتی ہے۔ ماحول سندی گردش، پیکیج کو ہٹانا نہیں، ایک بار انسٹال ہونے کے بعد آپریٹو علاج ہے۔

sca-tools-software-composition-analysis-tools
اپنے سافٹ ویئر کے خطرات کو ترجیح دیں، تدارک کریں اور محفوظ کریں۔
اپنا مفت اکاؤنٹ حاصل کریں۔
کوئی کریڈٹ کارڈ کی ضرورت نہیں ہے.

اپنے سافٹ ویئر ڈویلپمنٹ اور ڈیلیوری کو محفوظ بنائیں

Xygeni پروڈکٹ سویٹ کے ساتھ