Mi az a korlátozott shell és miért fontosak az ugró shell támadások?
A korlátozott shelleket arra használják, hogy szabályozzák, hogy a felhasználók milyen parancsokat hajthatnak végre, gyakran megakadályozva az olyan műveleteket, mint a cd, új shelleket indítani, vagy környezeti változókat exportálni. Ezeket jellemzően a következő helyen telepítik: CI/CD ügynökök vagy környezetek létrehozása a felhasználói viselkedés korlátozása érdekében. A támadók azonban keresik a módját egy ugrásszerű shell végrehajtásának, amely módszer a korlátozott shell környezetekből való kilépésre és a korlátozás nélküli shellekhez való hozzáférés megszerzésére szolgál, mint például bin/bashMiután belépett it, a támadó teljes parancssori vezérléssel rendelkezik, megkerülve a korlátozott környezet összes korlátozását.
Hogyan működik a Jumping Shell: Restricted-től a bin/bash-ig
Az ugró páncéltörő lövedék célja a korlátozott környezetek gyengeségeinek kihasználása és egy páncéltörő lövedék általi szökés elindítása, ami a következőhöz vezet: bin/bashA korlátozott shell támadások menekülési útvonalának gyakori technikái a következők:
$ ls /bin/bash $ /bin/bashIf bin/bash elérhető, ez az egyszerű hívás befejezi az azt.
Egy másik gyakori módszer:
$ echo "/bin/bash" > run.sh $ sh run.sh A támadók a következő szerkesztőket is kihasználhatják: vi or kevesebb:
vi :set shell=/bin/bash :shell Ezek a módszerek jól szemléltetik, hogy egy ugró héj milyen könnyen vezethet... bin/bash végrehajtás, hatékonyan megkerülve a korlátozott shell-védelmet.
A DevOps támadások valódi kockázatai
Megosztott CI/CD környezetekben korlátozott shelleket használnak a buildek elkülönítésére és a kockázat csökkentésére. De amikor egy támadónak sikerül egy ugró shell-lel, és eléri a bin/bash, a biztonsági modell összeomlik.
A kockázatok közé tartozik:
- Jogosulatlan hozzáférés a környezeti titkokhoz
- Privilégium eszkaláció korlátlan hozzáférésen keresztül bin/bash
- A build manipulálása pipelinevagy tárgyak
- Állandó eszközök telepítése a pipeline
A menekülési korlátozott shell erre: bin/bash megnyitja az utat a teljes rendszerkompromisszum előtt, ami gyakran az első lépés egy szélesebb körű megoldásban DevSecOps támadás.
Jumping Shell és bin/bash kilépések monitorozása és észlelése
Az ugrásszerű shell viselkedés észlelése és az escape-korlátozott shell kísérletek blokkolása érdekében a biztonsági csapatoknak a következőket kell tenniük:
- Naplózza az összes shell-tevékenységet, különösen / bin / bash végrehajtás
- A szerkesztő visszaéléseinek és a szkriptek használatának monitorozása shell spawn vektorokként
- Hozzáférés nyomon követése a shell konfigurációs fájljaihoz, például .bashrc or .bash_profile
Viselkedési minták, mint például az indítás bin/bash A korlátozott környezetből érkező riasztásokat magas prioritásúnak kell tekinteni. Korai észlelésük megakadályozhatja a mélyebb oldalirányú mozgást.
A korlátozott shell támadások és kihasználások megelőzése az Escape-en
Az ugrásszerű támadások kockázatának csökkentése és a támadók indításainak megakadályozása érdekében bin/bash:
- Korlátozott héjak megerősítése: Távolítsa el vagy blokkolja a hozzáférés
- Az AppArmor vagy az SELinux használata a parancsok végrehajtásának korlátozására
- Legkisebb jogosultságok érvényesítése CI/CD szerepek és futók
- Konténerbe kell építeni a disztribúció nélküli képfájlokat, amelyekben nincsenek shell-ek, például bin/bash
- Környezetek validálása a buildek előtt és után az anomáliák kiszűrése érdekében
A korlátozott shell-ek menekülési forgatókönyveinek megakadályozása rétegzett ellenőrzéseket igényel, nem csak a korlátozott shellekre való támaszkodást. Ne feltételezzük, hogy a korlátozott shell biztonságos, ha bin/bash akár potenciálisan is elérhető.
Következtetés: A kagylószökések belépési pontok
A korlátozott lövedékek védelmi rétegként szolgálnak, nem garantálják a védelmet. Az ugró lövedékek támadásai a gyenge izolációt és a gyenge validációt célozzák. Ha egyszer bent vagy... / bin / basha támadók eltéríthetik, fenntarthatják a támadásokat és feltörhetik a DevSecOps infrastruktúrát.
Az észlelés és az elkülönítés elengedhetetlen. A parancsok naplózásának, a korlátozott környezeteknek és a csomagkezelők megfelelő tisztításának kombinálása csökkenti a kitettséget.
Végül olyan eszközök, mint a Xygeni rálátást biztosítanak ezekre a kockázatokra. Segítenek a kód integritásának biztosításában, a szokatlan shell viselkedés észlelésében, és biztosítsd a pipelinebelső és külső fenyegetésektől, beleértve azokat is, amelyek egy egyszerű ugróhéjjal kezdődnek / bin / bash vagy megpróbál kilépni a korlátozott shell környezetekből.






