tumatalon na shell - bin/bash - makatakas sa pinaghihigpitang shell

Jumping Shell: Paano Tinatakasan ng mga Attacker ang mga Restricted Shell papunta sa /bin/bash

Ano ang Restricted Shell at Bakit Mahalaga ang Jumping Shell Attacks

Ang mga restricted shell ay ginagamit upang kontrolin kung anong mga utos ang maaaring isagawa ng mga gumagamit, kadalasang pumipigil sa mga aksyon tulad ng cd, paglulunsad ng mga bagong shell, o pag-export ng mga environment variable. Karaniwang inilalagay ang mga ito sa CI/CD mga ahente o bumuo ng mga kapaligiran upang limitahan ang pag-uugali ng gumagamit. Gayunpaman, ang mga umaatake ay naghahanap ng mga paraan upang magsagawa ng jumping shell, isang paraan na ginagamit upang makatakas sa mga pinaghihigpitang kapaligiran ng shell at makakuha ng access sa mga hindi pinaghihigpitang shell tulad ng bin/bashKapag nasa loob na it, ang attacker ay may ganap na kontrol sa command-line, na nilalampasan ang lahat ng limitasyon ng pinaghihigpitang kapaligiran.

Paano Gumagana ang Jumping Shell: Mula Restricted patungong bin/bash

Ang layunin ng isang jumping shell ay upang samantalahin ang mga kahinaan sa mga pinaghihigpitang kapaligiran at mag-trigger ng isang shell escape na humahantong sa bin/bashAng mga karaniwang pamamaraan para sa mga pag-atake ng shell na may limitadong pagtakas ay kinabibilangan ng:

$ ls /bin/bash $ /bin/bash

If bin/bash ay naa-access, ang simpleng pagtawag na ito ang kumukumpleto nito.

Isa pang karaniwang pamamaraan:

$ echo "/bin/bash" > run.sh $ sh run.sh 

Maaari ring pagsamantalahan ng mga umaatake ang mga editor tulad ng vi or kulang:

vi :set shell=/bin/bash :shell 

Ipinapakita ng mga pamamaraang ito kung gaano kadaling humantong ang isang lumuluksong shell sa bin/bash pagpapatupad, na epektibong lumalampas sa mga pinaghihigpitang proteksyon ng shell.

Ang Tunay na mga Panganib ng mga Pag-atakeng Ito sa DevOps

Sa ibinahaging CI/CD mga kapaligiran, ginagamit ang mga restricted shell upang ihiwalay ang mga build at bawasan ang panganib. Ngunit kapag ang isang attacker ay nagtagumpay gamit ang isang jumping shell at naabot bin/bash, gumuho ang modelo ng seguridad.

Kasama sa mga panganib ang:

  • Hindi awtorisadong pag-access sa mga lihim sa kapaligiran
  • Pagpapataas ng pribilehiyo sa pamamagitan ng walang limitasyong bin/bash
  • Pakikialam sa pagtatayo pipelinemga artifact o artifact
  • Pag-deploy ng mga persistent tooling sa loob ng pipeline

Ang shell na may limitadong pagtakas ay bin/bash nagbubukas ng pinto sa ganap na kompromiso sa sistema, kadalasan ang unang hakbang sa mas malawak na Pag-atake ng DevSecOps.

Pagsubaybay at Pagtukoy sa Tumatalon na Shell at mga Pagtakas sa Bin/Bash

Para matukoy ang kilos ng pagtalon ng shell at harangan ang mga pagtatangka ng shell na may paghihigpit sa pagtakas, ang mga pangkat ng seguridad ay dapat:

  • I-log ang lahat ng aktibidad ng shell, lalo na / basahan / bash pagpapatupad
  • Subaybayan ang pang-aabuso ng editor at paggamit ng script bilang mga shell spawn vector
  • Subaybayan ang access sa mga shell config file tulad ng .bashrc or .bash_profile

Mga pattern ng pag-uugali tulad ng paglulunsad bin/bash ang mga mula sa isang pinaghihigpitang kapaligiran ay dapat ituring na mga alerto na may mataas na priyoridad. Ang maagang pagtukoy nito ay maaaring maiwasan ang mas malalim na paggalaw sa gilid.

Pag-iwas sa Pagtakas sa mga Restricted Shell Attack at Exploits

Upang mabawasan ang mga panganib ng jumping shell at maiwasan ang paglulunsad ng mga umaatake bin/bash:

  • Patigasin ang mga restricted shell: Alisin o harangan ang daan
  • Gamitin ang AppArmor o SELinux upang paghigpitan ang pagpapatupad ng command
  • Ipatupad ang pinakamababang pribilehiyo sa kabuuan CI/CD mga tungkulin at mga mananakbo
  • Ang mga containerize ay bumubuo gamit ang mga distroless na imahe na kulang sa mga shell tulad ng bin/bash
  • Patunayan ang mga kapaligiran bago at pagkatapos ng mga build upang matukoy ang mga anomalya

Ang pag-iwas sa mga senaryo ng escape restricted shell ay nangangailangan ng layered controls, hindi lamang pag-asa sa limitadong shells. Huwag ipagpalagay na ligtas ang restricted shells kung bin/bash ay posibleng maabot pa.

Konklusyon: Ang mga Shell Escapes ay mga Puntos ng Pagpasok

Ang mga restricted shell ay isang defense layer, hindi isang garantiya. Ang mga jumping shell attack ay tumatarget sa mahinang isolation at mahinang validation. Kapag nasa loob na / basahan / bash, maaaring baguhin, magpatuloy, at ikompromiso ng mga umaatake ang imprastraktura ng DevSecOps.

Mahalaga ang pagtuklas at paghihiwalay. Ang pagsasama-sama ng command logging, mga restricted environment, at wastong paglilinis ng mga package manager ay nakakabawas sa exposure.

Panghuli, ang mga kagamitang tulad ng Xygeni nagbibigay ng kakayahang makita ang mga panganib na ito. Nakakatulong ang mga ito na ipatupad ang integridad ng code, matukoy ang hindi pangkaraniwang pag-uugali ng shell, at siguraduhin ang iyong pipelinemula sa mga panloob at panlabas na banta, kabilang ang mga nagsisimula sa isang simpleng jumping shell upang / basahan / bash o mga pagtatangkang makatakas sa mga pinaghihigpitang kapaligiran ng shell.

mga tool sa pagsusuri ng komposisyon ng software ng mga tool sa sca
Unahin, ayusin, at i-secure ang mga panganib ng iyong software
Kunin ang Iyong Libreng Account.
Walang kinakailangang credit card.

I-secure ang Iyong Pag-develop at Paghahatid ng Software

kasama ang Xygeni Product Suite