TL, DR
Бөөгнөрөл таван npm багц, хоёр дансны хаягаар нийтлэгдсэн, илгээгдсэн postinstall хостоос үүлэн мэдээллийн итгэмжлэлийг уншиж, тэдгээрийг хайрцагнаас нь илгээдэг hook. Багцууд нь сүнс болон дээрэмчний нэрсийг агуулдаг — coral-wraith, ecto-corsair-whisper-6f3b9, ecto-corsair-flag-x9m4, ecto-rust-read-f3a9c1, ecto-nightly-spirit — мөн цуглуулсан бүх зүйлээ хуурамч болгон цуврал болгон хувиргадаг ecto_module: YAML манифестийг дамжуулахаас өмнө. Бид кластерыг дараах байдлаар хянадаг Эктоплазм.
Ачаалал нь зөвхөн тодорхой орчинг илрүүлсэн үед л ажилладаг: нэр нь ... хост 12 тэмдэгттэй зургаан өнцөгт тэмдэгт мөр болон доорх ажлын лавлах /app/node_modules — контейнержуулсан барилга эсвэл CI ажилтны хэлбэр. Тэр хаалга өнгөрөхөд дэгээ нь дараах асуултуудыг асууна. AWS жишээний мета үйлчилгээ (IMDSv2) IAM-ийн үүргийн итгэмжлэлийн хувьд тооллого хийдэг AWS нууцын менежер гурван бүс нутагт орчны хувьсагчдыг хаядаг, доорх файлуудыг уншдаг /app, мөн тугийг барих мөрүүдийг хусах. Дараа нь үр дүнг хоёр аргаар гадагшлуулдаг: дохиог webhook.site цуглуулагч болон манифестийг localhost-first нөөц хувилбаруудын жагсаалттай түүхий IP төгсгөлийн цэг рүү PUT хийнэ.
Дараагийн багцын тайлбарт "Verdaccio хангамжийн гинжин хэлхээний туршилтын CTF ачаалал" гэж бичсэн байна. Бид өөрийгөө тодорхойлохыг ажиглагдахуйц баримт гэж мэдээлж байна. Зан төлөв өөрөө - олон нийтийн IP хаяг руу шууд гарах, жинхэнэ IMDS итгэмжлэлийн уншилт, жинхэнэ Нууц менежерийн дуудлага - шошгоноос үл хамааран ийм байдаг бөгөөд эдгээр хувилбаруудыг хортой гэж ангилах шалтгаан болсон юм.
Кластерт нэг нэр байна, coral-wraith, ганцхан хувилбараар зогссонгүй. Энэ нь хэдхэн цагийн дотор хэдэн арван хувилбараар хурдан дараалан дахин хэвлэгдсэн - 1.0.0 руу авирч байна 6.0.0 — мөн ижил нэртэй өмнөх хувилбар нь хөөрөгдсөн утга ашигласан байсан 9999.0.x хувилбарын дугаарууд, сонгодог хэлбэр хамаарлын төөрөгдөл оролдлогоҮүний цаана ачаалал мэдэгдэхүйц боловсорсон: нэг удаагийн хост тооллогын дохиололоос зорилтот байны гадна чимээгүй байлгадаг орчны шалгалтаар ороосон бүрэн AWS итгэмжлэлийн эргэлтийн цэг хүртэл.
| Багцууд нь | 5 нэр; coral-wraith ганцаараа хэдэн арван хувилбараар дахин хэвлэгдсэн |
| Экосистем | npm |
| Векторыг суулгах | postinstall амьдралын мөчлөгийн скрипт |
| Үндсэн зорилт | AWS IAM үүргийн итгэмжлэлүүд + Нууцлалын менежерийн нууц утгууд, орчны хувьсагчууд, /app файлууд |
| Эксфил | webhook.site дохио + түүхий IP C2 PUT |
| Гох хаалга | 12-hex хост нэр + /app/node_modules cwd, дээр нь тухайн нөхцөл байдлаас гадуурх ачааллыг дардаг орчны шалгалт |
| Эвдрэлтэй байдал | өндөр — үүлэн мэдээллийн сан болон удирдлагын нууц мэдээллийг задруулсан контейнержуулсан бүтээх болон ажиллах үеийн орчин |
Довтолгооны анатоми
Кластер дахь бүх багц ижил аргаар бүтээгдсэн: бараг хоосон index.js (модуль.экспорт = {}), нэг мөр багц.json зохиол — “postinstall”: “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 зургаан өнцөгт хост нэр нь Docker-ийн контейнерт оноодог анхдагч хэлбэр бөгөөд /апп/node_modules нь уламжлалт контейнер доторх суулгах зам юм. Хэрэв зам нь хамгаалагдсан задлах сан шиг харагдаж байвал гурав дахь заалт нь батлагдана. Үүний үр дүнд ашигтай ачаалал нь хөгжүүлэгчийн зөөврийн компьютер эсвэл шинжилгээний хамгаалагдсан сан дээр идэвхгүй хэвээр үлдэж, зөвхөн контейнер бүтээх эсвэл ажиллах үеийн ажилтан дотор идэвхждэг - энэ нь амьд үүлэн итгэмжлэлийг авч явах хамгийн магадлалтай орчин юм. Кластер дахь хамгийн эртний багц, шүрэн сүнс, нь ийм хаалгагүй бөгөөд өөрийн (илүү энгийн) цуглуулгыг нөхцөлгүйгээр ажиллуулдаг.
цуглуулгаХаалга өнгөрөхөд дэгээ нэвт гарч ирнэ 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-метадат-токен толгой хэсэгт тухайн тохиолдлын IAM үүрэг болон тухайн үүрэгт түр зуурын хандалтын түлхүүрүүдийг татаж авна. Илүү энгийн баталгаажаагүй IMDSv1-ийн оронд IMDSv2-г хэрэгжүүлэх сонголт GET тэмдэглэх нь зүйтэй - энэ нь AWS-ийн санал болгосон хатуужуулалт болох токен дээр суурилсан мета өгөгдөлд хандах шаардлагатай байхаар тохируулсан тохиолдлуудад ч гэсэн ачаалал ажилладаг гэсэн үг юм. 3-р алхамаар буцаагдсан итгэмжлэлүүд нь богино хугацаанд ашиглагддаг. ХандалтынТүлхүүрийнИд/НууцлагдмалХандалтынТүлхүүр/токен гурвалсан тоо нь тухайн тохиолдлын үүрэгт хамаарна; тухайн үүрэг юу хийж чадахаас үл хамааран эдгээр түлхүүрийн эзэмшигч нь итгэмжлэлийн бүх хугацаанд хийж чадна.
4-6-р алхамууд нь ойлголтыг өргөжүүлнэ. энхтайван dump нь бүтээх эсвэл ажиллуулах үеийн процессоос өвлөгдсөн бүх зүйлийг хадгалдаг - практик дээр энэ нь бүртгэлийн жетон, мэдээллийн сангийн холболтын мөрүүд болон API түлхүүрүүд ихэвчлэн байрладаг газар юм. / апп file walk гаднаас арван таван хүртэлх програмын файлыг уншдаг зангилаа_ модуль, гадаргуугийн тохиргоог хийж чаддаг, .env файлууд эсвэл эх сурвалж. 6-р алхамын дуудлага aws нууцлалын менежерийн жагсаалтын нууцууд гурван бүс нутагт; 1-3-р алхамуудад татаж авсан итгэмжлэлүүд нь эдгээр дуудлагыг яг таг баталгаажуулдаг тул IMDS нь уншсан болон Нууцлалын Менежерийн тооллогын гинжийг нэг эскалация болгон нэгтгэдэг: жишээний үүрэг → удирдсан нууц инвентарь. 7-р алхам бол тугийг барих хүрээ рүү толгой дохих явдал юм - хэзээ нэгэн цагт HTB{…} Хэрэв туг олдвол түүнийг дангаар нь илгээнэ, эс тэгвээс цуглуулсан түүхий бөмбөлгийг дөрвөн хэсэгт хувааж илгээнэ.
Кластерын дараагийн хувилбарууд нь эскалацияг цааш нь авч үздэг. Тэд бараа материалын нөөц дээр зогсохын оронд IMDS хариуг задлан шинжилж, түр зуурын түлхүүрүүдийг дараах байдлаар экспортлодог AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKEN орчны хувьсагчдыг ашиглан таних тэмдгийг баталгаажуулна уу aws sts дуудагчийг таних тэмдэг авах, дараа нь буцааж өгсөн нууц бүрийг давтаж үзнэ үү жагсаалтын нууцууд дуудаж aws secretsmanager нь нууц үгийн утгыг авах тус бүр дээр - зөвхөн нэрийг нь төдийгүй нууц агуулгыг нь сэргээж байна. Үүнтэй ижил хувилбарууд нь процессоор орлуулсан тугны хоёртын файлуудыг уншдаг (/унших туг болон найзууд) мөн оролдлого хийх цэнэглэх гүйлт дор олдсон аливаа Rust төслийн эсрэг / апп, үүлэн технологиос гадна бүтээх орчинд гарч буй бүх зүйлд ургацыг өргөжүүлэх.
Эдгээр сүүлийн хувилбарууд нь өөрсдийгөө илүү түрэмгий байдлаар хаалт хийдэг. 12-hex-hostname болон-ээс гадна /апп/node_modules шалгахад, ачаалал нь идэвхтэй багц бүртгэлийн тохиргоо болон ажлын лавлах замыг шалгаж, тэдгээр нь шууд зорилтот бус харин шинжилгээ эсвэл толин тусгал контекстийг зааж өгөхөд чимээгүйхэн гарна. Нийлмэл нөлөө нь ихэнх шалгалтын орчинд ажиглагдах зүйлгүй бөгөөд зөвхөн өөрийгөө жинхэнэ контейнержүүлсэн хост дээр байгаа гэж үзсэн тохиолдолд л бүрэн цуглуулгаа ажиллуулдаг ачаалал юм.
ШүүрэлтЦуглуулсан өгөгдөл нь хостыг хоёр суваг дээр үлдээдэг. Нэгдүгээрт, дохио Шуудан тогтмол вэбхук.сайт цуглуулагч нь хостын нэр, тоон UID, ажлын лавлах болон 120 KB хүртэлх цуглуулсан өгөгдлийг агуулдаг. Хоёрдугаарт, өгөгдлийг хуурамч YAML “модуль манифест” болгон нугалдаг бөгөөд пут to /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 төлөвтэй хариулдаг эхний төгсгөлийн цэг дээр зогсдог. Localhost-first дараалал нь “verdaccio testing” өөрийн тодорхойлолттой (loopback дээрх орон нутгийн бүртгэл) нийцдэг боловч public-IP нөөцлөлтүүд нь давталт сонсохгүй байх үед өгөгдөл хостоос гардаг гэсэн үг юм - өөрөөр хэлбэл зохиогчийн өөрийн туршилтын төхөөрөмж биш аливаа машин дээр.
Цагийн хуваарь
Кластер нь нэг удаагийн уналтаас илүүтэй нэмэгдэл чадавхийн өсөлтийг харуулж байна. Бид үүнийг нийтлэх ханын цагаар биш, харин ажиглагдсан зан төлөвөөр нь эрэмбэлдэг:
| Тайзны | Багцууд / Хувилбарууд | Зан төлөв байдал |
|---|---|---|
| Эрт гүйлт | coral-wraith 9999.0.x | Хамаарал-төөрөгдөл оролдлоготой нийцсэн хувилбарын дугаарууд нэмэгдсэн; суулгах хугацааны тоололт болон exfil |
| үрийн | coral-wraith 1.0.0 | postinstall нь id/env/flag файлуудыг цуглуулдаг; ганц PUT нь 154[.]57[.]164[.]71:30782, тэмдэглэгээ ECT-472839 |
| Хурдан давталт | coral-wraith 1.0.1 → 6.0.0 | Хэдэн цагийн дотор хэдэн арван хувилбар гарсан; ачааны ачаалал нэмэгдсэн isAppWorker() хаалга, IMDSv2 итгэмжлэл татах, бүрэн get-secret-value pivot, бүртгэл/зам орчны шалгалт, болон давхар sink тэмдэглэгээнүүд |
| Зэрэгцээ нэрс | 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 түлхүүрүүд | Exfil манифест схем |
Угаалтуурын тэмдэглэгээ ECT-472839, ECT-987654, ECT-654321, ECT-839201 | C2 замын хэсэг /api/modules/<marker> |
isAppWorker() хаалга: хост /^[0-9a-f]{12}$/, cwd агуулсан /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 |
Атрибут ба ажиглагдсан зан төлөв
Таван багцын нэрийг хоёр npm дансны бариул дор нийтэлсэн боловч тэдгээрийг нэг кластер гэж үзэх хангалттай дэд бүтцийг хуваалцдаг: ижил ecto_module манифест схем, адилхан ECT-472839 анхдагч угаалтуурын тэмдэглэгээ, адилхан вэбхук.сайт цуглуулагчийн ID болон C2 төгсгөлийн цэгүүдийг нэг дор байрлуулна 154.57.164.0/24` блок. Үрийн багц (`шүрэн сүнс, илүү энгийн бөгөөд хамгаалалтгүй) ба хаалгатай экто-гэр бүлийг бие даасан хүчин чармайлтаас илүүтэй нэг хэрэгслийн давталт гэж уншдаг.
Багцууд нь дараагийн хувилбаруудад өөрсдийгөө дараах байдлаар тайлбарладаг "Вердаччо хангамжийн сүлжээний туршилтын CTF-ийн ачаалал." Бид энэ шошгыг ажиглагдахуйц баримт гэж үзэж байгаа бөгөөд зорилгын талаарх олдвор гэж дахин тайлбарлахгүй. Код нь юу хийдэг нь хоёрдмол утгагүй бөгөөд хэрхэн шошгологдсоноос үл хамаарна: энэ нь IAM үүргийн итгэмжлэлийг инстанцийн мета өгөгдлийн үйлчилгээнээс уншиж, гурван AWS бүсийн удирддаг нууцыг тоолж, үр дүнг олон нийтийн IP болон гуравдагч талын вэбхук цуглуулагч руу дамжуулдаг. Зөвхөн давталттай туршилтын бэхэлгээнд олон нийтийн IP нөөц жагсаалт, IMDS итгэмжлэлийн уншилт эсвэл бүс хоорондын Нууцлалын Менежерийн дуудлага шаардлагагүй болно. Гарах болон итгэмжлэлийн хүртээмж бодит тул хаалттай хувилбаруудыг хортой гэж ангилсан.
Зөвхөн контейнерт зориулсан хаалга нь үйл ажиллагааны хувьд хамгийн мэдэгдэхүйц шинж чанар юм. Энэ нь зайлсхийх хэмжүүр юм - зөөврийн компьютер болон шинжилгээний хамгаалагдсан орчинд чимээгүй байх - мөн жинхэнэ IAM үүрэг болон амьд нууцууд хамгийн их байх магадлалтай газарт л бууддаг онилох хэмжүүр юм. Эдгээр багцуудыг ерөнхий хамгаалагдсан орчинд ажиллуулж буй шинжээчид юу ч ажиглахгүй; энэ зан төлөв нь зөвхөн Docker маягийн хост нэр болон контейнер доторх суулгах зам дор илэрдэг.
Хамгаалагчдын нөлөөлөл, чиг хандлага болон удирдамж
Энд ил гарсан зүйл бол бүтээх болон ажиллах үеийн контейнер доторх үүлэн итгэмжлэл болон нууц задрал юм. IMDS-ээс татаж авсан IAM үүргийн итгэмжлэл нь тухайн үүргийн эзэмшдэг аливаа зөвшөөрлийг агуулдаг; нууцын менежер: Нууцын жагсаалт (мөн дараагийн бичлэгүүд Нууцлалын утгыг авах) нь хадгалагдсан програмын нууцыг өргөжүүлдэг. Орчны хувьсагчийн овоолго нь бүртгэлийн жетон, мэдээллийн сангийн URL хаягууд болон API түлхүүрүүдийг байнга агуулдаг. CI эсвэл контейнер контекстэд - яг хаалганы сонгосон зүйлд - эдгээр багцуудын аль нэгийг нь ганц удаа суулгах нь тухайн материалыг алдагдуулахад хангалттай.
Эктоплазм нь бидний харж байгаа хэв маягтай тохирч байна: суулгах хугацааны ачаалал нь орон нутгийн файлуудын оронд үүлэн мета өгөгдөл болон удирддаг нууцад хүрдэг бөгөөд зөвхөн өндөр үнэ цэнэтэй орчинд л ажиллах боломжтой. Дараах хоёр хамгаалалтын ажиглалт байна.
- Хэлбэр нь мэдрэгдэх боломжтой. npm/PyPI суулгалтын дэгээ нь дуудлагын график нь үүлэн нууцлалын API хоёуланд нь хүрдэг (aws нууц менежер, gcloud нууцууд, az keyvault) эсвэл IMDS хаяг болон сүлжээний гаралтын угаалтуур нь нарийн, өндөр дохионы хэв маягтай байдаг - энэ нь хууль ёсны амьдралын мөчлөгийн скриптэд бараг хэзээ ч тохиолддоггүй. Статик урсгалын шинжилгээ ямар нэгэн тодорхой домэйн эсвэл IP хаягаас хамааралгүйгээр үүнийг тэмдэглэж болно.
- Байгаль орчны хатуурал нь үүнийг мохоож байна. IMDSv2-г 1 гэсэн hop хязгаараар хэрэгжүүлэх нь контейнерын ажлын ачааллыг инстанцийн мета өгөгдөлд хүрэхээс сэргийлдэг; IAM үүргийг хамгийн бага эрхтэй болгож хязгаарлах нь алдагдсан аливаа итгэмжлэлийн тэсрэлтийн радиусыг хязгаарладаг; мөн суулгалтыг дараахтай хамт ажиллуулдаг –үл тоомсорлох-скриптүүд CI дотор install-hook векторыг шаардлагагүй багцуудын хувьд бүрэн устгадаг.
Хамгаалагчдын хувьд практик шалгалтууд нь: build/CI контейнеруудаас зөвшөөрөгдөөгүй жагсаалтад байгаа нийтийн IP хаягууд руу гарах холболтуудын талаар анхааруулга өгөх npm суулгах; багцын амьдралын мөчлөгийн скриптээс гаралтай IMDS хандалтыг хянах; мөн үүлэн CLI руу дамжуулдаг аливаа суулгах дэгээг өөрөөр батлагдах хүртэл сэжигтэй гэж үзэх.
Энэ кластерт хамаарах хоёр нэмэлт тэмдэглэл. Нэгдүгээрт, идэвхжүүлэлт нь контейнержүүлсэн орчинд хаалттай байдаг тул ажлын станц дээр шалгагдсан үед идэвхгүй харагдаж байгаа багц нь үйлдвэрлэлд ажиллаж байж болно - шалгалт нь контейнерийн хостын нэр болон замын нөхцөлийг хуулбарлах эсвэл "Би үүнийг суулгасан бөгөөд юу ч болоогүй" гэсэн асуултад найдахаас илүүтэйгээр эх сурвалжийг шууд унших шаардлагатай. Хоёрдугаарт, олон нийтийн хүсэлтийн шалгалтын үйлчилгээг дохио цуглуулагч болгон ашиглах нь зарим гадагшлуулсан өгөгдлийг ослын хариуд сэргээх боломжтой гэсэн үг юм: эдгээр багцуудын аль нэгийг хамаарлын модноосоо олсон байгууллага нь амжилттай дохио нь ашигтай ачааллын цуглуулгын логикоос юу агуулж байсан талаар эргэцүүлэн бодож, нөлөөлөлд өртсөн бүтээх эсвэл ажиллах үеийн орчноос хандах боломжтой IAM үүргийн итгэмжлэл, бүртгэлийн жетон, удирдсан нууцыг эргүүлэх ёстой. Итгэмжлэлийн эргэлт, багц устгах биш, харин суулгалт эхэлсний дараа үйлдлийн залруулга юм.





