Kas yra apribotas apvalkalas ir kodėl svarbios šokinėjančios apvalkalo atakos?
Apriboti apvalkalai naudojami norint valdyti, kokias komandas vartotojai gali vykdyti, dažnai užkertant kelią tokiems veiksmams kaip cd, paleidžiant naujus apvalkalus arba eksportuojant aplinkos kintamuosius. Jie paprastai diegiami CI/CD agentai arba kurti aplinkas, skirtas apriboti naudotojų elgesį. Tačiau užpuolikai ieško būdų, kaip atlikti šuolį su apvalkalu – metodą, naudojamą norint ištrūkti iš apribotų apvalkalų aplinkų ir gauti prieigą prie neribotų apvalkalų, tokių kaip šiukšliadėžė/bash. Kartą viduje it, užpuolikas turi visišką komandinės eilutės valdymą, apeidamas visus apribotos aplinkos apribojimus.
Kaip veikia „Jumping Shell“: nuo „Restricted“ iki „bin/bash“
Šokinėjančio sviedinio tikslas – išnaudoti silpnąsias vietas ribotoje aplinkoje ir sukelti pabėgimą iš sviedinio, kuris veda prie šiukšliadėžė/bashĮprasti riboto apvalkalo atakų pabėgimo būdai:
$ ls /bin/bash $ /bin/bashIf šiukšliadėžė/bash yra prieinama, ši paprasta iškvietimas ją užbaigia.
Kitas įprastas metodas:
$ echo "/bin/bash" > run.sh $ sh run.sh Užpuolikai taip pat gali išnaudoti tokius redaktorius kaip vi or mažiau:
vi :set shell=/bin/bash :shell Šie metodai iliustruoja, kaip lengvai šokinėjanti kriauklė gali sukelti šiukšliadėžė/bash vykdymą, efektyviai apeinant apribotas apvalkalo apsaugas.
Tikroji šių atakų rizika DevOps aplinkoje
Bendrinamame CI/CD aplinkose, apriboti apvalkalai naudojami kompiliacijoms izoliuoti ir rizikai sumažinti. Tačiau kai užpuolikas sėkmingai panaudoja šokinėjantį apvalkalą ir pasiekia šiukšliadėžė/bash, saugumo modelis žlunga.
Rizika apima:
- Neteisėta prieiga prie aplinkos paslapčių
- Privilegijų eskalavimas per neribotą šiukšliadėžė/bash
- Klastojimas dėl konstrukcijos pipelines arba artefaktai
- Nuolatinių įrankių diegimas viduje pipeline
Apribotas pabėgimo apvalkalas šiukšliadėžė/bash atveria duris visiškam sistemos kompromisui, dažnai pirmam žingsniui platesniame kontekste DevSecOps ataka.
Šokinėjančių „Shell“ ir „Bin/Bash“ pabėgimų stebėjimas ir aptikimas
Norėdamos aptikti šokinėjimo apvalkalo elgseną ir blokuoti bandymus, kuriems taikomas apribojimas pabėgti, saugumo komandos privalo:
- Registruokite visą apvalkalo veiklą, ypač / bin / bash vykdymas
- Stebėkite redaktoriaus piktnaudžiavimą ir scenarijų naudojimą kaip apvalkalo neršto vektorius
- Stebėti prieigą prie apvalkalo konfigūracijos failų, pvz. .bashrc or .bash_profile
Elgesio modeliai, tokie kaip paleidimas šiukšliadėžė/bash iš ribotos aplinkos turėtų būti laikomi prioritetiniais įspėjimais. Ankstyvas aptikimas gali užkirsti kelią gilesniam šoniniam judėjimui.
Apsauga nuo apribotų „Shell“ atakų ir išnaudojimų
Siekiant sumažinti šuolio sviedinio riziką ir užkirsti kelią užpuolikams paleisti šiukšliadėžė/bash:
- Apribotų apvalkalų sukietinimas: pašalinkite arba užblokuokite naudotis
- Naudokite „AppArmor“ arba „SELinux“, kad apribotumėte komandų vykdymą
- Įgyvendinti mažiausias privilegijas visame pasaulyje CI/CD vaidmenys ir bėgikai
- Konteinerių sudarymas su distribuciniais atvaizdais be apvalkalų, pvz. šiukšliadėžė/bash
- Patikrinti aplinkas prieš ir po kompiliavimo, siekiant aptikti anomalijas
Norint išvengti apribotų apvalkalų scenarijų, reikia daugiasluoksnės kontrolės, o ne vien pasikliovimo apribotais apvalkalais. Nemanykite, kad apriboti apvalkalai yra saugūs, jei šiukšliadėžė/bash netgi potencialiai pasiekiamas.
Išvada: Išsiveržimai iš kriauklių yra patekimo taškai
Apriboti sviediniai yra gynybos sluoksnis, o ne garantija. Šokinėjančių sviedinių atakos nukreiptos į silpną izoliaciją ir prastą patvirtinimą. Patekus į vidų / bin / bash, užpuolikai gali keisti savo veiksmus, išlikti aktyviais ir pažeisti „DevSecOps“ infrastruktūrą.
Aptikimas ir izoliavimas yra būtini. Komandų registravimo, ribotos aplinkos ir tinkamo paketų tvarkyklių valymo derinimas sumažina riziką.
Galiausiai, tokie įrankiai kaip Ksigeni suteikia galimybę matyti šias rizikas. Jie padeda užtikrinti kodo vientisumą, aptikti neįprastą apvalkalo elgesį ir apsaugoti savo pipelinenuo vidinių ir išorinių grėsmių, įskaitant tuos, kurie prasideda nuo paprasto šokinėjimo kriauklės / bin / bash arba bando pabėgti nuo apribotos apvalkalo aplinkos.






