Kaj je omejena lupina in zakaj so napadi s skakalnimi lupinami pomembni
Omejene lupine se uporabljajo za nadzor ukazov, ki jih lahko uporabniki izvajajo, pogosto preprečujejo dejanja, kot so cd, zagon novih lupin ali izvoz okoljskih spremenljivk. Običajno so nameščene v CI/CD agenti ali gradijo okolja za omejevanje vedenja uporabnikov. Vendar pa napadalci iščejo načine za izvedbo jumping shell-a, metode, ki se uporablja za pobeg iz omejenih okolij lupin in pridobitev dostopa do neomejenih lupin, kot je bin/bashKo ste enkrat notri it, ima napadalec popoln nadzor prek ukazne vrstice in zaobide vse omejitve omejenega okolja.
Kako deluje Jumping Shell: Od omejenega do bin/bash
Cilj skakalne školjke je izkoristiti slabosti v omejenem okolju in sprožiti pobeg skozi školjko, ki vodi do bin/bashMed pogoste tehnike napadov z omejenim pobegom spadajo:
$ ls /bin/bash $ /bin/bashIf bin/bash je dostopen, ta preprost klic ga dokonča.
Druga pogosta metoda:
$ echo "/bin/bash" > run.sh $ sh run.sh Napadalci lahko izkoristijo tudi urednike, kot so vi or manj:
vi :set shell=/bin/bash :shell Te metode ponazarjajo, kako enostavno lahko skakalna lupina privede do bin/bash izvajanje, s čimer se učinkovito zaobide omejena zaščita lupine.
Resnična tveganja teh napadov v DevOpsu
V skupni rabi CI/CD okoljih se omejene lupine uporabljajo za izolacijo gradenj in zmanjšanje tveganja. Ko pa napadalec uspe s skokovito lupino in doseže bin/bash, se varnostni model zruši.
Tveganja vključujejo:
- Nepooblaščen dostop do skrivnosti okolja
- Povečevanje privilegijev prek neomejenega bin/bash
- Poseganje v gradnjo pipelineali artefakti
- Uvedba trajnega orodja znotraj pipeline
Pobeg je omejil lupino na bin/bash odpira vrata popolni ogrozbi sistema, kar je pogosto prvi korak v širšem Napad DevSecOps.
Spremljanje in zaznavanje skokov v lupino in pobegov bin/bash
Za zaznavanje vedenja lupine Jumping in blokiranje poskusov lupine z omejitvijo pobega morajo varnostne ekipe:
- Zabeležite vse dejavnosti lupine, zlasti / bin / bash izvedba
- Spremljajte zlorabo urejevalnika in uporabo skriptov kot vektorje za ustvarjanje lupine
- Sledenje dostopu do konfiguracijskih datotek lupine, kot so .bashrc or .bash_profile
Vedenjski vzorci, kot je izstrelitev bin/bash iz omejenega okolja je treba obravnavati kot opozorila visoke prioritete. Zgodnje zaznavanje lahko prepreči globlje lateralno premikanje.
Preprečevanje napadov in izkoriščanj z omejenim dostopom do oklepa (Escape Restricted Shell)
Za zmanjšanje tveganj zaradi skakanja granat in preprečevanje izstrelitve napadalcev bin/bash:
- Otrdite omejene lupine: Odstranite ali blokirajte dostop
- Za omejitev izvajanja ukazov uporabite AppArmor ali SELinux
- Uveljavi najmanj privilegijev CI/CD vloge in tekači
- Kontejnerske gradnje z distribucijskimi slikami brez lupin, kot je bin/bash
- Preverjanje okolij pred in po gradnjah za odkrivanje anomalij
Preprečevanje scenarijev pobega z omejenimi lupinami zahteva večplastne kontrole, ne le zanašanje na omejene lupine. Ne domnevajte, da so omejene lupine varne, če bin/bash je celo potencialno dosegljiv.
Zaključek: Pobegi iz granat so vstopne točke
Omejene lupine so obrambna plast, ne pa jamstvo. Napadi s skokovitimi lupinami so usmerjeni v šibko izolacijo in slabo validacijo. Ko ste enkrat notri, / bin / bash, lahko napadalci spreminjajo, vztrajajo in ogrožajo infrastrukturo DevSecOps.
Zaznavanje in izolacija sta bistvenega pomena. Kombinacija beleženja ukazov, omejenih okolij in ustreznega čiščenja upraviteljev paketov zmanjšuje izpostavljenost.
Končno, orodja, kot so Ksigeni ponujajo vpogled v ta tveganja. Pomagajo pri zagotavljanju integritete kode, odkrivanju nenavadnega vedenja lupine in zavarujte svoje pipelinepred notranjimi in zunanjimi grožnjami, vključno s tistimi, ki se začnejo s preprosto skakalno lupino do / bin / bash ali poskusi pobega iz omejenih lupinskih okolij.






