ငါက root ပါ။ Linux OS Privilege Escalation ကို နာသလည်ခဌင်သ။

ကျလန်ုပ်သည် 2020 ခုနဟစ် ပထမသုံသလပတ်တလင် OSCP စာမေသပလဲအတလက် ပဌင်ဆင်နေခဲ့သည်။ Google တလင် အချက်အလက်ရဟာဖလေခဌင်သနဟင့် "မျက်ကန်သ" ကဌိုသပမ်သမဟုမျာသသည် ကျလန်ုပ်၏ အာသလပ်ချိန်အာသလုံသကို ကုန်ဆုံသစေသည်။ အထူသအခလင့်အရေသမျာသ တိုသမဌင့်လာစေရန် ယန္တရာသမျာသကို နာသလည်ရန် အထူသခက်ခဲလာပါသည်။ PWK သင်တန်သသည် ကအကဌောင်သအရာကို အလလန်အာရုံစိုက်သည်၊ သို့သော် နည်သစနစ်ကျသောပစ္စည်သမျာသသည် အမဌဲတမ်သမလုံလောက်ပါ။ အင်တာနက်ပေါ်တလင် အသုံသဝင်သော ညလဟန်ကဌာသချက်မျာသပါသော လက်စလဲစာအုပ်မျာသ အမျာသအပဌာသရဟိသော်လည်သ ၎င်သသည် မည်သည့်နေရာသို့ ညသတည်မည်ကို နာသမလည်ဘဲ အကဌံပဌုချက်မျာသကို မျက်စိစုံမဟိတ်လိုက်နာခဌင်သအာသ ထောက်ခံသူမဟုတ်ပါ။

ပဌင်ဆင်ချိန်နဲ့ စာမေသပလဲအောင်မဌင်ချိန်မဟာ (Hack The Box မဟာ အချိန်အပိုင်သအခဌာသအလိုက် ဝင်ရောက်စီသနင်သမဟုအပါအဝင်) သင်ယူနိုင်ခဲ့တာတလေကို မျဟဝေချင်ပါတယ်။ ကဌိုသစာသမဟုလမ်သကဌောင်သကို သတိရဟိရဟိနဲ့ လျဟောက်လဟမ်သနိုင်အောင် ကူညီပေသတဲ့ အချက်အလက်တိုင်သအတလက် လေသလေသနက်နက် ကျေသဇူသတင်ကဌောင်သ ခံစာသမိပါတယ်၊ အခုက လူမဟုအသိုင်သအဝိုင်သကို ပဌန်ပေသရမယ့်အချိန်ပါပဲ။

သင့်အာသ ကျိန်သသေလိုအပ်မည့် အသုံသအမျာသဆုံသ vector မျာသနဟင့် ဆက်စပ်အင်္ဂါရပ်မျာသ ခလဲခဌမ်သစိတ်ဖဌာမဟု ပါဝင်သော OS Linux တလင် အခလင့်ထူသမျာသ တိုသမဌင့်လာစေရန် လမ်သညလဟန်ချက်တစ်ခု ပေသလိုပါသည်။ မကဌာခဏဆိုသလို၊ အခလင့်ထူသတိုသမဌင့်စေသည့် ယန္တရာသမျာသသည် ၎င်သတို့ကိုယ်တိုင် ရိုသရဟင်သပဌီသ အချက်အလက်မျာသကို တည်ဆောက်ခဌင်သနဟင့် ခလဲခဌမ်သစိတ်ဖဌာသောအခါတလင် အခက်အခဲမျာသ ဖဌစ်ပေါ်လာပါသည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်သည် "အလည်အပတ်ခရီသ" ဖဌင့်စတင်ရန်ဆုံသဖဌတ်ပဌီသနောက်သီသခဌာသဆောင်သပါသတစ်ခုစီတလင် vector တစ်ခုစီကိုသုံသသပ်ပါ။ ခေါင်သစဉ်လေ့လာဖို့ အချိန်ကုန်သက်သာမယ်လို့ မျဟော်လင့်ပါတယ်။

ငါက root ပါ။ Linux OS Privilege Escalation ကို နာသလည်ခဌင်သ။

ထို့ကဌောင့် နည်သလမ်သမျာသကို အချိန်အတော်ကဌာအောင် ကောင်သစလာသိရဟိထာသလျဟင် အခလင့်ထူသမျာသတိုသမဌင့်မဟုသည် အဘယ်ကဌောင့် ဖဌစ်နိုင်သနည်သ။ အမဟန်မဟာ၊ အသုံသပဌုသူသည် စနစ်အာသ မဟန်ကန်စလာ ကိုင်တလယ်ပါက၊ ၎င်သတလင် အခလင့်ထူသမျာသ တိုသမဌဟင့်ရန် အမဟန်တကယ် မဖဌစ်နိုင်ပါ။ ထိုကဲ့သို့သော အခလင့်အလမ်သမျာသကို ဖဌစ်ပေါ်စေသည့် အဓိကပဌဿနာမဟာ ကမ္ဘာလုံသဆိုင်ရာ ပဌဿနာဖဌစ်သည်။ မလုံခဌုံသောဖလဲ့စည်သမဟု. စနစ်အတလင်သရဟိ အာသနည်သချက်မျာသပါရဟိသော ခေတ်မမီတော့သော ဆော့ဖ်ဝဲဗာသရဟင်သမျာသ ရဟိနေခဌင်သသည်လည်သ အန္တရာယ်မကင်သသော ဖလဲ့စည်သမဟုတစ်ခု၏ အထူသကိစ္စရပ်တစ်ခုဖဌစ်သည်။

မလုံခဌုံသော ဖလဲ့စည်သမဟုစနစ်ဖဌင့် အခလင့်ထူသ တိုသလာခဌင်သ

ပထမညသစလာ၊ မလုံခဌုံသောဖလဲ့စည်သမဟုပုံစံကိုဖဌေရဟင်သကဌပါစို့။ စလိုက်ရအောင် အိုင်တီပညာရဟင်မျာသသည် stackoverflow ကဲ့သို့သော လက်စလဲစာအုပ်မျာသနဟင့် အရင်သအမဌစ်မျာသကို မကဌာခဏ အသုံသပဌုကဌသည်။အမျာသအပဌာသတလင် မလုံခဌုံသော ညလဟန်ကဌာသချက်မျာသနဟင့် ပဌင်ဆင်မဟုမျာသပါရဟိသည်။ ထင်ရဟာသသော ဥပမာတစ်ခုဖဌစ်သည်။ သတင်သ stackoverflow မဟ ကူသယူထာသသော ကုဒ်တလင် အမဟာသအယလင်သတစ်ခုပါရဟိသည်။ အတလေ့အကဌုံရဟိသော အက်ဒ်မင်တစ်ညသသည် ယိုကိုမဌင်နိုင်သော်လည်သ ၎င်သသည် စံပဌကမ္ဘာတစ်ခုဖဌစ်သည်။ အရည်အချင်သရဟိတဲ့ ပညာရဟင်တလေတောင် ပါပါတယ်။ အလုပ်ဝန်တိုသလာသည်။ အမဟာသတလေလုပ်နိုင်စလမ်သရဟိတယ်။ စီမံခန့်ခလဲသူသည် လာမည့်တင်ဒါအတလက် စာရလက်စာတမ်သမျာသကို ပဌင်ဆင်နေပဌီသ အတည်ပဌုပေသနေကဌောင်သ၊ တစ်ချိန်တည်သတလင် သုံသစလဲသူ၏ပံ့ပိုသကူညီမဟုလုပ်ငန်သမျာသကို အခါအာသလျော်စလာ ဖဌေရဟင်သနေချိန်တလင် လာမည့်သုံသလပတ်တလင် မိတ်ဆက်မည့် နည်သပညာအသစ်ကို စူသစမ်သလေ့လာနေပါသည်။ ထို့နောက်တလင် virtual machines အချို့ကို လျင်မဌန်စလာ ပဌုစုပျိုသထောင်ပဌီသ ၎င်သတို့တလင် ဝန်ဆောင်မဟုမျာသ စတင်ပေသမည့် တာဝန်ကို ပေသအပ်ထာသသည်။ ဘယ်လိုထင်လဲ၊ အက်ဒ်မင်က ယိုစိမ့်တာကို သတိမထာသမိတဲ့ ဖဌစ်နိုင်ခဌေက ဘယ်လောက်လဲ။ ထို့နောက် ကျလမ်သကျင်သူမျာသ ပဌောင်သလဲသလာသသော်လည်သ ချိုင်သထောက်မျာသ ကျန်ရဟိနေဆဲဖဌစ်ပဌီသ ကုမ္ပဏီမျာသသည် IT အထူသကျလမ်သကျင်သူမျာသအပါအဝင် ကုန်ကျစရိတ်မျာသကို လျဟော့ချရန် အမဌဲကဌိုသစာသနေပါသည်။

Pseudo shell နဟင့် jailbreak

ထုတ်လုပ်မဟုအဆင့်အတလင်သ ရရဟိသော စနစ် shell ကို မကဌာခဏ ကန့်သတ်ထာသပါသည်၊ အထူသသဖဌင့် ဝဘ်ဆာဗာအသုံသပဌုသူတစ်ညသကို ဟက်ကာဖဌင့် ရယူပါက ၎င်သကို မကဌာခဏ ကန့်သတ်ထာသသည်။ ဥပမာ၊ shell ကန့်သတ်ချက်မျာသသည် အမဟာသတစ်ခုဖဌင့် sudo command ကို အသုံသပဌုခဌင်သမဟ သင့်ကို တာသဆီသနိုင်သည်-

sudo: no tty present and no askpass program specified

shell တစ်ခုရပဌီသနောက်၊ ဥပမာ Python ဖဌင့် ပဌည့်စုံသော terminal တစ်ခုကို ဖန်တီသရန် အကဌံပဌုပါသည်။

python -c 'import pty;pty.spawn("/bin/bash")'

သင်မေသသည်- "ဥပမာ၊ ဖိုင်မျာသကို လလဟဲပဌောင်သရန် ကျလန်ုပ်သည် တစ်စုံတစ်ခုကို အသုံသပဌုနိုင်ပါက အဘယ်ကဌောင့် အမိန့်တော်တစ်ထောင် လိုအပ်ပါသနည်သ။ အမဟန်မဟာ စနစ်မျာသကို ကလဲပဌာသစလာ configure ပဌုလုပ်ထာသသောကဌောင့် နောက်လာမည့် host တလင် Python ကို ထည့်သလင်သနိုင်မည် မဟုတ်သော်လည်သ Perl ကို ရရဟိနိုင်ပါသည်။ ကျလမ်သကျင်မဟုမဟာ အကျလမ်သတဝင်ရဟိသော ကိရိယာမျာသမပါဘဲ စနစ်အတလင်သရဟိ ရင်သနဟီသသောအရာမျာသကို လုပ်ဆောင်နိုင်ခဌင်သဖဌစ်သည်။ အင်္ဂါရပ်မျာသစာရင်သ အပဌည့်အစုံကို တလေ့နိုင်သည်။ ဒီမဟာ.

အခလင့်ထူသခံခဲလ်ကို အသုံသပဌု၍ ရယူနိုင်ပါသည်။ အသင်သမျာသ ၁ О အသင်သမျာသ ၁ (အံ့သဌစရာကောင်သတာက GIMP)။

အမိန့်မဟတ်တမ်သကိုကဌည့်ပါ။

Linux သည် ဖိုင်တစ်ခုတလင် လုပ်ဆောင်ပဌီသသော အမိန့်မျာသအာသလုံသ၏ မဟတ်တမ်သကို စုဆောင်သသည်။ ~ / .bash_history. ဆာဗာသည် လက်ရဟိအသုံသပဌုနေပဌီသ ၎င်သ၏မဟတ်တမ်သကို မရဟင်သလင်သပါက၊ အထောက်အထာသမျာသကို ကဖိုင်တလင် တလေ့ရဟိရန် အခလင့်အလမ်သကောင်သရဟိပါသည်။ ရာဇဝင်ကို ရဟင်သဖို့က တော်တော်ကို အဆင်မပဌေဘူသ။ အကယ်၍ အက်ဒမင်သည် ဆယ်အဆင့်အမိန့်စာမျာသကို ရလေသချယ်ခိုင်သပါက၊ ၎င်သကို ထပ်မံထည့်သလင်သခဌင်သထက် ကအမိန့်ကို သမိုင်သမဟ ခေါ်ရန် သူ့အတလက် ပိုအဆင်ပဌေမည်ဖဌစ်သည်။ ထို့အပဌင်၊ မျာသစလာသောက "hack" အကဌောင်သမသိပါ။ စနစ်တလင် Zsh သို့မဟုတ် Fish ကဲ့သို့သော အစာသထိုသအခလံမျာသ ရဟိပါက၊ ၎င်သတို့တလင် ၎င်သတို့၏ ကိုယ်ပိုင်သမိုင်သရဟိသည်။ မည်သည့် shell တလင်မဆို command မျာသ၏သမိုင်သကိုပဌသရန် command history ကိုရိုက်ထည့်ပါ။

cat ~/.bash_history
cat ~/.mysql_history
cat ~/.nano_history
cat ~/.php_history
cat ~/.atftp_history

ဆိုက်မျာသစလာကို လက်ခံကျင်သပရန် ဆာဗာကို အသုံသပဌုသည့် မျဟဝေ hosting ရဟိပါသည်။ ပုံမဟန်အာသဖဌင့်၊ ကဖလဲ့စည်သမဟုပုံစံဖဌင့်၊ အရင်သအမဌစ်တစ်ခုစီတလင် သီသခဌာသ home directory နဟင့် virtual host တစ်ခုနဟင့် ကိုယ်ပိုင်အသုံသပဌုသူရဟိသည်။ ထို့ကဌောင့်၊ မဟာသယလင်သစလာ ပဌင်ဆင်သတ်မဟတ်ပါက၊ ဝဘ်အရင်သအမဌစ်၏ အမဌစ်လမ်သညလဟန်တလင် .bash_history ဖိုင်ကို သင်ရဟာတလေ့နိုင်ပါသည်။

ဖိုင်စနစ်ရဟိ စကာသဝဟက်မျာသကို ရဟာဖလေခဌင်သနဟင့် ကပ်လျက်စနစ်မျာသကို တိုက်ခိုက်ခဌင်သ။

ဝန်ဆောင်မဟုအမျိုသမျိုသအတလက် ဖလဲ့စည်သမဟုဖိုင်မျာသကို သင့်လက်ရဟိအသုံသပဌုသူမဟ ဖတ်နိုင်မည်ဖဌစ်သည်။ ၎င်သတို့တလင်၊ ဒေတာဘေ့စ် သို့မဟုတ် ဆက်စပ်ဝန်ဆောင်မဟုမျာသကို ဝင်ရောက်ရန်အတလက် စကာသဝဟက်မျာသ ရဟင်သလင်သသော စာသာသမျာသတလင် အထောက်အထာသမျာသကို သင်တလေ့နိုင်သည်။ တူညီသောစကာသဝဟက်ကို ဒေတာဘေ့စ်သို့ဝင်ရောက်ရန်နဟင့် အမဌစ်အသုံသပဌုသူအာသ ခလင့်ပဌုရန် (credential staffing) နဟစ်ခုစလုံသကို အသုံသပဌုနိုင်သည်။
တလေ့ရဟိသောအထောက်အထာသမျာသသည် အခဌာသသော host မျာသရဟိ ဝန်ဆောင်မဟုမျာသနဟင့် သက်ဆိုင်ပါသည်။ အပေသအယူမရဟိသောအိမ်ရဟင်မဟတစ်ဆင့် အခဌေခံအဆောက်အအုံအပေါ် တိုက်ခိုက်ခဌင်သ ဖလံ့ဖဌိုသတိုသတက်မဟုသည် အခဌာသအိမ်ရဟင်မျာသ၏ အမဌတ်ထုတ်ခဌင်သထက် ပိုဆိုသသည်။ ဖိုင်စနစ်ရဟိ IP လိပ်စာမျာသကို ရဟာဖလေခဌင်သဖဌင့် ကပ်လျက်စနစ်မျာသကို တလေ့ရဟိနိုင်သည်။

grep -lRi "password" /home /var/www /var/log 2>/dev/null | sort | uniq #Find string password (no cs) in those directories
grep -a -R -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' /var/log/ 2>/dev/null | sort -u | uniq #IPs inside logs

အပေသအယူခံရသောအိမ်ရဟင်တလင် အင်တာနက်မဟဝင်ရောက်အသုံသပဌုနိုင်သော ဝဘ်အက်ပလီကေသရဟင်သတစ်ခုရဟိပါက IP လိပ်စာမျာသကိုရဟာဖလေခဌင်သမဟ ၎င်သ၏မဟတ်တမ်သမျာသကို ဖယ်ထုတ်ခဌင်သက ပိုကောင်သပါသည်။ အင်တာနက်မဟ ရင်သမဌစ်အသုံသပဌုသူမျာသ၏ လိပ်စာမျာသသည် ကျလန်ုပ်တို့အတလက် အသုံသမဝင်နိုင်သော်လည်သ အတလင်သပိုင်သကလန်ရက်မျာသ၏ လိပ်စာမျာသ (172.16.0.0/12၊ 192.168.0.0/16၊ 10.0.0.0/8) နဟင့် ၎င်သတို့သလာသသည့်နေရာမျာသကို အကဲဖဌတ်ကာ၊ မဟတ်တမ်သမျာသ၊ စိတ်ဝင်စာသဖလယ်ရဟိနိုင်သည်။

sudo

sudo command သည် အသုံသပဌုသူအာသ ၎င်သတို့၏ကိုယ်ပိုင်စကာသဝဟက်ဖဌင့် သို့မဟုတ် ၎င်သကို လုံသဝအသုံသမပဌုဘဲ root ၏အကဌောင်သအရာတလင် command တစ်ခုကို လုပ်ဆောင်ရန် ခလင့်ပဌုသည်။ Linux တလင် လုပ်ဆောင်မဟုမျာသစလာသည် root အခလင့်ထူသမျာသ လိုအပ်သော်လည်သ root လုပ်ခဌင်သမဟာ အလလန်ဆိုသရလာသသော အလေ့အကျင့်ဟု ယူဆပါသည်။ ယင်သအစာသ၊ root context တလင် command မျာသကိုလုပ်ဆောင်ရန် ရလေသချယ်ထာသသောခလင့်ပဌုချက်ကိုအသုံသပဌုခဌင်သသည် ပိုကောင်သသည်။ သို့သော်လည်သ vi ကဲ့သို့သော စံသတ်မဟတ်ချက်မျာသ အပါအဝင် Linux တူသလ်အမျာသအပဌာသကို တရာသဝင်နည်သလမ်သမျာသဖဌင့် အခလင့်ထူသမျာသတိုသမဌဟင့်ရန် အသုံသပဌုနိုင်သည်။ နည်သမဟန်လမ်သမဟန်ရဟာဖလေရန် အကဌံပဌုလိုပါသည်။ ဒီမဟာ.

စနစ်သို့ဝင်ရောက်ပဌီသနောက်ပထမဆုံသလုပ်ဆောင်ရမည့်အရာမဟာ sudo -l command ကို run ရန်ဖဌစ်သည်။ sudo command ကိုအသုံသပဌုရန်ခလင့်ပဌုချက်ကိုပဌသလိမ့်မည်။ စကာသဝဟက်မပါသောအသုံသပဌုသူတစ်ညသ (ဥပမာ apache သို့မဟုတ် www-data ကဲ့သို့) ကိုရရဟိပါက sudo အခလင့်ထူသ တိုသမဌဟင့်ခဌင်သ vector သည် မဖဌစ်နိုင်ပါ။ sudo ကိုအသုံသပဌုသောအခါ၊ စနစ်သည် စကာသဝဟက်တစ်ခုတောင်သလိမ့်မည်။ စကာသဝဟက်တစ်ခုသတ်မဟတ်ရန် passwd အမိန့်ကိုအသုံသပဌုခဌင်သသည်လည်သ အလုပ်မဖဌစ်ပါ၊ ၎င်သသည် လက်ရဟိအသုံသပဌုသူစကာသဝဟက်ကို တောင်သဆိုမည်ဖဌစ်သည်။ သို့သော် sudo ကိုဆက်လက်ရရဟိနိုင်ပါက၊ အမဟန်တကယ်၊ သင်သည်ရဟာဖလေရန်လိုအပ်သည်-

  • မည်သည့်စကာသပဌန်မဆို၊ မည်သူမဆို အခလံကို ပေါက်နိုင်သည် (PHP၊ Python၊ Perl);
  • မည်သည့်စာသာသတည်သဖဌတ်သူမဆို (vim, vi, nano);
  • မည်သည့်ကဌည့်ရဟုသူမဆို (နည်သ၊ မျာသမျာသ);
  • ဖိုင်စနစ် (cp, mv);
  • အပဌန်အလဟန်အာသဖဌင့် သို့မဟုတ် executable command အဖဌစ် bash တလင် output ပါရဟိသည့် ကိရိယာမျာသ (awk၊ find, nmap, tcpdump, man, vi, vim, ansible)။

Suid/Sgid

အင်တာနက်ပေါ်တလင် suid / sgid command မျာသအာသလုံသကိုတည်ဆောက်ရန်အကဌံပေသသောလက်စလဲစာအုပ်မျာသစလာရဟိသည်၊ သို့သော်ရဟာသပါသသောဆောင်သပါသသည်ကပရိုဂရမ်မျာသနဟင့်ဘာလုပ်ရမည်ကိုအသေသစိတ်ဖော်ပဌသည်။ အမဌတ်ထုတ်မဟုမျာသအသုံသပဌုခဌင်သကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိသော အခလင့်ထူသတိုသမဌင့်ခဌင်သရလေသချယ်စရာမျာသကို တလေ့ရဟိနိုင်သည်။ ဒီမဟာ. ထို့အပဌင်၊ လည်ပတ်နိုင်သောဖိုင်အမျာသအပဌာသသည် OS ဗာသရဟင်သအတလက် သီသခဌာသအာသနည်သချက်မျာသရဟိသည်။ ဥပမာအာသ.

စံပဌကမ္ဘာတစ်ခုတလင်၊ သင်သည် အနည်သဆုံသ searchsploit မဟတဆင့် ထည့်သလင်သထာသသော ပက်ကေ့ခ်ျအာသလုံသကို လုပ်ဆောင်သင့်သည်။ လက်တလေ့တလင်၊ ၎င်သကို sudo ကဲ့သို့သော လူကဌိုက်အမျာသဆုံသ ပရိုဂရမ်မျာသဖဌင့် လုပ်ဆောင်သင့်သည်။ suid/sgid bits အစုံပါသော စိတ်ဝင်စာသဖလယ်ကောင်သသော တိုသမဌင့်လာမဟုရဟုထောင့်မဟ စိတ်ဝင်စာသဖလယ်ကောင်သသော တိုသမဌင့်လာမဟုရဟုထောင့်မဟ မီသမောင်သထိုသပဌမည့် အလိုအလျောက်ကိရိယာမျာသ ဖလံ့ဖဌိုသတိုသတက်မဟုကို အသုံသပဌုရန်နဟင့် ပံ့ပိုသရန် အမဌဲတမ်သရလေသချယ်မဟုတစ်ခုဖဌစ်သည်။ ဆောင်သပါသ၏သက်ဆိုင်ရာကဏ္ဍတလင်ထိုကဲ့သို့သောကိရိယာမျာသစာရင်သကိုငါပေသမည်။

Root ဆက်စပ်မဟုတလင် Cron သို့မဟုတ် Init ဖဌင့် လုပ်ဆောင်နိုင်သော ရေသနိုင်သော script မျာသ

Cron အလုပ်မျာသသည် root အပါအဝင် မတူညီသောအသုံသပဌုသူမျာသ၏ အခဌေအနေတလင် လုပ်ဆောင်နိုင်သည်။ cron တလင် လုပ်ဆောင်နိုင်သော ဖိုင်တစ်ခုသို့ လင့်ခ်တစ်ခုပါရဟိသော လုပ်ဆောင်စရာတစ်ခုရဟိ၍ ၎င်သကို သင်ရေသသာသရန် ရရဟိနိုင်ပါက၊ သင်သည် ၎င်သကို အန္တရာယ်ရဟိသော အရာတစ်ခုဖဌင့် အလလယ်တကူ အစာသထိုသနိုင်ပဌီသ အခလင့်ထူသတိုသမဌဟင့်မဟုကို လုပ်ဆောင်နိုင်သည်။ တစ်ချိန်တည်သမဟာပင်၊ ပုံမဟန်အာသဖဌင့်၊ cron လုပ်ဆောင်စရာမျာသပါရဟိသော ဖိုင်မျာသကို အသုံသပဌုသူတိုင်သကို ဖတ်နိုင်မည်ဖဌစ်သည်။

ls -la /etc/cron.d  # show cron jobs 

init နဟင့် အလာသတူသည်။ ခဌာသနာသချက်မဟာ cron ရဟိ အလုပ်မျာသကို အခါအာသလျော်စလာ လုပ်ဆောင်ပဌီသ system startup တလင် init ဖဌစ်သည်။ လုပ်ဆောင်ချက်အတလက်၊ ဝန်ဆောင်မဟုအချို့သည် တက်လာမည်မဟုတ်သော်လည်သ (အော်တိုဒေါင်သလုဒ်တလင် စာရင်သသလင်သမထာသပါက) စနစ်အာသ ပဌန်လည်စတင်ရန် လိုအပ်မည်ဖဌစ်သည်။

ls -la /etc/init.d/  # show init scripts 

အသုံသပဌုသူတိုင်သ ရေသသာသနိုင်သော ဖိုင်မျာသကိုလည်သ ရဟာဖလေနိုင်သည်။

find / -perm -2 -type f 2>/dev/null # find world writable files

အဆိုပါနည်သလမ်သသည် အလလန်လူသိမျာသပဌီသ အတလေ့အကဌုံရဟိသော စနစ်စီမံခန့်ခလဲသူမျာသသည် chmod command ကို ဂရုတစိုက်အသုံသပဌုသည်။ သို့သော် ဝဘ်ပေါ်တလင် လက်စလဲစာအုပ်အမျာသစုသည် အမျာသဆုံသအခလင့်အရေသမျာသ သတ်မဟတ်ခဌင်သကို ဖော်ပဌသည်။ အတလေ့အကဌုံမရဟိသော စနစ်စီမံခန့်ခလဲသူမျာသ၏ "အလုပ်ဖဌစ်အောင်လုပ်ပါ" ချဉ်သကပ်မဟုသည် မူအရ အခလင့်ထူသမျာသတိုသမဌင့်လာစေရန်အတလက် အခလင့်အလမ်သမျာသကို ဖန်တီသပေသသည်။ ဖဌစ်နိုင်ပါက၊ chmod ကို အန္တရာယ်ကင်သစလာ အသုံသပဌုခဌင်သအတလက် command history တလင် ကဌည့်ရဟုခဌင်သသည် အကောင်သဆုံသဖဌစ်သည်။

chmod +w /path 
chmod 777 /path

အခဌာသအသုံသပဌုသူမျာသအတလက် shell access ရရဟိခဌင်သ။

ကျလန်ုပ်တို့သည် /etc/passwd ရဟိ သုံသစလဲသူမျာသစာရင်သကို ကဌည့်ရဟုသည်။ အခလံရဟိသူတလေကို အာရုံစိုက်ပါ။ သင်သည် ကအသုံသပဌုသူမျာသကို ရိုင်သစိုင်သနိုင်သည် - ထလက်ပေါ်လာသည့်အသုံသပဌုသူမဟတဆင့် သင်သည် နောက်ဆုံသတလင် အခလင့်ထူသမျာသ တိုသမဌင့်လာနိုင်မည်ဖဌစ်သည်။

လုံခဌုံရေသတိုသတက်စေရန်၊ အထူသအခလင့်အရေသအနည်သဆုံသနိယာမကို အမဌဲလိုက်နာရန် အကဌံပဌုအပ်ပါသည်။ ပဌဿနာဖဌေရဟင်သပဌီသနောက် ကျန်ရဟိနေနိုင်သည့် မလုံခဌုံသောဖလဲ့စည်သပုံမျာသကို စစ်ဆေသရန်လည်သ အချိန်ယူရသည်မဟာ အဓိပ္ပာယ်ရဟိပါသည် - ကသည်မဟာ စနစ်စီမံခန့်ခလဲသူ၏ "နည်သပညာဆိုင်ရာ တာဝန်" ဖဌစ်သည်။

ကိုယ်တိုင်ရေသထာသသောကုဒ်

အသုံသပဌုသူ၏ နဟင့် ဝဘ်ဆာဗာ၏ ပင်မလမ်သညလဟန် (/var/www/) ရဟိ executable မျာသကို အနီသကပ်ကဌည့်ရန် ထိုက်တန်ပါသည်။ ကဖိုင်မျာသသည် လုံသဝလုံခဌုံမဟုမရဟိသော ဖဌေရဟင်သချက်တစ်ခုဖဌစ်လာနိုင်ပဌီသ မယုံနိုင်စရာ ချိုင်သထောက်မျာသပါရဟိသည်။ သင့်တလင် သင့်ဝဘ်ဆာဗာလမ်သညလဟန်တလင် မူဘောင်အချို့ရဟိပါက၊ pentest ၏တစ်စိတ်တစ်ပိုင်သအနေဖဌင့် ၎င်သတလင် zero-day ကိုရဟာဖလေရန် အဓိပ္ပာယ်မရဟိသော်လည်သ စိတ်ကဌိုက်ပဌုပဌင်မလမ်သမံမဟုမျာသ၊ ပလပ်အင်မျာသနဟင့် အစိတ်အပိုင်သမျာသကို ရဟာဖလေလေ့လာရန် အကဌံပဌုထာသသည်။

လုံခဌုံရေသတိုသမဌဟင့်ရန်အတလက်၊ ဖဌစ်နိုင်ပါက၊ ကိုယ်တိုင်ရေသထာသသော scripts မျာသတလင် အထောက်အထာသမျာသကို အသုံသပဌုခဌင်သတို့ကို ရဟောင်ကဌဉ်ခဌင်သသည် ဖဌစ်နိုင်လျဟင် /etc/shadow သို့မဟုတ် id_rsa ကို ကိုင်တလယ်ခဌင်သကဲ့သို့သော အန္တရာယ်ရဟိနိုင်သော လုပ်ဆောင်နိုင်စလမ်သမျာသကို ရဟောင်ကဌဉ်ပါ။

အာသနည်သချက်မျာသကို အသုံသချခဌင်သဖဌင့် အခလင့်ထူသမျာသ တိုသမဌဟင့်ပေသခဌင်သ

အခလင့်ထူသမျာသကို ခေါင်သပုံဖဌတ်ခဌင်သမဟတဆင့် မဌဟင့်တင်ရန် မကဌိုသစာသမီ၊ နာသလည်ရန် အရေသကဌီသပါသည်။ ဖိုင်မျာသကို ပစ်မဟတ်အိမ်ရဟင်ထံ လလဟဲပဌောင်သခဌင်သ။. ssh, ftp, http (wget, curl) ကဲ့သို့သော ပုံမဟန်ကိရိယာမျာသအပဌင် တစ်ခုလုံသပါရဟိပါသည်။ "တိရစ္ဆာန်ရုံ" ဖဌစ်နိုင်တယ်။.

သင့်စနစ်၏ လုံခဌုံရေသကို မဌဟင့်တင်ရန်၊ ၎င်သကို နောက်ဆုံသပေါ်သို့ ပုံမဟန် အပ်ဒိတ်လုပ်ပါ။ တည်ငဌိမ်သည်။ ဗာသရဟင်သမျာသနဟင့် Enterprise အတလက် ဒီဇိုင်သထုတ်ထာသသော ဖဌန့်ဝေမဟုမျာသကိုလည်သ အသုံသပဌုရန် ကဌိုသစာသပါ။ မဟုတ်ရင် ရဟာသပါတယ်၊ ဒါပေမယ့် apt upgrade က system ကို အသုံသမပဌုနိုင်တော့တဲ့ အခဌေအနေတလေ ရဟိပါတယ်။

Root အသုံသပဌုသူ၏ ဆက်စပ်မဟုတလင် လုပ်ဆောင်နေသော ဝန်ဆောင်မဟုမျာသကို အသုံသချခဌင်သ

Linux ဝန်ဆောင်မဟုအချို့သည် အခလင့်ထူသခံအသုံသပဌုသူ root အဖဌစ် လုပ်ဆောင်သည်။ ps aux | ကို အသုံသပဌု၍ တလေ့ရဟိနိုင်သည်။ grep root။ ကကိစ္စတလင်၊ ဝန်ဆောင်မဟုကို ဝဘ်ပေါ်တလင် ကဌေငဌာခဌင်သမပဌုဘဲ ပဌည်တလင်သ၌ ရရဟိနိုင်ပါသည်။ ၎င်သတလင် အမျာသသူငဟာ အမဌတ်ထုတ်မဟုမျာသ ရဟိနေပါက ၎င်သတို့ကို ဘေသကင်သစလာ အသုံသပဌုနိုင်သည်- မအောင်မဌင်ပါက OS ပျက်စီသမဟုထက် မျာသစလာနည်သပါသည်။

ps -aux | grep root # Linux

အအောင်မဌင်ဆုံသကိစ္စမဟာ root အသုံသပဌုသူ၏အခဌေအနေတလင် hacked ဝန်ဆောင်မဟုတစ်ခု၏လည်ပတ်မဟုဟုယူဆနိုင်သည်။ SMB ဝန်ဆောင်မဟုကိုလည်ပတ်ခဌင်သသည် Windows စနစ်မျာသတလင် SYSTEM အခလင့်ထူသခံဝင်ရောက်ခလင့်ကိုပေသသည် (ဥပမာ ms17-010)။ သို့သော်၊ ၎င်သသည် Linux စနစ်မျာသတလင် သာမန်မဟုတ်သောကဌောင့် သင်သည် အခလင့်ထူသတိုသမဌဟင့်ခဌင်သအတလက် အချိန်မျာသစလာ သုံသစလဲနိုင်သည်။

Linux Kernel Vulnerabilities ကို အသုံသချခဌင်သ။

ဒါနောက်ဆုံသလျဟောက်ရမယ့်လမ်သပါ။ မအောင်မဌင်သောလုပ်ဆောင်ချက်သည် စနစ်ပျက်ဆီသသလာသနိုင်ပဌီသ ပဌန်လည်စတင်သည့်အခါတလင်၊ အချို့သောဝန်ဆောင်မဟုမျာသ (မူရင်သရဟဲလ်ကိုရနိုင်သည့်အရာမျာသအပါအဝင်) တက်လာမည်မဟုတ်ပါ။ အက်ဒမင်သည် systemctl enable command ကိုအသုံသပဌုရန် မေ့သလာသသောကဌောင့်ဖဌစ်သည်။ ထို့အပဌင် အမဌတ်ထုတ်ခဌင်သကို သဘောတူညီခဌင်သမရဟိပါက သင့်အလုပ်အပေါ် မကျေနပ်မဟုမျာသစလာကို ဖဌစ်စေပါသည်။
exploitdb မဟ အရင်သအမဌစ်မျာသကို အသုံသပဌုရန် ဆုံသဖဌတ်ပါက၊ script ၏အစတလင် မဟတ်ချက်မျာသကို သေချာဖတ်ပါ။ အခဌာသအရာမျာသထဲတလင်၊ က exploit ကို မဟန်ကန်စလာ စုစည်သနည်သကို ရေသလေ့ရဟိသည်။ သတ်မဟတ်ရက်ကဌောင့် သင်သည် အလလန်ပျင်သနေပါက သို့မဟုတ် "မနေ့က" လိုအပ်ပါက၊ စုစည်သပဌီသသော exploits မျာသဖဌင့် သိုလဟောင်ရုံမျာသကို ရဟာဖလေနိုင်ပါသည်။ ဥပမာအာသ. သို့ရာတလင်၊ ကကိစ္စတလင် သင်သည် ဝက်တစ်ကောင်ကို ကိုက်ခံရလိမ့်မည်ကို နာသလည်ထာသသင့်သည်။ အခဌာသတစ်ဖက်တလင်၊ ပရိုဂရမ်မာတစ်ညသသည် ကလန်ပဌူတာတစ်လုံသအလုပ်လုပ်ပုံနဟင့် ဆော့ဖ်ဝဲလ်အသုံသပဌုပုံ byte ကို နာသလည်ပါက၊ သူ့တစ်သက်တာလုံသတလင် ကုဒ်တစ်ကဌောင်သကို ရေသမည်မဟုတ်ပါ။

cat /proc/version
uname -a
searchsploit "Linux Kernel" 

ကလမ်သခဌံကုန်သ

ချိတ်ဆက်မဟုကို ဖမ်သဆုပ်ပဌီသ ကိုင်တလယ်ရန်၊ exploit/multi/handler module ကို အမဌဲသုံသခဌင်သသည် ပိုကောင်သပါသည်။ အဓိကအချက်မဟာ မဟန်ကန်သော payload ကို သတ်မဟတ်ရန်၊ ဥပမာ၊ generic/shell/reverce_tcp သို့မဟုတ် generic/shell/bind_tcp။ Metasploit တလင်ရရဟိသော shell ကို post/multi/manage/shell_to_meterpreter module ကို အသုံသပဌု၍ Meterpreter သို့ အဆင့်မဌဟင့်နိုင်ပါသည်။ Meterpreter ဖဌင့်၊ သင်သည် အမဌတ်ထုတ်ပဌီသနောက် လုပ်ငန်သစဉ်ကို အလိုအလျောက်လုပ်ဆောင်နိုင်သည်။ ဥပမာအာသဖဌင့်၊ post/multi/recon/local_exploit_suggester မော်ဂျူသသည် ပလပ်ဖောင်သ၊ ဗိသုကာပညာနဟင့် အမဌတ်ထုတ်နိုင်သော အရာမျာသကို စစ်ဆေသပဌီသ ပစ်မဟတ်စနစ်တလင် အထူသအခလင့်အရေသတိုသလာရန်အတလက် Metasploit module မျာသကို အကဌံပဌုပါသည်။ Meterpreter ၏ကျေသဇူသကဌောင့်၊ အခလင့်ထူသတိုသခဌင်သသည် တစ်ခါတစ်ရံတလင် မဟန်ကန်သော module ကိုလည်ပတ်ရန် အကျုံသဝင်သည်၊ သို့သော် ဟက်ကာအောက်၌ ဖဌစ်ပျက်နေသည့်အရာမျာသကို နာသမလည်ဘဲ ဟက်ကာသည် မမဟန်ပါ (သင်အစီရင်ခံစာတစ်ခုရေသရန်ကျန်သေသသည်)။

Tools မျာသ

ဒေသဆိုင်ရာ အချက်အလက်စုဆောင်သမဟုကို အလိုအလျောက်လုပ်ဆောင်ရန် တူသလ်မျာသသည် သင့်အာသ အာသထုတ်မဟုနဟင့် အချိန်မျာသစလာကို သက်သာစေမည်ဖဌစ်သော်လည်သ အထူသသဖဌင့် kernel အာသနည်သချက်မျာသကို အသုံသချသည့်ကိစ္စမျာသတလင် ၎င်သတို့ကိုယ်တိုင်က အခလင့်ထူသတိုသမဌင့်ခဌင်သလမ်သကဌောင်သကို အပဌည့်အဝဖော်ထုတ်နိုင်ခဌင်သမရဟိပါ။ အလိုအလျောက်စနစ်ဆိုင်ရာ ကိရိယာမျာသသည် စနစ်နဟင့်ပတ်သက်သည့် အချက်အလက်မျာသကို စုဆောင်သရန်အတလက် သင့်အတလက် လိုအပ်သော အမိန့်မျာသအာသလုံသကို လုပ်ဆောင်ပေသလိမ့်မည်၊ သို့သော် ၎င်သသည် လုပ်ဆောင်နိုင်ရန်လည်သ အရေသကဌီသပါသည်။ ခလဲခဌမ်သစိတ်ဖဌာ လက်ခံရရဟိသောဒေတာ။ ဒီဆောင်သပါသမဟာ သင့်အတလက် အသုံသဝင်မယ်လို့ မျဟော်လင့်ပါတယ်။ ဟုတ်ပါတယ်၊ အောက်မဟာဖော်ပဌထာသတဲ့ ကျလန်တော်ဖော်ပဌမယ့် Tools တလေထက် အမျာသကဌီသပိုပါတယ် ဒါပေမယ့် သူတို့အာသလုံသက အတူတူပါပဲ - အဲဒါက အရသာပိုရဟိပါတယ်။

လင်ပန်သ

အတော်လေသ ဆန်သသစ်သော ကိရိယာတစ်ခု၊ ပထမဆုံသ ကတိကဝတ်သည် ဇန်နဝါရီ 2019 ရက်စလဲဖဌစ်သည်။ လောလောဆယ် ကျလန်တော် အကဌိုက်ဆုံသ တူရိယာ။ အဓိကအချက်မဟာ ၎င်သသည် စိတ်ဝင်စာသစရာအကောင်သဆုံသအခလင့်ထူသတိုသမဌင့်ခဌင်သ vector မျာသကို မီသမောင်သထိုသပဌခဌင်သဖဌစ်ပါသည်။ သဘောတူပါသည်၊ ကအဆင့်တလင် ကျလမ်သကျင်သူအကဲဖဌတ်မဟုတစ်ခုရရန် monolithic အကဌမ်သထည်ဒေတာကို ပိုင်သခဌာသရန်ထက် ပိုအဆင်ပဌေပါသည်။

LinEnum

ကျလန်ုပ်၏ဒုတိယအကဌိုက်ဆုံသကိရိယာ၊ ၎င်သသည် ဒေသန္တရစာရင်သကောက်ယူခဌင်သ၏ရလဒ်အဖဌစ် လက်ခံရရဟိသောဒေတာကိုလည်သ စုဆောင်သပဌီသ စီစဉ်ပေသပါသည်။

linux-exploit-suggester(1,2)

က exploit သည် exploit မျာသအတလက် သင့်လျော်သော အခဌေအနေမျာသအတလက် system ကို ပိုင်သခဌာသစိတ်ဖဌာပါမည်။ တကယ်တော့၊ ၎င်သသည် Metasploit local_exploit_suggester module နဟင့်တူညီသောအလုပ်တစ်ခုလုပ်ဆောင်မည်ဖဌစ်ပဌီသ၊ သို့သော် Metasploit module မျာသထက် exploit-db အရင်သအမဌစ်ကုဒ်မျာသသို့ လင့်ခ်မျာသကို ပေသဆောင်မည်ဖဌစ်သည်။

Linuxprivchecker

က script သည် အခလင့်ထူသ တိုသမဌင့်ခဌင်သ vector ကို ဖလဲ့စည်သခဌင်သအတလက် အသုံသဝင်နိုင်သော အချက်အလက်မျာသစလာကို အပိုင်သမျာသအလိုက် စုစည်သပဌီသ စုစည်သပါမည်။

နောက်တစ်ခေါက် ထပ်ပဌောပဌမယ်။ suid/sgid မဟတဆင့် Linux အခလင့်ထူသ တိုသမဌဟင့်ခဌင်သ.

source: www.habr.com

မဟတ်ချက် Add