jumping shell - bin/bash - ကန့်သတ်ထားသော shell ကို လွတ်မြောက်စေသည်

Jumping Shell: တိုက်ခိုက်သူများသည် ကန့်သတ်ထားသော Shell များကို /bin/bash သို့ မည်သို့လွတ်မြောက်စေသည်

မာတိကာ

မဖြစ်မနေဖတ်သင့်သောပို့စ်များ

စိတ်ဝင်စားဖွယ်ကောင်းသော နောက်ဆုံးပို့စ်များ

ကန့်သတ်ထားသော Shell ဆိုတာဘာလဲ၊ ဘာကြောင့် Jumping Shell Attacks တွေက အရေးကြီးတာလဲ။

ကန့်သတ်ထားသော shell များကို အသုံးပြုသူများ လုပ်ဆောင်နိုင်သည့် command များကို ထိန်းချုပ်ရန် အသုံးပြုပြီး မကြာခဏဆိုသလို ထိုကဲ့သို့သော လုပ်ဆောင်ချက်များကို တားဆီးပေးပါသည်။ cdshell အသစ်များကို စတင်ခြင်း သို့မဟုတ် environment variable များကို ထုတ်ယူခြင်း။ ၎င်းတို့ကို ပုံမှန်အားဖြင့် နေရာတွင် ဖြန့်ကျက်လေ့ရှိသည် CI/CD အသုံးပြုသူ အပြုအမူကို ကန့်သတ်ရန် အေးဂျင့်များ သို့မဟုတ် ပတ်ဝန်းကျင်များကို တည်ဆောက်ပါ။ သို့သော်လည်း တိုက်ခိုက်သူများသည် ကန့်သတ်ထားသော shell ပတ်ဝန်းကျင်များမှ လွတ်မြောက်ရန်နှင့် ကန့်သတ်မထားသော shell များကို ဝင်ရောက်ခွင့်ရရန် အသုံးပြုသည့် နည်းလမ်းတစ်ခုဖြစ်သည့် jumping shell ကို လုပ်ဆောင်ရန် နည်းလမ်းများကို ရှာဖွေကြသည်။ ဘင်/ဘေ့ရှ်အထဲကိုရောက်တာနဲ့ itကန့်သတ်ထားသောပတ်ဝန်းကျင်၏ ကန့်သတ်ချက်အားလုံးကို ကျော်လွှားကာ တိုက်ခိုက်သူသည် command-line ထိန်းချုပ်မှုအပြည့်အဝရှိသည်။

Jumping Shell ဘယ်လိုအလုပ်လုပ်လဲ- Restricted ကနေ bin/bash အထိ

Jumping shell ရဲ့ ရည်ရွယ်ချက်က ကန့်သတ်ထားတဲ့ ပတ်ဝန်းကျင်တွေမှာ အားနည်းချက်တွေကို အခွင့်ကောင်းယူပြီး shell escape ကို ဖြစ်ပေါ်စေဖို့ပါ။ ဘင်/ဘေ့ရှ်လွတ်မြောက်ရန် ကန့်သတ်ထားသော shell တိုက်ခိုက်မှုများအတွက် အသုံးများသော နည်းစနစ်များတွင် အောက်ပါတို့ ပါဝင်သည်-

$ ls /bin/bash $ /bin/bash

If ဘင်/ဘေ့ရှ် အသုံးပြုနိုင်သည်၊ ဤရိုးရှင်းသော ဆင့်ခေါ်ချက်သည် ၎င်းကို ပြီးမြောက်စေသည်။

နောက်ထပ်အသုံးများသောနည်းလမ်း-

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

တိုက်ခိုက်သူများသည် အောက်ပါကဲ့သို့သော အယ်ဒီတာများကိုလည်း အခွင့်ကောင်းယူနိုင်သည် vi or နည်းသော:

vi :set shell=/bin/bash :shell 

ဒီနည်းလမ်းတွေက ခုန်ပေါက်တဲ့အခွံတစ်ခုက ဘယ်လောက်လွယ်ကူစွာ ဘင်/ဘေ့ရှ် ကန့်သတ်ထားသော shell ကာကွယ်မှုများကို ထိရောက်စွာ ကျော်လွှားခြင်းဖြင့် လုပ်ဆောင်ခြင်း။

DevOps မှာ ဒီတိုက်ခိုက်မှုတွေရဲ့ တကယ့်အန္တရာယ်တွေ

မျှဝေထားတဲ့ထဲမှာ CI/CD ပတ်ဝန်းကျင်တွင်၊ ကန့်သတ်ထားသော shell များကို တည်ဆောက်မှုများကို ခွဲထုတ်ရန်နှင့် အန္တရာယ်ကို လျှော့ချရန်အတွက် အသုံးပြုသည်။ သို့သော် တိုက်ခိုက်သူတစ်ဦးသည် jumping shell ဖြင့် အောင်မြင်ပြီး ရောက်ရှိသောအခါ ဘင်/ဘေ့ရှ်လုံခြုံရေးပုံစံ ပြိုလဲသွားသည်။

အန္တရာယ်များ ပါဝင်သည်-

  • ပတ်ဝန်းကျင်လျှို့ဝှက်ချက်များကို ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ကြည့်ရှုခြင်း
  • ကန့်သတ်ချက်မရှိသော မှတစ်ဆင့် အထူးအခွင့်အရေး မြှင့်တင်ခြင်း ဘင်/ဘေ့ရှ်
  • တည်ဆောက်မှုကို နှောင့်ယှက်ခြင်း pipelines သို့မဟုတ် ရှေးဟောင်းပစ္စည်းများ
  • စဉ်ဆက်မပြတ် ကိရိယာများ ဖြန့်ကျက်ခြင်း pipeline

ထွက်ပြေးရန် ကန့်သတ်ထားသော အခွံ ဘင်/ဘေ့ရှ် စနစ်တစ်ခုလုံး ညှိနှိုင်းမှုဆီသို့ တံခါးဖွင့်ပေးပြီး၊ မကြာခဏဆိုသလို ပိုမိုကျယ်ပြန့်သော လှုပ်ရှားမှုတစ်ခုတွင် ပထမဆုံးခြေလှမ်းဖြစ်သည်။ DevSecOps တိုက်ခိုက်မှု.

ခုန်ပျံကျော်လွှားသော Shell နှင့် bin/bash Escapes များကို စောင့်ကြည့်ခြင်းနှင့် ထောက်လှမ်းခြင်း

ခုန်ပျံကျော်လွှားသည့် shell အပြုအမူကို ထောက်လှမ်းရန်နှင့် လွတ်မြောက်ရန် ကန့်သတ်ထားသော shell ကြိုးပမ်းမှုများကို ပိတ်ဆို့ရန်အတွက် လုံခြုံရေးအဖွဲ့များသည်-

  • အထူးသဖြင့် shell လုပ်ဆောင်ချက်အားလုံးကို မှတ်တမ်းတင်ပါ / bin / bash သတ်ခြင်း
  • shell spawn vectors များအဖြစ် editor အလွဲသုံးစားမှုနှင့် script အသုံးပြုမှုကို စောင့်ကြည့်ပါ
  • shell config ဖိုင်များသို့ ဝင်ရောက်ခွင့်ကို ခြေရာခံပါ .bashrc or .bash_ ပရိုဖိုင်

အပြုအမူပုံစံများဖြစ်သည့် လွှတ်တင်ခြင်း ဘင်/ဘေ့ရှ် ကန့်သတ်ထားသောပတ်ဝန်းကျင်မှ သတိပေးချက်များကို ဦးစားပေးသတိပေးချက်များအဖြစ် သတ်မှတ်သင့်သည်။ ၎င်းကို စောစောစီးစီး သိရှိခြင်းဖြင့် ပိုမိုနက်ရှိုင်းသော ဘေးတိုက်ရွေ့လျားမှုကို ကာကွယ်နိုင်သည်။

ထွက်ပြေးရန် ကန့်သတ်ထားသော Shell တိုက်ခိုက်မှုများနှင့် အသုံးချမှုများကို ကာကွယ်ခြင်း

Jumping shell အန္တရာယ်များကို လျှော့ချရန်နှင့် တိုက်ခိုက်သူများ ပစ်ခတ်ခြင်းမှ ကာကွယ်ရန် ဘင်/ဘေ့ရှ်:

  • ကန့်သတ်ထားသော အခွံများကို မာကျောစေပါ- ဖယ်ရှားပါ သို့မဟုတ် ပိတ်ဆို့ပါ ဝင်ရောက်ခွင့်
  • command execution ကို ကန့်သတ်ရန် AppArmor သို့မဟုတ် SELinux ကို အသုံးပြုပါ
  • အနည်းဆုံးအခွင့်အရေးကို ပြဋ္ဌာန်းပါ CI/CD အခန်းကဏ္ဍများနှင့် ပြေးသူများ
  • shell များမပါဝင်သော distroless image များဖြင့် containerize တည်ဆောက်မှုများ ဘင်/ဘေ့ရှ်
  • မူမမှန်မှုများကို ဖမ်းယူရန်အတွက် တည်ဆောက်မှုမတိုင်မီနှင့် တည်ဆောက်ပြီးနောက် ပတ်ဝန်းကျင်များကို အတည်ပြုပါ

လွတ်မြောက်ရန် ကန့်သတ်ထားသော shell အခြေအနေများကို ကာကွယ်ရန် ကန့်သတ်ထားသော shell များကိုသာ အားကိုးခြင်းမဟုတ်ဘဲ အလွှာလိုက် ထိန်းချုပ်မှုများ လိုအပ်ပါသည်။ ကန့်သတ်ထားသော shell များသည် အောက်ပါအခြေအနေများတွင် လုံခြုံသည်ဟု မယူဆပါနှင့် ဘင်/ဘေ့ရှ် ရောက်ရှိနိုင်ခြေပင် ရှိသည်။

နိဂုံးချုပ်- Shell Escapes များသည် ဝင်ရောက်ရန်နေရာများဖြစ်သည်

ကန့်သတ်ထားသော ကျည်ဆန်များသည် အာမခံချက်မဟုတ်ဘဲ ကာကွယ်ရေးအလွှာတစ်ခုဖြစ်သည်။ ခုန်ပျံကျော်လွှားသော ကျည်ဆန်တိုက်ခိုက်မှုများသည် အားနည်းသော သီးခြားခွဲထားမှုနှင့် ညံ့ဖျင်းသော အတည်ပြုချက်တို့ကို ပစ်မှတ်ထားသည်။ အထဲသို့ဝင်သည်နှင့် / bin / bashတိုက်ခိုက်သူများသည် DevSecOps အခြေခံအဆောက်အအုံကို လှည့်ပတ်နိုင်၊ ဆက်လက်တည်ရှိနိုင်ပြီး ထိခိုက်စေနိုင်သည်။

ထောက်လှမ်းခြင်းနှင့် သီးခြားခွဲထားခြင်းတို့သည် မရှိမဖြစ်လိုအပ်ပါသည်။ command logging၊ ကန့်သတ်ထားသောပတ်ဝန်းကျင်များနှင့် package manager များကို သင့်လျော်စွာရှင်းလင်းခြင်းတို့ကို ပေါင်းစပ်ခြင်းဖြင့် exposure ကို လျော့နည်းစေသည်။

နောက်ဆုံးအနေနဲ့ ကိရိယာတွေဖြစ်တဲ့ ဆိုက်ဂျီနီ ဤအန္တရာယ်များကို မြင်သာအောင် ပံ့ပိုးပေးပါသည်။ ၎င်းတို့သည် ကုဒ်သမာဓိကို ပြဋ္ဌာန်းရန်၊ ပုံမှန်မဟုတ်သော shell အပြုအမူကို ထောက်လှမ်းရန်နှင့် သင့်ရဲ့ လုံခြုံအောင် pipelineပြည်တွင်းပြည်ပ ခြိမ်းခြောက်မှုများမှရိုးရှင်းတဲ့ ခုန်ပျံကျော်လွှားမှုကနေ စတင်တဲ့ ခုန်ပျံကျော်လွှားမှုတွေ အပါအဝင် / bin / bash သို့မဟုတ် ကန့်သတ်ထားသော shell ပတ်ဝန်းကျင်များမှ လွတ်မြောက်ရန် ကြိုးစားသည်။

sca-tools-software-composition-analysis-tools
သင့်ဆော့ဖ်ဝဲလ်အန္တရာယ်များကို ဦးစားပေးသတ်မှတ်ခြင်း၊ ပြုပြင်ခြင်းနှင့် လုံခြုံစေခြင်း
သင့်ရဲ့ အခမဲ့အကောင့်ကို ရယူလိုက်ပါ။
အကြွေးဝယ်ကဒ်မရှိပါ။

သင့်ရဲ့ Software Development နဲ့ Delivery ကို လုံခြုံအောင်ထားပါ

Xygeni ထုတ်ကုန်အစုံနှင့်အတူ