EXPLOITATION BASICS
(1) VULNERABILITY
මේක service /software/sever එකක තියෙන දුර්වල කමක් කියලා හදුන්වන්න පුලුවන්.
(Type 1) webapp vulnerabilities
මුල්ම වර්ගය තමා webapp vulnerability මේවා ඇති වෙන්නෙ webapp වල යූසර් ඉන්පුට් හරියට මැනේජ් නොකරන විට.උදාහරණ තමා sql injection , html injection (ninja-attack) ,cross site scripting(xss) ,remote code excution (R.C.E) වගේ ඒවා.
(Type 2) Service vulnerabilities
දෙවන වර්ගය තමා oparating system එකේ රන් වෙන විවිධ software /service වල තියෙන අඩුපාඩු. මේවා ගොඩක් වෙලාවට ඇති වෙන්නේ දුර්වල මෙමරි මැනේජ්මන්ට් නිසා. හොඳම උදාහරණය තමා buffer overflow /stacks වගේ බග්. ඕනෙම ප්රෝග්රැමින් ලැන්ග්වේජ් එකක තියෙනවා functions කියලා ජාතියක්. ප්රෝග්රැම් එකක් පිලිවෙලට රන් වෙන ගමන් ඒකට function එකක් සෙට් උන ගමන් ප්රොසෙසර් එකෙන් කරන්න ඕනෙ මේ function එක රන් කරන එක .ඉතින් ෆන්ක්ශන් එක ඉවර උනාම නැවත එන්න ඕනෙ තැන මතක තියා ගන්නේ memory eke(RAM) return point එක.මේ කෙදි අපි කරන්නේ memory එකේ රිටර්න් පොයින්ට් එකට අපේ shell code (read more on next)එක රන් කරවන විදිහට සෙට් කරන එක.
(2) EXPLOITE
Exploit එකක් කියන්නේ අපි vulnerability එකේ දුර්වල කමෙන් ප්රයෝජන ගන්න එක.
උදාහරණයක් විදිහට sql quary එකක් රන් කරලා database එක take over කරනවා.නැත්නම් stack buffer over flaw එකකින් අපේ payload එක රන් කරලා bind shell එකක් ගන්නවා .
(3) SHELL CODE
shell code එකක් කියන්නෙ අපි ශෙල් එකේ ටයිප් කරන කෝඩ් ලිස්ට් එකක්ම එකවර රන් කරන එක.(a set of instructions )
ලේසිම උදාහරණයක් තමාWindows වලනම් batch coding . Linux/unix වල Bash (Born Again SHell)coding .
Exploite එකක් කරන kota මුලින්ම රන් කරන්නේ මේ විදිහේ ශෙල් කෝඩ් එකක්.මොකද අපිට exploit කරපු ගමන් ලැබෙන්නේ දුර්වල /unstable conection එකක්.
ශෙල් කෝඩ් ගොඩක්ම වෙලාවට ගන්නේ system exploitation වලදී.
(4) PAYLOAD
Payload කියන්නෙ post exploitation එකේදි අපිට මැශින් එක කොන්ට්රෝල් කරන්න උදවු වෙන දෙය. ඒකෙන් වෙන්නෙ exploit කරපු එකේ වාසිය අපිට ගන්න එක.ප්රසිද්ධම උදාහරණය තමා msf එකේ meterpreter payload එක.
හරි දැන් අපි මේ සිධ්දිය සරලව තේරුම් ගනිමු.
මේ උදාහරණ ගමු.
හිතන්න මන් Army soldier කෙනෙක් කියලා.??අපේ කමාන්ඩර්ට ඕනෙ අනික් පිලේ බන්කර් එකට මාව යවලා උන්ව ඩිෆේස් කරන්න. දැන් මන් ඉස්සෙල්ලාම උන්ගේ bunker එක (victim pc)ගැන හොයලා බලනවා. (Pasive information gathering /recon ) . බන්කර් එක වටේටම ගාර්ඩ් එකක් දාලා (FIREWALL)ඒකට යන එන අයට(Data packets) වලට යන්න /එන්න ඉඩ දෙන්නෙ ඒවා හොඳට චෙක් කරලා.
හරි කිසිම විදිහකට රින්ගගන්න(exploitation ) බෑ වගේ. එක තැනක ඉන්නවා ටිකක් දුර්වල වගේ පේන ගාර්ඩ් කෙනෙක්(Vulnerability ) . මන් චෙක් කරලා බලන්න විවිධ දේවල් කරලා බලනවා.එක එක විදිහට ඉන්පුට් දීලා ඒවට ප්රතිචාර දක්වන විදිහ බලනවා.(fuzzing)
හරි දැන් හොයාගත්ත දේවල් යොදාගෙන පිලිවෙලට කල යුතු දේ(shellcode) හා කරන විදිහ ගැන සැලැස්මක් හදනවා .(writing an exploit )
සැලැස්ම හරිගියපු ගමන්ම මන් bunker එක ඇතුලේ. මෙතෙන්දි මන් ඇතුලට ගියා කියලා තනියම කරන්න පුලුවන් මගුලක් නෑනේ .ඒ නිසා තමයි මුලින් කිව්වේ 1ස්ට් conection එක ගොඩක් වීක් කියලා. ඉතින් මන් කරන්නේ අපිට අපේ පොට් එකේ ඉඳලා ගේම ගහන්න පුලුවන් විදිහේ රේඩියෝ ට්රාන්ස්මීටරයක් වගේ ජිල්මාට් එකක්(payload) සෙට් කරලා පැන ගන්න එක .මේ සිධ්දිය පුරාම අපේ commander යොදාගත්තේ මාව, ඒක හරියට exploitation platform එකක් metasploit වගේ.
හරි මූලික අවබෝධයක් ගත්තනෙ.system exploitation serious එකේ ඊලඟ post වලින් තව කතා කරමු.
වැරදි තැන් තියෙනවනම් comment එකක් දාපන්. කතා කරලා විසඳ ගමු.ඕන් මන් ගියා.
මේක service /software/sever එකක තියෙන දුර්වල කමක් කියලා හදුන්වන්න පුලුවන්.
(Type 1) webapp vulnerabilities
මුල්ම වර්ගය තමා webapp vulnerability මේවා ඇති වෙන්නෙ webapp වල යූසර් ඉන්පුට් හරියට මැනේජ් නොකරන විට.උදාහරණ තමා sql injection , html injection (ninja-attack) ,cross site scripting(xss) ,remote code excution (R.C.E) වගේ ඒවා.
(Type 2) Service vulnerabilities
දෙවන වර්ගය තමා oparating system එකේ රන් වෙන විවිධ software /service වල තියෙන අඩුපාඩු. මේවා ගොඩක් වෙලාවට ඇති වෙන්නේ දුර්වල මෙමරි මැනේජ්මන්ට් නිසා. හොඳම උදාහරණය තමා buffer overflow /stacks වගේ බග්. ඕනෙම ප්රෝග්රැමින් ලැන්ග්වේජ් එකක තියෙනවා functions කියලා ජාතියක්. ප්රෝග්රැම් එකක් පිලිවෙලට රන් වෙන ගමන් ඒකට function එකක් සෙට් උන ගමන් ප්රොසෙසර් එකෙන් කරන්න ඕනෙ මේ function එක රන් කරන එක .ඉතින් ෆන්ක්ශන් එක ඉවර උනාම නැවත එන්න ඕනෙ තැන මතක තියා ගන්නේ memory eke(RAM) return point එක.මේ කෙදි අපි කරන්නේ memory එකේ රිටර්න් පොයින්ට් එකට අපේ shell code (read more on next)එක රන් කරවන විදිහට සෙට් කරන එක.
(2) EXPLOITE
Exploit එකක් කියන්නේ අපි vulnerability එකේ දුර්වල කමෙන් ප්රයෝජන ගන්න එක.
උදාහරණයක් විදිහට sql quary එකක් රන් කරලා database එක take over කරනවා.නැත්නම් stack buffer over flaw එකකින් අපේ payload එක රන් කරලා bind shell එකක් ගන්නවා .
(3) SHELL CODE
shell code එකක් කියන්නෙ අපි ශෙල් එකේ ටයිප් කරන කෝඩ් ලිස්ට් එකක්ම එකවර රන් කරන එක.(a set of instructions )
ලේසිම උදාහරණයක් තමාWindows වලනම් batch coding . Linux/unix වල Bash (Born Again SHell)coding .
Exploite එකක් කරන kota මුලින්ම රන් කරන්නේ මේ විදිහේ ශෙල් කෝඩ් එකක්.මොකද අපිට exploit කරපු ගමන් ලැබෙන්නේ දුර්වල /unstable conection එකක්.
ශෙල් කෝඩ් ගොඩක්ම වෙලාවට ගන්නේ system exploitation වලදී.
(4) PAYLOAD
Payload කියන්නෙ post exploitation එකේදි අපිට මැශින් එක කොන්ට්රෝල් කරන්න උදවු වෙන දෙය. ඒකෙන් වෙන්නෙ exploit කරපු එකේ වාසිය අපිට ගන්න එක.ප්රසිද්ධම උදාහරණය තමා msf එකේ meterpreter payload එක.
හරි දැන් අපි මේ සිධ්දිය සරලව තේරුම් ගනිමු.
මේ උදාහරණ ගමු.
හිතන්න මන් Army soldier කෙනෙක් කියලා.??අපේ කමාන්ඩර්ට ඕනෙ අනික් පිලේ බන්කර් එකට මාව යවලා උන්ව ඩිෆේස් කරන්න. දැන් මන් ඉස්සෙල්ලාම උන්ගේ bunker එක (victim pc)ගැන හොයලා බලනවා. (Pasive information gathering /recon ) . බන්කර් එක වටේටම ගාර්ඩ් එකක් දාලා (FIREWALL)ඒකට යන එන අයට(Data packets) වලට යන්න /එන්න ඉඩ දෙන්නෙ ඒවා හොඳට චෙක් කරලා.
හරි කිසිම විදිහකට රින්ගගන්න(exploitation ) බෑ වගේ. එක තැනක ඉන්නවා ටිකක් දුර්වල වගේ පේන ගාර්ඩ් කෙනෙක්(Vulnerability ) . මන් චෙක් කරලා බලන්න විවිධ දේවල් කරලා බලනවා.එක එක විදිහට ඉන්පුට් දීලා ඒවට ප්රතිචාර දක්වන විදිහ බලනවා.(fuzzing)
හරි දැන් හොයාගත්ත දේවල් යොදාගෙන පිලිවෙලට කල යුතු දේ(shellcode) හා කරන විදිහ ගැන සැලැස්මක් හදනවා .(writing an exploit )
සැලැස්ම හරිගියපු ගමන්ම මන් bunker එක ඇතුලේ. මෙතෙන්දි මන් ඇතුලට ගියා කියලා තනියම කරන්න පුලුවන් මගුලක් නෑනේ .ඒ නිසා තමයි මුලින් කිව්වේ 1ස්ට් conection එක ගොඩක් වීක් කියලා. ඉතින් මන් කරන්නේ අපිට අපේ පොට් එකේ ඉඳලා ගේම ගහන්න පුලුවන් විදිහේ රේඩියෝ ට්රාන්ස්මීටරයක් වගේ ජිල්මාට් එකක්(payload) සෙට් කරලා පැන ගන්න එක .මේ සිධ්දිය පුරාම අපේ commander යොදාගත්තේ මාව, ඒක හරියට exploitation platform එකක් metasploit වගේ.
හරි මූලික අවබෝධයක් ගත්තනෙ.system exploitation serious එකේ ඊලඟ post වලින් තව කතා කරමු.
වැරදි තැන් තියෙනවනම් comment එකක් දාපන්. කතා කරලා විසඳ ගමු.ඕන් මන් ගියා.
Comments
Post a Comment