News

POST TYPE

IT

Hacker တစ္ေယာက္ ျဖစ္ဖို႔ဆိုရင္
24-Apr-2018



ဟက္ကာတစ္ေယာက္ ျဖစ္ခ်င္တယ္။ ဘာလုပ္ရမလဲဆိုတာ ကၽြန္ေတာ့္ကို လူငယ္ေတြ မၾကာခဏ လာေမးေလ့ရွိတဲ့ ေမးခြန္းတစ္ခုပါ။

“ကၽြန္ေတာ္ Security ပိုင္းစိတ္ဝင္စားတယ္ Hacker ျဖစ္ခ်င္လို႔ ဘာေတြလုပ္ရမလဲ”၊ “ဘယ္သင္တန္းေတြတက္ရမလဲ”၊ “Hacker တစ္ေယာက္ျဖစ္ဖို႔ ဘာေတြေလ့လာရမလဲ” ဒီလိုေတြေမးခံရတိုင္း ကၽြန္ေတာ္ ဒီေမးခြန္းေလးေတြ ျပန္ေမးျဖစ္တယ္။

“White Hat ျဖစ္ခ်င္တာလား Black Hat ျဖစ္ခ်င္တာလား”၊ “Programming ဘယ္ Language ေတြ ရသလဲ”၊ “Networking နဲ႔ System Administration ကိုေကာ ဘယ္ေလာက္သိထားၿပီးၿပီလဲ” ဆိုတာပါပဲ။

Security ပိုင္း

Website/Web Application ေတြ၊ Mobile Application ေတြ၊ Server/Service ေတြ၊ အဲဒါေတြၾကားထဲမွာသြားတဲ့ Protocol ေတြမွာ လံုၿခံဳေရးဆိုတာရွိတဲ့အျပင္ ေနာက္ဆံုး ကုန္ကုန္ေျပာရရင္ Physical ေတြျဖစ္တဲ့ Server အခန္း၊ ႐ံုးတြင္းဝင္ေပါက္ စတာေတြမွာပါ Security ရွိပါတယ္။ ဒါေၾကာင့္ ေနရာတိုင္းမွာ Security ရွိပါတယ္။ ကိုယ္က Security ဆိုတာကို စိတ္ဝင္စားၿပီဆိုရင္ ဘယ္အပိုင္းကို ေလ့လာမလဲဆိုတာ Scope ေသခ်ာခ်ရမွာပါ။ ေရာက္တတ္ရာရာ အကုန္လုပ္မယ္ဆိုရင္ေတာ့ အားလံုးပရမ္းပတာေတြျဖစ္ၿပီး ဟိုစပ္စပ္ဒီစပ္စပ္နဲ႔ ေနာက္ဆံုး ေမ်ာက္သစ္ကိုင္းလြတ္ျဖစ္ပါလိမ့္မယ္။

White Vs Black Hats

ကတ္သီးကတ္ဖဲ့လိုက္ေျပာရင္ေတာ့ Online ေပၚမွာေတြ႔ေနရသလို ေရာင္စံုဦးထုပ္ေတြ ေတြ႔ေနရမွာပဲ။ Security သို႔မဟုတ္ Pentesting ကို ေလ့လာလိုက္စားတဲ့လူတစ္ေယာက္အဖို႔ ငါ့ဦးထုပ္က ဘယ္အေရာင္ဆိုတာ သိပ္အေရးမႀကီးပါဘူး။ အေျခခံအားျဖင့္ ႏွစ္မ်ိဳးခြဲၾကည့္ရေအာင္ အျဖဴနဲ႔အမည္းေပါ့။

အခုအခ်ိန္မွာ လူေတြနားလည္ထားၾကတာကို အရင္ေျပာၾကည့္ရေအာင္။ White Hat ဆိုတာကို ဘယ္လိုနားလည္ထားၾကလဲဆိုေတာ့ Ethic ရွိတဲ့ Hacker ေတြ၊ ကာကြယ္တဲ့အပိုင္းကို အာ႐ံုစိုက္ၾကတဲ့ Hacker ေတြ၊ Company ေသာ္လည္းေကာင္း၊ Government ေသာ္လည္းေကာင္း ေက်ာေထာက္ေနာက္ခံရွိၿပီး ၎တို႔သက္ဆိုင္ရာအဖြဲ႔အစည္း၊ ႏိုင္ငံေတြရဲ႕ Cyber Space နဲ႔တကြ Infrastructures/Servers/Web စတာေတြအတြက္ ေကာင္းက်ိဳးေဆာင္႐ြက္တဲ့ Hacker ေတြဆိုၿပီး လူေတြနားလည္ထားၾကတယ္။ Black Hat ဆိုတာကိုေတာ့ Ethic မရွိဘဲ ထင္ရာစိုင္း လုပ္ခ်င္တာလုပ္ၿပီး အဖ်က္အေမွာင့္ေတြ လုပ္တဲ့ Hacker ေတြ တိုက္ခိုက္တာကို ဦးစားေပးတဲ့ Hacker ေတြ၊ ေက်ာေထာက္ေနာက္ခံအဖြဲ႔အစည္း ႀကီးႀကီးမားမားမရွိဘဲ မိမိတို႔ဝါသနာအရေသာ္လည္းေကာင္း၊ အမ်ိဳးသားေရး၊ ဘာသာေရးေၾကာင့္ေသာ္လည္းေကာင္း အေၾကာင္းအရာတစ္ခုခုကို အေျချပဳၿပီး ရပ္တည္ေနၾကတဲ့ Hacker ေတြဆိုၿပီး လူေတြနားလည္ထားၾကတယ္။

ဒါျဖင့္ White Hats ေတြက တိုက္ခိုက္မႈေတြ မလုပ္ႏိုင္ၾကဘူးလား သို႔မဟုတ္ မလုပ္ၾကဘူးလားလို႔ ေမးစရာျဖစ္လာတယ္။ အေျဖကေတာ့ ရွင္းပါတယ္။ လုပ္ႏိုင္တဲ့အေျခအေန သူတို႔မွာ ရွိၾကတယ္။ လုပ္လို႔ေျပာရင္ လုပ္သင့္တဲ့ကိစၥတစ္ခုခုရွိရင္ေတာ့ လုပ္ၾကမွာပါပဲ။ Black Hats ေတြကေကာ ကာကြယ္တဲ့အပိုင္းေတြ လုပ္ခြင့္မရွိေတာ့ဘူးလား သို႔မဟုတ္ မလုပ္ၾကဘူးလားလို႔ ေမးရင္လည္း သူတို႔လုပ္ခ်င္ရင္လုပ္ၾကမွာပါပဲ။ ဥပမာအားျဖင့္ စားဝတ္ေနေရးအရ ကိုယ္တတ္တဲ့ပညာကို ထုတ္ေရာင္းတဲ့အေျခအေနျဖစ္တဲ့ ဝန္ေဆာင္မႈေပးတဲ့အေျခအေနမ်ိဳးမွာဆိုရင္ေတာ့ Black Hats ေတြလည္း သူတို႔ေပးတဲ့ဝန္ေဆာင္မႈကိုအသံုးျပဳတဲ့ အရာေတြကို ကာကြယ္တဲ့ကိစၥေတြ လုပ္ၾကရမွာပဲ။

White Hat နဲ႔ Black Hat ဘာမ်ားကြာျခားသလဲ

ေသခ်ာေတြးၾကည့္ရင္ ဘယ္ Hat ျဖစ္ျဖစ္ စက္ ႐ုပ္တစ္႐ုပ္မဟုတ္ဘဲ လူေတြခ်ည္းပဲဆိုတာ သိလာမွာပါ။ ေသခ်ာတာေတာ့ White Hat ဆိုတာ “ေကာင္းတာလုပ္မယ္လို႔ လူေတြနားလည္ထားၿပီး ဆိုးတာလည္း လုပ္ခြင့္ရွိတဲ့ Hacker ေတြ” ျဖစ္သလို Black Hat ဆိုတာ “တိုက္ခိုက္မႈေတြျပဳလုပ္မယ္လို႔ လူေတြသိထားေပမယ့္ ကာကြယ္မႈေတြကိုလည္း ျပဳလုပ္ႏိုင္တဲ့ Hacker ေတြ” ပါပဲ။

ကဲ ဒါဆို White Hat ျဖစ္ျဖစ္၊ Black Hat ျဖစ္ျဖစ္ ႏွစ္မ်ိဳးစလံုးဟာ Hacker ေတြျဖစ္တဲ့အတြက္ Hacker ဆိုတဲ့ ေဝါဟာရကို ဘံုထုတ္လိုက္ရေအာင္။ ဒါေၾကာင့္ ဒီေဆာင္းပါးမွာ ဆက္ေျပာမယ့္ “Hacker” ဆိုတဲ့ ေဝါဟာရကို Cyber Security ကိုေလ့လာေသာသူမ်ား အသံုးခ်သူမ်ားလို႔ ဆက္လက္သတ္မွတ္လိုက္ပါတယ္။ ဒီစာကိုေရးရတဲ့အေၾကာင္းအရာက အခုမွ စမွာပါ။ Hackerတစ္ေယာက္ျဖစ္လာဖို႔ ဘာေတြ သိထားရမလဲ၊ ဘာေတြေလ့လာရမလဲ (သို႔မဟုတ္) ဘယ္သင္တန္းေတြ တက္ရမလဲဆိုတဲ့အေၾကာင္းေလး ဆက္ေျပာရေအာင္။

တိုက္ခိုက္မႈပံုစံမ်ားႏွင့္ ၎တို႔အတြက္ အေျခခံသိထား သင့္သည္မ်ား

အေျခခံသိထားသင့္တဲ့အခ်က္ေတြကို ေခါင္းစဥ္ေတြခြဲၿပီး ေလ့လာၾကည့္ရေအာင္။

DDoS Attack

“လာျပန္ၿပီ DDoS Attack ဆိုတဲ့ေခါင္းစဥ္။ အဲဒါက Hacking ထဲမွာ ပါလို႔လား။ သူက Hack တာမွမဟုတ္တာ” လို႔ အျငင္းပြားဖြယ္ေတြ ရွိပါတယ္။ “မွန္ပါတယ္ သူဟာ Hacking ထဲမွာ မပါပါဘူး။ ဒါေပမဲ့ Hacking ျပဳလုပ္ဖို႔အတြက္ တခ်ိဳ႕ကိစၥေတြမွာ အသံုးဝင္သလို အေျခခံတိုက္ခိုက္မႈေတြထဲမွာလည္း အမ်ိဳးအစားတစ္ခုအေနနဲ႔ ပါတဲ့အတြက္ ေျပာရမွာပါ” လို႔ ျပန္ေျဖရမွာပါပဲ။ ႐ိုး႐ိုးသာမန္ တိုက္ခိုက္မႈမ်ိဳးအတြက္ သိထားသင့္တဲ့ အေျခခံအမ်ားႀကီး မပါဝင္ပါဘူး။ Tools ေလးကို Download ဆြဲမယ္၊ ၿပီးရင္ ကိုယ္တိုက္ခ်င္တဲ့ Domain/IP ေလး႐ိုက္ထည့္မယ္၊ Attack  ဆိုတာေလးကိုႏွိပ္မယ္။ ဒီေလာက္ပါပဲ။ ဒါေပမဲ့ ဥပမာအားျဖင့္ Loadbalancer သို႔မဟုတ္ Cloudflare လိုမ်ိဳးရဲ႕ ေနာက္ကြယ္မွာရွိတဲ့ Server တစ္ခုကို တိုက္ခိုက္ေတာ့မယ္ဆိုပါေတာ့။ ဒီလိုအေျခအေနမ်ိဳးမွာ ကိုယ္တိုက္ခ်င္တဲ့ Target သည္ Loadbalancer ခံထားလား၊ Cloudflare ခံထားလား ကနဦး သိရွိဖို႔ လိုပါတယ္။ သူကတစ္ဆင့္ ကိုယ္တိုက္ခ်င္တဲ့ Target  (ဥပမာ- Website ဆိုပါေတာ့) ဟာ Loadbalancer မကာထားတဲ့ တခ်ိဳ႕အစိတ္အပိုင္းေလးေတြ (ဥပမာ- Mail Server) ရွိမရွိ Subdomain ေတြ ထပ္စစ္ၾကည့္ရပါမယ္။ အဲ့ကေနတစ္ဆင့္ Target ရဲ႕ IP Address အစစ္အမွန္ သိရွိႏိုင္ပါတယ္။ တျခား Loadbalancer/ CloudFlare ေတြကိုေက်ာ္ၿပီး IP အစစ္အမွန္ကို ရယူတဲ့နည္းလမ္းေတြလည္း ရွိပါတယ္။ ေနာက္ထပ္ တစ္ဆင့္အေနနဲ႔ ပံုမွန္ DoS မ်ိဳးမဟုတ္ပဲ DDoS လိုမ်ိဳး Bot ေတြ အလံုးအရင္းနဲ႔ တိုက္ခိုက္မႈပံုစံဆိုရင္ Bot ေတြကို တျခား Server ေတြ Website ေတြမွာ သြားထားဖို႔ DDoS မဟုတ္တဲ့ အျခား Hacking တတ္ေျမာက္ထားရမွာပဲ ျဖစ္ပါတယ္။

အဲ့ဒီအျပင္ DNS, NTP, SNMP Amplification DDoS တိုက္ခိုက္မႈေတြအတြက္ဆို အေျခခံသိထားသင့္သည့္အခ်က္ေတြ အရမ္းမ်ားသြားပါၿပီ။ ကိုယ့္တိုက္ခိုက္မႈသည္ အထိေရာက္ဆံုးျဖစ္ဖို႔ အတြက္ Firewall ေတြ ဘယ္လိုအလုပ္လုပ္ေနၾကမလဲ။ သူတို႔အာ႐ံုစိုက္ၿပီး ကာကြယ္ေနတာက ကိုယ့္တိုက္ခိုက္မႈကို အဟန္႔အတားျဖစ္ေစတယ္ဆိုရင္ ဘယ္လို Decoy ျပဳလုပ္မလဲဆိုတာေတြလည္း ပါဦးမွာပါ။ ဒါဆို White Hat တစ္ေယာက္အေနနဲ႔ ကာကြယ္မႈျပဳလုပ္မယ္ဆိုရင္ သိထားရမယ့္ Knowledge ေတြက ပိုမ်ားသြားပါၿပီ။ ဒါေၾကာင့္ ေျပာခ်င္တာက သာမန္ DDoS ေလာက္ေလးတင္ပဲ အေျခခံသိထားသင့္တဲ့အခ်က္ေတြဟာ Networking Knowledge, System Knowledge, Firewall Knowledge, DNS Knowledge, NTP Knowledge, SNMP Knowledge စတာေတြ လိုအပ္ပါလိမ့္မယ္။ ဒီၾကားထဲမွာ အစက ေျပာခဲ့သလို Hacking ေတြအတြက္ အသံုးဝင္တဲ့ကိစၥမ်ိဳးေတြျဖစ္တဲ့ DDoS တိုက္ေနတုန္း SQL Injection ျပဳလုပ္ျခင္း၊ XSS ျပဳလုပ္ျခင္း စတာေတြ ရွိဦးမွာပါ။

လူအမ်ားစိတ္ဝင္စားၾကတဲ့ Website ကို တိုက္ခိုက္ျခင္း

Website တစ္ခုကိုတိုက္ခိုက္ဖို႔အတြက္ အေျခခံအက်ဆံုးက စရရင္ေတာ့ Admin ရဲ႕ ေပါ့ဆမႈကေန စရမွာပါပဲ။ အဲဒါကေတာ့ Password လြယ္ကူစြာထားေလ့ရွိတာမ်ိဳး သို႔မဟုတ္ Default Password ကို ေျပာင္းလဲထားျခင္း မရွိတာမ်ိဳးပါပဲ။ Website တစ္ခုရဲ႕ Administration Panel ကို ေတြ႔တာနဲ႔ username: admin, password: admin နဲ႔ စၾကည့္ႏိုင္ပါတယ္။ ရရင္ ရမယ္ ရခ်င္မွရပါလိမ့္မယ္။ မရဖို႔ေတာ့မ်ားပါတယ္။ ဒါအလြယ္ဆံုးနဲ႔ အ႐ိုးရွင္းဆံုးပါပဲ။ ဒီထက္ တစ္ဆင့္ျမင့္ရင္ေတာ့ တိုက္႐ိုက္ File Upload လုပ္လို႔ရတဲ့ Web Application တစ္ခု သို႔မဟုတ္ Page တစ္ခုကို လူတကာဝင္ၾကည့္ႏိုင္ေအာင္ Permission မခံထားပဲ ထားရွိတာမ်ိဳးပါပဲ။ အဲ့ဒီကေနတစ္ဆင့္ File မ်ားတင္လို႔ရသြားေတာ့ အက်ိဳးဆက္က အမ်ားႀကီး ျဖစ္သြားႏိုင္ပါတယ္။ ကဲ ဘာပဲျဖစ္ျဖစ္ Administration Panel ရသြားလို႔ အထဲဝင္သြားႏိုင္ရင္ ဘာဆက္လုပ္မွာလဲ သို႔မဟုတ္ ကိုယ္ ဘာဆက္လုပ္ႏိုင္မလဲ။

Website ကို တိုက္ခိုက္ျခင္းျဖစ္လို႔ Web Programming တစ္ခုခုကိုေတာ့ အနည္းဆံုး နားလည္ထားမွျဖစ္ပါလိမ့္မယ္ (ဥပမာ - PHP) ေနာက္ၿပီး ဆက္ေျပာဖို႔ရွိတာက ခုခ်ိန္ထိရွိေနေသးတဲ့ SQL Injection ပါပဲ။ SQL Injection ျပဳလုပ္ၾကတယ္ဆိုတာ Web Programming တစ္ခုရဲ႕ Code အမွား တစ္ခုကို အသံုးခ်ၿပီး SQL Server ထဲမွာရွိတဲ့ Data ေတြကို လွမ္းယူၿပီး Admin Panel ကို ဝင္လို႔ရေအာင္ ႀကိဳးစားျခင္း ဒါမွမဟုတ္ SQL Server ရဲ႕ လံုၿခံဳေရးယိုေပါက္ကိုအသံုးခ်ၿပီး Website ေပၚက တစ္ေနရာရာကို မိမိထိန္းခ်ဳပ္လို႔ရတဲ့ Shell ကို Upload တင္ယူျခင္းေတြအတြက္ အဓိကျဖစ္ပါတယ္။ ဒီေတာ့ ေသခ်ာတာက SQL Syntax ေတြကို ေသခ်ာေပါက္ နားလည္ထားမွကိုျဖစ္မွာပါ။

ေနာက္တစ္မ်ိဳးအေနနဲ႔ LFI/RFI လို႔ေခၚတဲ့ Local File Inclusion/Remote File Inclusion ျဖစ္ပါတယ္။ Directory traversal or path traversal ကေနတစ္ဆင့္ Website တင္ထားတဲ့ Server ထဲမွာရွိတဲ့ File ေတြရဲ႕ Data ေတြကို ခြင့္ျပဳခ်က္မရွိေသာ္လည္း ၾကည့္႐ႈႏိုင္ျခင္း သို႔မဟုတ္ File တစ္ခုကို ခြင့္ျပဳခ်က္မရွိေသာ္လည္း Run လို႔ရေအာင္လုပ္ျခင္း စတာေတြပါပဲ။ ဥပမာ LFI ကေနတစ္ဆင့္ ၎ Webserver ထဲမွာရွိတဲ့ /etc/passwd လိုမ်ိဳး File ကိုၾကည့္႐ႈျခင္းပံုစံမ်ိဳးပါပဲ။ ဒါရဲ႕ ရလဒ္က ဘာျဖစ္မလဲဆိုေတာ့ အဲ့ဒီ Webserver မွာရွိတဲ့ username ေတြနဲ႔ သူတို႔ရဲ႕ home path & login shell ေတြကို ၾကည့္႐ႈလို႔ရလိုက္ျခင္းပဲျဖစ္ပါတယ္။ သို႔မဟုတ္ တျခား Config File ေတြကို ၾကည့္႐ႈမယ္ဆိုရင္လည္း ရပါေသးတယ္။ RFI ကေတာ့ တျခားေနရာမွာရွိတဲ့ File ကို အလိုအေလ်ာက္ရယူၿပီး တိုက္ခိုက္ခံရတဲ့ Web Server မွာ Run တာမ်ိဳးပါပဲ။ ဒီအတြက္ေတာ့ သက္ဆိုင္ရာ Web Application ေတြရဲ႕ File Structure ေတြ၊ System File Hierarchy System ေတြကို သိရွိထားရမွာပါပဲ။

Website Attacking နဲ႔ပတ္သက္တဲ့ ပံုစံကြဲေတြ အမ်ားႀကီးရွိပါေသးတယ္။ အကုန္လံုးကိုရွင္းျပေနရင္ စာအရမ္းရွည္သြားမွာျဖစ္လို႔ ေဆာင္းပါးရဲ႕ ေခါင္းစဥ္နဲ႔ေအာက္မွာ ေပးခ်င္တဲ့ Message ကိုရရွိဖို႔ တျခားအေၾကာင္းအရာေတြကိုဆက္ေျပာပါမယ္။

Server Vulnerability & amp; Exploitation

အဓိကအားျဖင့္ ခုနကေျပာသလို Website ေတြကိုမဟုတ္ပဲ Server ေတြရဲ႕ လံုၿခံဳေရးယိုေပါက္ေတြကို ရွာေဖြၿပီးတိုက္ခိုက္တာျဖစ္လို႔ Server-side attacking လို႔ ေခၚရမွာေပါ့။ Server/Service ေတြမွာလည္း လံုၿခံဳေရးယိုေပါက္ေတြ ရွိေနတတ္ပါတယ္။ ဥပမာအားျဖင့္ အျမင္သာဆံုးကိုေျပာရရင္ေတာ့ Heartbleed ေပါ့။ OpenSSL ရဲ႕ Library ထဲမွာရွိတဲ့ အမွားတစ္ခုေၾကာင့္ ၎ကိုအသံုးျပဳတဲ့ Library ထဲက Data အခ်ိဳ႕ကို ရယူႏိုင္ပါတယ္။ ဟုတ္ပါတယ္ OpenSSL သံုးတဲ့ Server/Service ေတြျဖစ္တဲ့ Web/Email/Instant Messenging/VPN စတာေတြအကုန္ အက်ံဳးဝင္ပါတယ္။

အေၾကာင္းအမ်ိဳးမ်ိဳးနဲ႔ Server တစ္ခုရဲ႕ User Shell တစ္ခုထဲေရာက္သြားမယ္ဆိုရင္ ဘာဆက္လုပ္မလဲ သို႔မဟုတ္ ဘာဆက္လုပ္ႏိုင္မလဲ။ ပံုမွန္အတိုင္းဆိုရင္ Directory ေတြထဲ ေလွ်ာက္ဝင္ၾကည့္မယ္။ Website ထားတဲ့ေနရာေတြ လိုက္ရွာမယ္ Deface လုပ္ခ်င္လုပ္မယ္။ သို႔မဟုတ္ Root ေဖာက္မယ္။ Mass Deface ျပဳလုပ္မယ္ စသည္ျဖင့္ အမ်ိဳးမ်ိဳးျပဳလုပ္ႏိုင္ပါတယ္။ ဒါေပမဲ့ Server-side attacking ျပဳလုပ္ဖို႔အတြက္ Server နဲ႔ပတ္သက္တဲ့ Knowledge ေတာ့ ရွိထားရမွာပါ။ ဒါမွ ဘယ္ေနရာမွာ Website data ေတြထားသလဲ၊ ဘယ္ေနရာမွာေတာ့ Backup File ေတြ ထားတတ္လဲ၊ ကိုယ္ေရာက္ေနတဲ့ Server မွာ Network File Share ဘယ္လိုေတြ mount ထားမလဲ၊ Root ေဖာက္ဖို႔အတြက္ Kernel Version က ဘယ္ေလာက္လဲ ၊ ဘယ္ f Compiler/Library ေတြ သံုးလို႔ရမလဲ၊ ေနာက္ၿပီး Server ရဲ႕ Security က ဘာေတြရွိလဲ ရွိတယ္ဆိုရင္ ဘယ္လိုေက်ာ္လို႔ရမလဲ စတာေတြကို သိရွိႏိုင္မွာပါ။

မတူညီတဲ့ Server/Service ေတြရဲ႕ မတူညီေတြ Version ေတြရဲ႕ေအာက္က မတူညီတဲ့ Patch ေတြမွာ မတူညီတဲ့ လံုၿခံဳေရးယိုေပါက္ေတြရွိႏိုင္ပါတယ္။ “ဗ်ာ!၊ ဒါဆို Google မွာ Version နဲ႔ ကြက္တိရွာလို႔ရလာတဲ့ Exploit ေတြ အလုပ္မလုပ္တာ ဒါေၾကာင့္လား” လို႔ေမးရင္ေတာ့ သိပ္ဟုတ္တာေပါ့လို႔ပဲ ေျဖရမွာပါပဲ။ Service တစ္ခုရဲ႕ Version တစ္ခုမွာ ယိုေပါက္တစ္ခုရွိတယ္ဆိုတာ ေဖာ္ျပထားၾကေလ့ရွိေပမယ့္ အဲဒီ Version ရဲ႕ လံုၿခံဳေရးယိုေပါက္ကို ျပန္လည္ျပင္ဆင္တဲ့ Patch  ေတြလည္း ရွိေနတာျဖစ္လို႔ Version တူေနရင္ေတာင္ Patch ကြဲတဲ့အတြက္ Vulnerable မျဖစ္တာမ်ိဳးလည္း ရွိပါတယ္။

Attack Tool ကို ကိုယ္တိုင္ေရးသားျခင္း

အေရးႀကီးတဲ့အခ်က္ျဖစ္ပါတယ္။ ဘာျဖစ္လို႔လဲဆိုေတာ့  Internet ေပၚမွာ Attacking tool ေတြကို အမ်ားႀကီးရွာေတြ႔ႏိုင္ၿပီး အဲဒါေတြကို အသံုးခ်ၿပီး ကိုယ့္တိုက္ခိုက္မႈမွာ အသံုးျပဳႏိုင္ပါတယ္။

ဒါေပမဲ့ ပထမတစ္ခ်က္အေနနဲ႔ေျပာခ်င္တာက Attack Tool ကို ဘယ္လိုလူမ်ိဳးေတြ ေရးသားထားသလဲ ဆန္းစစ္ၾကည့္ပါ။ Hacker ေတြကပဲ ေရးသားထားတာျဖစ္လို႔ အသံုးျပဳရေလာက္ေအာင္ ယံုၾကည္ဖို႔ ေကာင္းပါရဲ႕လား။ ဒီဟာေလးကေတာ့ DDoS ကို အေကာင္းဆံုးနဲ႔ အလြယ္ဆံုးတိုက္ႏိုင္တယ္၊ ဒီဟာေလးကေတာ့ SQL Injection သံုးရင္ အျမင္လည္းရွင္းၿပီး အလြယ္ဆံုးပါပဲ၊ Bot/RAT/FUD ေတြ လုပ္ခ်င္တယ္ဆိုရင္ ဒါေလးသံုးရင္ Antivirus အကုန္မမိႏိုင္ဘူး စသည္ျဖင့္ ေၾကညာၿပီး Download ေပး စြဲထားတတ္ၾကေပမယ့္ အထဲမွာ ဘယ္လို Code ေတြ ေရးသားထားသလဲ၊ ကိုယ့္အတြက္ အႏၲရာယ္ကင္းရဲ႕လားဆိုတာ ဆင္ျခင္ၾကည့္ဖို႔ လိုပါတယ္။

ဒုတိယအခ်က္အေနနဲ႔ ကိုယ့္တိုက္ခိုက္မႈ အေျခအေနေပၚမူတည္ၿပီး Exploit ေတြကို ျပန္ျပင္ေရးႏိုင္ျခင္းမ်ိဳး လိုအပ္ပါတယ္။ ဒါမွ ကိုယ့္တိုက္ခိုက္မႈက အထိေရာက္ဆံုးျဖစ္ၿပီး ကိုယ္ျဖစ္ေစခ်င္သလို ျဖစ္လာမွာပါ။ ကိုယ္တိုင္ Attack Tool ေတြေရးႏိုင္တယ္ဆိုရင္ေတာ့ ဘာကိုမွ စိုးရိမ္စရာမရွိတဲ့အျပင္ ကိုယ္ကျပန္ၿပီး ဂ်င္းထည့္ဖို႔အခြင့္အေရး ရရွိလာပါလိမ့္မယ္။

အခ်ဳပ္အားျဖင့္ ေျပာရရင္ေတာ့ Hacker တစ္ေယာက္ျဖစ္လာဖို႔အတြက္ ႀကိဳတင္သိရွိထားရမွာေတြ အမ်ားႀကီးမွ အမ်ားႀကီးရွိပါတယ္။ Google မွာရွာ Youtube မွာ Tutorial ၾကည့္ၿပီး လုပ္ေနသေ႐ြ႕ ကိုယ္ပိုင္ Attack Tools ေတြကို ကိုယ္တိုင္မေရးႏိုင္သေ႐ြ႕ေတာ့ ကိုယ္အမ်ားဆံုးေရာက္ရင္ ဒုတိယေနရာပါပဲ။ ဒါေၾကာင့္ “ကၽြန္ေတာ္ Hacker ျဖစ္ခ်င္တယ္” လို႔ ေျပာတဲ့လူတိုင္းကို ဒီလိုမ်ိဳး ျပန္လည္အႀကံေပးေလ့ရွိပါတယ္။

ပထမဆံုးအေနနဲ႔ မိမိစိတ္ဝင္စားတဲ့ Scope ကို အရင္ခ်ပါ။ ကိုယ္က Web Security စိတ္ဝင္စားတာလား၊ Network Security စိတ္ဝင္စားတာလား၊ System/Server Security စိတ္ဝင္စားတာလား စသည္ျဖင့္ေပါ့။ အဲလို Major သတ္မွတ္ေ႐ြးခ်ယ္ၿပီးရင္ေတာ့ Web ဆိုလည္း သူ႔ေအာက္က ဘယ္ Language  ကို စိတ္ဝင္စားတာလဲ PHP, Java, Python စသည္ျဖင့္ Language ကို ထပ္ၿပီး Scope ခ်ပါ။ Network  ကေတာ့ Minor သိပ္ေ႐ြးစရာမရွိေပမယ့္ Server အတြက္ေတာ့ Windows လား၊ Linux လား၊ Unix လား အျပင္ Distro ပိုင္းေတြနဲ႔ သူတို႔ရဲ႕ အမ်ားဆံုးေပးႏိုင္တဲ့ လံုၿခံဳေရးေတြကိုလည္း ထပ္ေလ့လာရပါမယ္။

ဒီလို ပထမအဆင့္ Scope ခ်ၿပီးရင္ေတာ့ Networking ကေတာ့ မျဖစ္မေန ေလ့လာရမယ့္ အေၾကာင္းအရာတစ္ခုပါပဲ။ Network Security ထိမသြားပဲ ကိုယ္က Web Security  လုပ္ခ်င္ရင္ေတာင္ ခ်ိတ္ဆက္မႈပိုင္းေတြကို သိရွိဖို႔အတြက္ Networking ဟာ အေရးပါတဲက က႑မွာ ပါဝင္ပါတယ္။ Networking ၿပီးရင္ေတာ့ ကိုယ္အပိုင္ႏိုင္ဆံုးလို႔ေ႐ြးခ်ယ္မယ့္ Programming Language တစ္ခုပါပဲ။ Website ေတြကို အဓိကတိုက္ခိုက္ခ်င္ရင္ေတာ့ Web Language တစ္ခုကို ေ႐ြးခ်ယ္ရမွာျဖစ္ပါတယ္။ အဲဒီ Language ကို လံုးဝ Master ျဖစ္သြားၿပီဆိုရင္ေတာ့ သင္ဟာ Hacker ျဖစ္မွန္းမသိ ျဖစ္လာပါလိမ့္မယ္။ ဒီလို အေျခခံေတြအားလံုးသိရွိၿပီးမွသာ တျခား Pentesting သင္တန္းေတြကို ဆက္လက္သင္ယူသင့္ပါတယ္။ ဒါဟာ Procedure က်က်သြားမယ္ဆိုရင္ အေကာင္းဆံုးနည္းလမ္းပဲျဖစ္မွာပါ။

နိဂံုး

ကိုယ္ခံပညာတစ္ခု သင္ၾကားမယ္ဆိုရင္ေတာင္ အေျခခံအေၾကာေလွ်ာ့ျခင္းေတြ၊ ကိုယ့္ႀကံ့ခိုင္ေရးအတြက္ ေလ့က်င့္ခန္းေတြကို ျပဳလုပ္ၿပီးမွသာ သက္ဆိုင္ရာ ကိုယ္ခံပညာရဲ႕ အတိုက္ပညာ အခံပညာေတြကို ဆက္လက္သင္ၾကားလို႔ရတာျဖစ္လို႔ ကိုယ္က Cyber Security ပိုင္းကိုလိုက္ၿပီး တကယ့္ Professional တစ္ေယာက္လို ျဖစ္ခ်င္တယ္ဆိုရင္ သူနဲ႔ပတ္သက္တဲ့ အေျခခံေတြကို ပထမဦးစြာ ေလ့လာသင္ယူဖို႔က အေရးအႀကီးဆံုးျဖစ္ပါတယ္။

ရန္ႏိုင္ျမင့္