Mikä on rajoitettu shell ja miksi hyppyshell-hyökkäykset ovat tärkeitä
Rajoitettuja komentotulkkeja käytetään hallitsemaan, mitä komentoja käyttäjät voivat suorittaa, usein estäen toimintoja, kuten cd, käynnistämällä uusia komentotulkkeja tai viemällä ympäristömuuttujia. Ne otetaan tyypillisesti käyttöön CI/CD agentteja tai rakentaa ympäristöjä käyttäjien käyttäytymisen rajoittamiseksi. Hyökkääjät kuitenkin etsivät tapoja suorittaa hyppyshell, menetelmä, jota käytetään rajoitettujen shell-ympäristöjen ohittamiseen ja pääsyn saamiseen rajoittamattomiin shelleihin, kuten roskakori/bashSisällä ollessasi it, hyökkääjällä on täydet komentorivioikeudet ohittaen kaikki rajoitetun ympäristön rajoitukset.
Jumping Shell toimii seuraavasti: Restrictedistä bin/bashiin
Hyppykuoren tavoitteena on hyödyntää rajoitettujen ympäristöjen heikkouksia ja laukaista kuoren pakeneminen, joka johtaa roskakori/bashYleisiä tekniikoita rajoitettujen shell-hyökkäysten pakoon ovat:
$ ls /bin/bash $ /bin/bashIf roskakori/bash on saatavilla, tämä yksinkertainen kutsu täydentää sen.
Toinen yleinen menetelmä:
$ echo "/bin/bash" > run.sh $ sh run.sh Hyökkääjät voivat myös hyödyntää editoreita, kuten vi or vähemmän:
vi :set shell=/bin/bash :shell Nämä menetelmät havainnollistavat, kuinka helposti hyppäävä kuori voi johtaa roskakori/bash suorituksen, ohittaen tehokkaasti rajoitetut shell-suojaukset.
Näiden hyökkäysten todelliset riskit DevOpsissa
Jaetussa CI/CD ympäristöissä rajoitettuja komentotulkkeja käytetään eristämään koontiversioita ja vähentämään riskiä. Mutta kun hyökkääjä onnistuu hyppäävällä komentotulkilla ja saavuttaa roskakori/bash, turvallisuusmalli romahtaa.
Riskejä ovat:
- Luvaton pääsy ympäristösalaisuuksiin
- Etuoikeuksien eskalointi rajoittamattoman kautta roskakori/bash
- Rakenteen peukalointi pipelines tai esineitä
- Pysyvien työkalujen käyttöönotto pipeline
Pako-rajoitettu kuori kohteeseen roskakori/bash avaa oven täydelliselle järjestelmän kompromissille, usein ensimmäinen askel laajemmassa DevSecOps-hyökkäys.
Hyppykuoren ja bin/bash-karkausten seuranta ja havaitseminen
Jotta tietoturvatiimit voivat havaita hyppäävän shell-käyttäytymisen ja estää pakorajoitetut shell-yritykset, heidän on:
- Kirjaa kaikki shell-toiminta, erityisesti / bin / bash teloitus
- Seuraa editorin väärinkäyttöä ja komentosarjojen käyttöä shell-spawn-vektoreina
- Seuraa käyttöoikeuksia shell-määritystiedostoihin, kuten Bashrc or .bash_profile
Käyttäytymismallit, kuten laukaiseminen roskakori/bash Rajoitetusta ympäristöstä tulevia hälytyksiä tulisi pitää erittäin tärkeinä. Niiden havaitseminen varhain voi estää syvemmän sivuttaisliikkeen.
Escape Restricted Shell -hyökkäysten ja -hyökkäysten estäminen
Hyppäävien kuorien riskien lieventämiseksi ja hyökkääjien laukaisemisen estämiseksi roskakori/bash:
- Rajoitettujen kuorien kovettaminen: Poista tai estä pääsy
- Käytä AppArmoria tai SELinuxia komentojen suorittamisen rajoittamiseen
- Pakota pienimmät käyttöoikeudet kaikkialle CI/CD roolit ja juoksijat
- Konteineroida koontiversiot, joissa on hajauttamattomia kuvia ilman shellejä, kuten roskakori/bash
- Ympäristöjen validointi ennen koontia ja sen jälkeen poikkeavuuksien havaitsemiseksi
Rajoitettujen shellien skenaarioiden välttäminen vaatii kerrostettuja suojausmenetelmiä, ei pelkästään rajoitettuihin shelleihin luottamista. Älä oleta rajoitettujen shellien olevan turvallisia, jos roskakori/bash on jopa potentiaalisesti tavoitettavissa.
Johtopäätös: Shell-vuodot ovat sisäänpääsykohtia
Rajoitetut kuoret ovat puolustuskerros, eivät takuu. Hyppykuoren hyökkäykset kohdistuvat heikkoon eristykseen ja heikkoon validointiin. Sisään päästyään / bin / bashhyökkääjät voivat siirtyä DevSecOps-infrastruktuuriin, pysyä siinä ja vaarantaa sen.
Havaitseminen ja eristäminen ovat olennaisia. Komentolokikirjauksen, rajoitettujen ympäristöjen ja pakettienhallinnan asianmukaisen puhdistuksen yhdistäminen vähentää altistumista.
Lopuksi työkalut, kuten Xygeni tarjoavat näkyvyyttä näihin riskeihin. Ne auttavat varmistamaan koodin eheyden, havaitsemaan epätavallista komentotulkin toimintaa ja suojaa oma pipelinesisäisiltä ja ulkoisilta uhilta, mukaan lukien ne, jotka alkavat yksinkertaisella hyppykuorella / bin / bash tai yrittää paeta rajoitetuista shell-ympäristöistä.






