Recent in Technology

Steps of Hacking

Steps of Hacking

Hacking အတွက် ခြေလှမ်းများ

Hacking လုပ်တဲ့အခါမှာ black, white မတူသလို လုပ်လေ့ရှိတဲ့ အဆင့်တွေမှာလည်းပဲ ကွဲပြားကြပါတယ်။ Pentesting လုပ်တဲ့အခါမှာ အဆင့်တွေ ပိုများလေ့ရှိပါတယ်။ ဘာကိုဘယ်လိုရည်ရွယ်ချက်မျိုးနဲ့ပဲလုပ်လုပ် Hacking လုပ်တဲ့အခါ မဖြစ်မနေ ဖြတ်သန်းရတဲ့ အဆင့်တွေ ရှိပါတယ်။ ဒီစာအုပ်မှာ အဲသည် မဖြစ်မနေ လုပ်ရတဲ့ အဆင့်တွေကိုပဲ ဆွေးနွေးသွားပါမယ်။

1. Reconnaissance (Information Gathering/Footprinting)

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

သူတို့ရဲ့ Website, structure, သူတို့သုံးတဲ့ ကွန်ပျူတာတွေ၊ စနစ်တွေ၊ app တွေ၊ သူတို့ကုမ္ပဏီမှာမှ Vulnerable ဖြစ်နေတဲ့သူတွေ၊ စတာတွေကို သိဖို့လိုပါတယ်။ အဲသည်လို အချက်အလက်တွေကို ရှာဖွေစုဆာင်းတဲ့အခါ အင်တာနက်ကနေ လုပ်နိုင်တာတွေလည်း ရှိသလို ပြင်ပမှာ ကိုယ်တိုင်ရှာဖွေစုဆောင်းယူရတာလည်း ရှိနိုင်ပါတယ်။ အချက်အလက် များများ ရှာဖွေစုဆောင်းမိလေလေ အောင်မြင်ဖို့ လမ်းစ ပိုများလေလေ ဆိုတာ အမြဲ သတိပြု ပါဗျ။

အဲသလို အချက်အလက်တွေ ရှာဖွေစုဆောင်းရာမှာ Active Footprintng နည်းနဲ့ Passive Footprinting နည်းလမ်းတွေကို အသုံးပြုနိုင်ပါတယ်။ အဲလိုစုဆောင်းရာမှာ သက်ဆိုင်ရာ organiztion ရဲ့ sensitive information တွေ၊ contact address တွေ၊ သူတို့သုံးနေတဲ့ system တွေ၊ service တွေ၊ domain info တွေ၊ DNS & NX record တွေ၊ အဆိုပါ organization မှာရှိတဲ့ ဝန်ထမ်းတွေရဲ့ အချက်အလက်က အစ အရေးပါပါတယ်။ ဥပမာ - administrator password သည် အဆိုပါ admin ရဲ့ အိမ်မှာ မွေးထားတဲ့ ခွေးလေးနာမည်လည်း ဖြစ်နေနိုင်ပါသေးတယ်။

2. Scanning

ပထမဆုံးအဆင့် Reconnaissance (or) Information Gathering (or) Footprinting အဆင့်မှာ ရခဲ့တဲ့ အချက်အလက်တွေပေါ် မူတည်ပြီးတော့ scanning လုပ်တဲ့အဆင့်ပါ။ ဒီအဆင့်အထိ တိုက်ခိုက်တဲ့ အခြေအနေ လုံးဝ မဟုတ်သေးပါဘူး။ (ဒါပေမဲ့ အချို့နိုင်ငံတွေရဲ့ ဥပဒေမှာတော့ ခွင့်ပြုချက်မရှိဘဲ scanning လုပ်ရင် ရာဇဝတ်မှု စ မြောက်ပါတယ်)

Scanning Phase ရဲ့ အဓိက mission က စုံစမ်းသိရှိထားတဲ့ အချက်အလက်တွေပေါ် မူတည်ပြီး vulnerability တွေကို ရှာဖွေဖို့၊ attack vector တွေကို သတ်မှတ်ဖော်ထုတ်နိုင်ဖို့ ဖြစ်ပါတယ်။ ဒီကနေ ရတဲ့ အချက်အလက်တွေကို နောက်တစ် ဆင့်မှာ အသုံးချ တိုက်ခိုက်နိုင်ဖို့ပါ။ sanning phase မှာ Vulnerability scanning, Port scanninng, Network Mapping စတာတွေကို လုပ်ဆောင်နိုင်ပါတယ်။

(ဒီစာအုပ်မှာတော့ လိုတိုရှင်း သဘောတရားလေးတွေပဲ ပြောပါရစေ။ အပြည့်အစုံသိရှိလိုပါက အကျယ်တဝင့် ဖော်ပြထားတဲ့ Basic Hacking Tehniques ဆိုတဲ့ စာအုပ် free pdf ကို My Books ဆိုတဲ့ စာမျက်နှာမှာ Download ရယူ ဖတ်ရှုနိုင်ပါတယ်ဗျ)

3. Gaining Access

ဒီအဆင့်ကတော့ exploit လုပ်တဲ့အဆင့်ပါ။ Exploitation Phase လို့လည်း ခေါ်ကြပါတယ်။ ဒါကတော့ ကိုယ် Target ထားတဲ့ system ကို တိုက်ခိုက်ပြီး access ရယူနိုင်ဖို့ ကြိုးစားတဲ့ အဆင့်ပါ။ ရထားတဲ့ Access က သာမန် အသုံးပြုရုံလောက်ပဲ ဆိုရင် ဒီ့ထက်ပိုမြင့်တဲ့ Level access ကို ရယူနိုင်ဖို့ ကြိုးစားတာမျိုးလည်း ဒီအဆင့်မှာ ပါဝင်ပါတယ်။ ကိုယ်ရထားတဲ့ privilege (လုပ်ဆောင်နိုင်ခွင့်အတိုင်းအတာ)ကို ပိုမိုးတိုးမြင့် (escalate) လာအောင် လုပ်ဆောင်တာကိုတော့ Privilege Escalation လို့ ခေါ်ပါတယ်။

ဒီစာအုပ်မှာ ဒီအကြောင်းအရာတွေကို အကျဥ်းချုပ်သာ ဖော်ပြထားပေမဲ့ သဘော ကို နားလည်စေဖို့အတွက်တော့ နောက်ပိုင်း အခန်းတွေမှာ လက်တွေ့တွေနဲ့ ရှေ့ဆက်သွားမှာ ဖြစ်ပါတယ်။ (အပြည့်အစုံသိရှိလိုပါက အကျယ်တဝင့် ဖော်ပြထားတဲ့ Basic Hacking Tehniques ဆိုတဲ့ စာအုပ် free pdf ကို My Books ဆိုတဲ့ စာမျက်နှာမှာ Download ရယူ ဖတ်ရှုနိုင်ပါတယ်ဗျ)

4. Maintaining Access

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

ဒီလိုဖန်တီးနိုင်ဖို့အတွက် Backdoors, Trojans, Rootkits, Reverse Shells နဲ့ အခြားသော malware ပုံစံတွေကိုဖြစ်စေ အသုံးပြုလုပ်ဆောင်နိုင်ပါတယ်။ ဒါဆိုရင် နောက်တစ်ကြိမ် ဒီထဲကို ပြန််ဝင်ချင်တဲ့အခါ တစ်ဆင့်စီ လိုက်လုပ်နေစရာမလိုဘဲနဲ့ တိုက်ရိုက် ဝင်ရောက်နိုင်တာမျိုး လုပ်နိုင်လာမှာပါ။

တစ်ခါမှာ Server အဖြစ် သုံးထားတဲ့ Ubuntu Machine (VPS) တစ်လုံးထဲကို ရောက်ခဲ့တုန်းက အတွေ့အကြုံလေး ပြောပြချင်ပါတယ်။ administrator (root) terminal ထိ ရခဲ့ပြီးတဲ့အခါ ကျွန်တော်က အဆိုပါ com ရဲ့ CEO နာမည်နဲ့ Acc တစ်ခု ဖွင့်ပြီး super user အဖြစ် ထားပေးခဲ့ပါတယ်။

khitminnyo@aio:~$ useradd michael

michael ဆိုတဲ့ နာမည်နဲ့ Acc သစ် ဖွင့်တဲ့ command ပါ။

khitminnyo@aio:~$ passwd michael

michael ဆိုတဲ့ Acc အတွက် password သတ်မှတ်ပေးတာပါ။ အဲလို သတ်မှတ်နိုင်ဖို့ password ၂ကြောင်း တူအောင် ရိုက်ခိုင်းပါလိမ့်မယ်။ (command line မှာ password ရိုက်တဲ့အခါ security အရ ဘာမှ ပေါ်မှာမဟုတ်ပါဘူး။ ကိုယ့်ဘာသာ ရိုက်စရာရှိတာ ရိုက်ထည့်ပြီး enter လိုက်ရမှာပါ။ password ရိုက်တဲ့နေရာရောက်ရင် Keyboard အလုပ်မလုပ်ဘူးဆိုပြီး လာလာမေးတတ်ကြပါတယ်။ တကယ်က အလုပ်မလုပ်တာမဟုတ်ပါဘူး။ security အရ ပြကို မပြတာပါ။)

khitminnyo@aio:~$ usermod -aG sudo michael

sudo (super user access) အသုံးပြုမယ့် group ထဲကို michael ဆိုတဲ့ Acc ကို ထည့်ပေးလိုက်တာပါ။

ဒါဆိုရင်တော့ ကျွန်တော်တို့ အသစ်ဖွင့်လိုက်တဲ့ new user ဖြစ်တဲ့ michael ဆိုတဲ့ Acc ကို သတ်မှတ်ပေးထားတဲ့ password နဲ့ ဝင်လို့ ရပါပြီ။ sudo access ကိုလည်း သုံးနိုင်ပြီဖြစ်ပါတယ်။ (VPS ဟုတ်မနေရင်တော့ ssh service ကို auto start လုပ်ပေးထားဖို့ လိုပါတယ်)

khitminnyo@aio:~$ sudo systemctl enable ssh

ssh service ကို autostart လုပ်တာပါ။ အကယ်၍များ firewall က allow လုပ်ပေးဖို့ လိုအပ်တဲ့ အခြေအနေမှာဆိုရင်တော့ အောက်ပါ command ကို သုံးပြီး firewall က ssh port ကို ဖွင့်ပေးဖို့ တောင်းဆိုနိုင်ပါတယ်။

khitminnyo@aio:~$ sudo ufw allow ssh

ဒါဆိုရင်တော့ firewall သည် ssh service run တဲ့ port ကို ခွင့်ပြုပေးသွားမှာ ဖြစ်ပါတယ်။ ဒီနေရာမှာ command တွေ ထည့်ထားပေးတာက လိုတဲ့အခါ ပြန်ဖတ် နိုင်အောင်ပါ။ Linux command တွေနဲ့ ရင်းနှီးကျွမ်းဝင်ပြီးသားသူတွေအဖို့တော့ ဒါတွေ သိပြီး ဖြစ်နေနိုင်ပါတယ်။

5. Clearing Track

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

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

ဒီတော့ system ထဲမှာ ကျွန်တော်တို့ ရှိနေခဲ့ကြောင်း ဖော်ပြနိုင်မယ့် logs တွေ ကို ဖျက်ပစ်တာမျိုး၊ registery value တွေ ပြင်ဆင်တာမျိုး၊ အဆိုပါ စနစ်ထဲကို ရောက်ခဲ့စဥ်အတွင်း အသုံးပြုထည့်သွင်းခဲ့တဲ့ application တွေရှိရင် ဖျက်ပစ်တာမျိုး၊ တည်ဆောက်ထားခဲ့တဲ့ folder တွေကို ဖျက်ပစ်တာမျိုးတွေ လုပ်ဆောင်တာကို ဆိုလိုပါတယ်။

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

Thank you for reading here.

Post a Comment

0 Comments

People