Tuesday 20 September 2011

බලලුන් ලවා කොස්ඇට බාවන හැටි (idle scan)

අර නිදාගන උන්නු බලල්තඩියගෙ අත පාවිච්චි කරලා ගිනිගොඩෙන් කොස්ඇට එලියට ගත්තු කතාව අපි හැමෝම දන්නවනෙ නේද? ඔන්න ඔය විදිහට ජාලයක නිදාගෙන ඉන්න (මේ කියන්නෙ sleep mode තියන පරිගනකයක් නෙමේ හොදද, on කරලා නමුත් වැඩක් කරන්නෙ නැතිව නිදි කිරන එකක්) පරිගණකයක් භාවිතා කරලා වෙනත් පරිගනකයක විස්තර හොයාගන්න පුලුවන්. කෙනෙක් අහයි මොකටද කරදර වෙන්නෙ? කෙලින්ම අදාල පරිගණකය scan කලානම් ඉවරයිනෙ කියලා. උත්තරේ අර කතාවෙ බලලගෙ අත පාවිච්චි කරපු හේතුවම තමා. මොනාහරි අවුලක් උනොත් අත පිච්චෙන්නෙ (හෝ මාට්ටුවෙන්නෙ) නිදාගන උන්න බලලගෙ. වැඩේ පටන්ගන්න නිදාගෙන ඉන්න බලළක් හොයාගන්න ඔනා. මේක චුට්ටක් විතර අමාරු වැඩක්. මොකද අද තියන මෙහෙයුම් පද්ධති බොහොමයකම firwall එකක් පිහිටුවල එනවනෙ. අපි කරන්න යන වැඩට firewall එක off කරපු හරි නැත්තටම නැති හරි පරිගණකයක් හොයාගත්තනම් වැඩ පහසුයි. වැඩ සාර්ථකවම කරගන්න පුලුවන් network printer එකක්‌ තියන ජාලයක නම්. මොකද සාමාන්‍යයෙන් printout ගැනෙන්නෙ යලට මහට නෙ.
වැඩේ කරන්නෙ මෙහෙමයි. අහලා තියනවද 3 way handshake කියන කතාව? එකිනෙකට තොරතුරු හුවමාරු කරගන්න ඕනා device දෙකක් කතාව පටන්ගන්නෙ ඔහොම. කතාව පටන්ගන්න ඕනා කෙනා අනිත් පැත්තට යවනවා පැකට් එකක් syn කියන flag එක සහිතව. හරියට කතාකරන්න ඕනා කෙනාගෙ දොරට තට්ටු කරනවා වගේ. අනිත් පැත්තෙන් කතාව පටන්ගන්න කැමතිනම් syn-ack කියන flag එක සහිත පැකට් එකක් එවනවා ආපස්සට, හරියට "ආහ් කොහොමද" කියන්නා වගේ. කතාව පටන්ගත්ත පැත්තෙන් ආපස්සට ack කියන flag එක සහිතව පැකට් එකක් එවවට පස්සෙ දෙන්නට ඇතිවෙනකම් ඕපදූප කතාකරන්න පුලුවන්. වැඩේ හරියට වෙනකොට පිලිවෙල ඔහොමයි.
tcp header

ip header


හිතන්න ඔයා syn පැකට් එකක් යවන්නෙ නැතිව (දොරට තට්ටු කරන්නෙ නැතිව) අනිත් පැත්තන් syn-ack පැකට් එකක් ("අහ් කොහොමද" කියලා පැකට් එකක්) ආවා කියලා? ඇත්තට එහෙම දෙයක් උනොත් අපි ඉතින් කරන්නෙ ගනන්ගන්නෙ නැතුව නෑහුනා වගේ ඉන්න එකනෙ. නමුත් 3 way handshake එකේ පිලිවලට අනුව අනිත් පැත්තට පැකට් එකක් යවන්න ඕනා rst කියන flag එක සහිතව, හරියට "ඔයා එක්ක මම කතාකරලා ඉවරයි" හෝ "මට ඔයා එක්ක කතාවක් නෑ" කියන්නා වගේ. අදලාල පරිගණකය firewall එකක් සහිතනම් (හෝ අදලා port එක වහලා නම්) පරිගණකය කරන්නෙත් ඇහුන්නෑ වගේ ඉන්න එක. ඔන්න ඔය කතන්දරේ භාවිතා කරලා තමා මේ idle scan එක කරන්නෙ.


අර උඩ තියන පින්තූරෙ id කියලා තියන කොටස පේනවා නේද? ඔය ඉලක්කම භාවිතා කරලා තමයි යවන පැකට් අනිත් පැත්තෙදි හරි පිලිවෙලට එකතු කරන්නෙ. device එකක් පැකට් එකක් යවන හෝ ලබාගන්න හැම සැරේම ඔය ඉලක්කමට එකක් එකතුවෙනවා. ඔය කතාවයි අර කලින් කතාකරපු 3 way handshake කතාවයි එකතු කරලා මෙන්න මෙහෙම දෙයක් කරන්න පුලුවන්. නිදාගන ඉන්න පරිගණකයෙන් ඔයාට syn පැකට් එකක් ආව වගේ ඔයා එයාට යවනවා syn-ack පැකට් එකක්. එතකොට ඒ පැත්තෙන් rst පැකට් එකක්‌ ආවා කියන්නෙ වැඩේ ගොඩ. (මුකුත් ආවෙ නෑ කියන්නෙ ඒ පැත්තෙ firewall එකක්‌ දාලා නැතිනම්‌ port එක වහලා). ඔය rst flag එක සහිතව එහෙන්‌ එවන පැකට්‌ එකේ ip id එක 2538 කියලා හිතමු. ඔයා එයාට ආපහු syn-ack එකක් යැවුවොත් අනිත් පැත්තට එන rst පැකට් එකේ ipid එක 2540 වෙන්න ඕනා. (ඒ පරිගණකය ඇත්තටම නිදාගනනම්‌ ඉන්නෙ. වෙන කවුරුහරි මෙයා එක්ක කතා කරනවනම්‌ ip id එක එකවිදිහට තියෙන්නෙ නෑ කියලා තේරෙනවා නේද?) මතකයි නෙ මම කලින් කිව්වා පැකට් එකක් ලැබුනමත් යැව්වමත් ඔය ip id එකට එකක්‌ එකතුවෙනවා කියලා? අපි කරන්නෙ scan කරන්න ඕනා පරිගණකයට syn-ack පැකට්‌එකක් යවනවා අර නිදාගන ඉන්න පරිගණකයෙ ip එක source address එක විදිහට spoof කරලා. ඒ පැකට්‌ එක යවපු port එක විවෘත නම් එයා rst පැකට එකක් යවනවනෙ ආපස්සට. නමුත් පැකට් එකේ source එක විදිහට තියෙන්නෙ අර නිදාගෙන ඉන්න පරිගණකයෙ ip එක නිසා අපි scan කරන පරිගණකයෙන් rst එක යවන්නෙ නිදාගන ඉන්න පරිගණකයෙ ip එකට. අපිට පුලුවන් ආයෙත් වතාවක් නිදාගෙන ඉන්න පරිගණකයට syn-ack එකක් යවලා එයාගෙ ip id එක බලාගන්න. අපිට අන්තිමට මතක තිබුන ip id එකට 2ක්‌ එකතුවුනාම ලැබෙන අගය සහිතව rst එකක් ලැබුනා කියන්නෙ අපි scan කරන පරිගනකයට කලින් යවපු පැකට්‌ එකේ සදහන් කරපු port එක වහලා. අන්තිමට මතක තිබුන ip id එකට 3ක්‌ එකතුවුනාම ලැබෙන අගය සහිතව rst එකක් ලැබුනා කියන්නෙ target machine එකේ අදාල port එක විචෘතයි. ඔය විදිහට port එකින් එකට syn-ack පැකට් යවලා සද්ද නැතිව scan කරගන්න පුලුවන්.

ඔය තියෙන්නෙ ඔය කතාබහ වෙනවා wireshark දැකපු හැටි.

nmap ගැන කතාකලා මතකයි නේද? ඔය වැඩේ බොහොම ලේසියෙන් කරගන්න පුලුවන් nmap භාවිතා කරලා.

# nmap -sI < නිදාගන ඉන්න පරිගණකයෙ ip එක > < scan කරන්න ඕනා පරිගණකයෙ ip එක > -Pn

ඔය -Pn කියන switch එකෙන් කියන්නෙ "පව්කාරයෙක් වෙන්න" :P එහෙමත් නැතිනම් ping කරන්න එපා කියන එක. මොකද ping කියන්නෙ හරි සද්ද බද්ද දාන පුද්ගලයෙක්. ;). මේ විදිහට කරන scan එකකට අම්බානක් වෙලා යනවා, ඇයි port එකින් එක ping කරන්නෙත් නැතිව, හොරා වගේ 0 ඉදලා 65535ක් වෙනකන් යන්න එපෑ. තමන් target කරන්නෙ මොන මොන ports ද කියලා අවබෝධයකින් scan කරනවා නම් වැඩේ වේගවත් කරගන්න පුලුවන් මේ මේ ports විතරක් scan කරන්න කියලා. අර ඉගත විධානෙ අගට -p20, 21, 80, 443 චිදිහට ඕනා ports ටික දෙන්නයි තියෙන්නෙ. ආපහු වෙලාවක එනකම් ආයිබෝං කිව්වා.

මුලින්ම තියන ip පින්තූර දෙක ගල් කලේ මෙතනින් http://nmap.org/book/tcpip-ref.html'

Wednesday 17 August 2011

IP කියන්නෙ මොනාද?


පරිගණක ගැන කතා කරද්දි නිතරම ඇහෙන වචනයක් තමා මේ IP කියන්නෙ. ඔය කියන්නෙ "මම චූ කරනවා"(I pee) කියලා නෙමේ Internet Protocol කියන එකට. ඔතනදි වෙන්නෙ හැම පරිගණකයකටම වෙන් කරලා අදුනගන්න පුලුවන් ආකාරයෙ ඉලක්කමක් දෙන එක. අද පාවිච්චි වෙන හැම router එකක්ම පාහේ DHCP සේවාව සමග එන නිසා IP ගැන කිසිම වදවීමක් නැතිව පරිගණක ජාලයක අනිත්‌ පරිගණක එක්ක සම්බන්ධතාවන් ගොඩනගාගන්න පුලුවන්. network card එකේ properties වල ipv4 වලට (GNU අතුරුමුහුනතේ නම් [Fedora/hanthana හෝ Ubuntu] system -> preferances->network connections වල අදාල interface එකේ click කරලා edit ගිහින් 1pv4 tab එකට) ගියපුවාම මේ වගේ සංවාද කොටුවක් එනවා දැකලා තියනවා නේද?



සාමාන්‍ය default සැකසුම් තියෙන්නෙ ඔය විදිහට "Obtain an IP address automatically" කියලයි. ඔය විදිහට සැකසුම් තියනකොට පරිගණකය පණගැන්වුනාම network card එක DHCP සේවාවක් තියනවාද කියලා හොයන්න දත්ත පැකට් විකාශනය කරන්න පටන් ගන්නවා. හරියට කොහෙ හරි ගෙදරකට ගිහිල්ලා "ගෙදර කවුරුත් නෙද්දෝ.." කියලා කෑ ගහනවා වගේ. DHCP සවාවක් ධාවනය වෙනවනම්‌ ජාලයෙ කොහෙ හරි (router එකක හරි server එකක), එයා ඔය කෑ ගැහිල්ලට ප්‍රතිචාර දක්වලා වෙන පරිගණකයක භාවිතා වෙලා නැති ip එකක් ලබාදෙනවා. වැඩේ ලේසියෙන් කරගන්න ඕන නම් ඔය විදිහට settings තියෙන්න ඇරලා මේ ලිපිය කියවන එක මෙතනින් නවත්තන්නයි තියෙන්නෙ. :P

ඔයාලා දැකලා ඇති බොහොමයක් වෙලාවට ඔයාගෙ ip එක පටන්ගන්නෙ 192.xxx.xxx.xxx හෝ 10.xxx.xxx.xxx විදිහට. ඕකට හේතුව තමා ip සම්බන්ධ බලධාරිය එහෙමත් නැත්නම් ICANN (ඕකෙ හැබෑ තේරුම Internet Corporation for Assigned Names and Numbers උනාට එයාලා තදයො, එයාලට ඕන දෙයක් කරන්න පුලුවන් නිසාලු I CAN කියන්නෙ :P ) එකෙන් පනවලා තියන නීති රීති. එයාල කියන හැටියට විශේෂ අවසරයක් නැතිව පුද්ගලික ජාලයක පාවිච්චි කරන්න පුලුවන් සීමිත IP ප්‍රමාණයක් තියනවා. ඔය සීමාව ගැන කතාකරන්න කලින් ip address classes ගැන කතාකරලා ඉම්මු.

ip ලිපිනයක් හැදිලා තියෙන්නෙ බිට් 32ක එකතුවෙන්. අර අතරමැද තියන තිත් තුන තියෙන්නෙ බිට් අටේ කොටස් වෙන් කරන්න.

බිට් අටයි  . බිට් අටයි . බිට් අටයි. බිට් අටයි
11000000.10101000.1111000 .1100100
192          . 168         .120         . 100

බිට් අටකින් පෙන්වන්න පුලුවන් උපරිම අගය 256 කියලා දන්නවා නේද?
128 +  64  +  32  +  16  +  8  +  4  +  2  +  1

පොඩ්ඩක්‌ බයිනරි වලට ඔලුව හදාගම්මු..

10000001 = 129    (128+1)
10000100 = 132    (128+4)
10000101 = 133    (128+4+1)
11100000 =  ???    (128+64+32)

වැඩේ වෙන හැටි පැහැදිලියි නේ? ICANN එකේ ගනං කාරයො කියන හැටියට class A, B, C (සහ D E) කියලා භාවිතා කරන ජාලයෙ සයිස් එක අනුව පන්ති වලට බෙදන්න පුලුවන්. ඔය පන්ති බෙදිල්ල කරන්නෙ බයිට් අටේ කොටස් හතරෙ පලවෙනි බයිට් අට පාවිච්චි කරලා.

00000000 ඉදලා 01111111 වෙනකම් කොටස (0 ඉදලා 127 වෙනකම් [0+64+32+16+8+4+2+1]) class A එහෙමත් නැතිනම්‌ ලොකුම ප්‍රමාණයේ ජාල සදහා පාවිච්චි කරන්න කියලා වෙන් කරලා තියෙන්නෙ.

10000000 ඉදලා 10111111 වෙනකම් කොටස (128 ඉදලා 191 වෙනකම් [128+0+32+16+8+4+2+1]) class B කියලා වෙන් කරලා තියෙන්නෙ

11000000 ඉදලා 11011111 වෙනකම් කොටස (192 ඉදලා 223 වෙනකම් [128+64+0+16+8+4+2+1]) class C කියලා වෙන් කෙරෙනවා. අපි හුගක් දැකලා හුරු පුරුදු ඔය class c ජාල නෙ ;)

D සහ E ජාල පරීක්ෂණ කටයුතු සදහා වෙන් කරලා තියෙන්නෙ. (උඩ රටාව බලලා D සහ E ජාල වල range එක කියන්න පුලුවන් නේද?)

ඔයා හදන්න යන්නෙ ජාලයට කැමති class එකක ip range එකක් ලබාදෙන්න කිසිම තහනමක් නෑ. උදාහරණයක් විදියට ඔයා පරිහණක දෙකක් switch එකකට හෝ router එකකට සම්බන්ධ කරලා හදන ජාලයකට class A ip එකක් දෙන්න කිසිම තහනමක් නෑ. හැබැයි ඒ පන්තියට අදාල private ip range එකෙන් පිට ip එකක් පාවිච්චි කරන්න තහනම්. private IP range වෙන් කරලා තියෙන්නෙ මෙන්න මේ විදිහට.

class A - 10.0.0.0         ඉදලා 10.255.255.255 වෙනකම්
class B - 172.16.0.0     ඉදලා 172.31.255.255 වෙනකම්
class C - 192.168.0.0   ඉදලා 192.168.255.255 වෙනකම්

ඔය පරාසය ඇතුලත ip පාවිච්චි කරනතාක් කල් ICANN එකත් එක්ක නඩු හබ වලට නොපැටලී ඉන්න පුලුවන් :)

ඉතිරි කොටස පස්සෙ වෙලාවක අරන් එන පොරොන්දුව පිට, ආයිබෝං කිව්වා හැමෝටම.

Tuesday 7 June 2011

Grub2

මෙහෙයුම් පද්ධති එකකට වඩා (multi boot) දාගන ඉන්න අයට නම් අහල පුරුදු නමක් තමා grub කියන්නෙ.(සිංහලෙන් GRand Unified Bootloader කියන එක තමා ඔය ඉංගිරිසියෙන් කොට කරලා තියෙන්නෙ). LOADLIN, SYSLINUX සහ LILO ආදී වෙනස් වෙනස් bootloaders ගැන එහෙමත් සමහර විට අහලා ඇති ඔයාලා.

පරිගණකයක් පණගන්වපුවම BIOS මගින් POST (Power On Self Test) කියලා ක්‍රියාවලියක් වෙනවා කියලා අහලා තියනවා නේද? එතනදි වෙන්නෙ පරිගණකයට සම්බන්ධ කරලා තියන අංගෝපාංග හරියට තියනවද කියලා කෙරෙන මූලික පරීක්ශණයකට. අර ඉස්කෝලෙ පටන්ගනිද්දි සිරිපාල ඉන්නවද?? ඉන්නවා.. කමලාවතී ඉන්වනචද?? ඉන්නවා.. ඇම්ඩන් ඉන්නවද??? නෑ.. කියලා කෙරෙන ජාතියෙ වැඩක් ඔය. මෙමරි (RAM) කචල් නම්, VGA අල නම් වෙනස් විදියට බීප් ගාන්න පරිගණකය දන්නෙ ඔය POST එක කෙරෙන නිසා. ඔය වැඩේ සාර්ථකව උනාට පස්සෙ මෙහෙයුම් පද්ධතිය පණ ගන්වන්න BAIOSයි මෙහෙයුම් පද්ධතියයි අතර ඉන්න වැඩකාරයා තමා bootloader එක. අපේ කථානායකයා, grub, දැන් අවුරුද්දකට විතර කලින් අලුත් වෙලා grub2 උනා නෙ. (උබනටු පාවිච්චි කරන කට්ටියට එහෙම මතක ඇති 10.04 ආවෙ grub2 එක්කනෙ). පරණ grub එකට කරන වෙනස්කම් කරන්න තිබ්බෙ menu.list කියන ගොනුවට අපිට උවමනා විදියට වෙනස්කම් කරන්න. සරලයි සුගමයි. grub2 ගෙ menu.list ගොනුවක් නෑ, grub.cfg කියලා ගොනුවක් (/boot/grub/ ඇතුලෙ) තමා ඒ වෙනුවට තියෙන්නෙ. වැඩේ කියන්න ඒකට කෙලින්ම වෙනස්කම් කරන්න එපා, කරලා අල උනොත් අපි දන්නෑ කියලා user guide එකේ සිංහලෙන්ම කියලා තියනවා. එහෙමයි කියලා අපිට උවමනා විදියට OS Selection screen එක වෙනස් කරගන්නෙ නැතිව ඉන්න බෑනෙ? ඒකට තමා /etc/grub.d/ කියන directory එක ඇතුලෙ තියන ගොනු ටික දීලා තියෙන්නෙ. බලමුද ඕවා පාවිච්චි කරලා අපිට උවමනා විදියට grub2 ගෙ boot screen එක වෙනස් කරගන්නෙ කොගොමද කියලා?

/etc/grub.d ඇතුලට ගිහිල්ලා බැලුවොත් පෙනෙයි 00_header, 10_linux, 20_memtest86+, 40_custom, 05_debian_theme, 20_linux_xen, 30_os-prober, 41_custom කියලා text files වගයක් තියනවා. ඔය තියන ගොනු කියවන්නෙ ඒවයෙ මුල තියන ඉලක්කම අනුව. ඒ කියන්නෙ 00_header තමා මුලටම කියවන්නෙ, ඊලගට 10_linux ආදී වශයෙන්. තමන්ට ඕන විදිහට menu entry එකක්‌ දාන්න නමර 40_custom කියන ගොනුවට අදාල කේතය දාන්න කියලා තමා (පරිශීලක අත්)පොතේ තියෙන්නෙ. හැබැයි එහෙම කලාම අපි දාන entry එක (හෝ දෙක තුන හතර) වැටෙන්න ඉබේ හොයාත්ත ඒවට පස්සෙ. එහෙම හරියන්නෙ නෑනෙ නේද? අපි වැඩේ කරනවනම් අපේ එක මුලට එන්න එපායෑ. වැඩේ බොහොම සරලයි, 40_custom කියන ගොනුවෙ 40 වෙනුවට 01ත් 09ත් අතර ඉලක්කමක් දාන්න. ඇන්ටා බොරු කියනවද දන්නෑ නෙ.... ඒක නිසා 40_custom වල නම වෙනස් කරන්නෙ නැතිව කොපියක් දාගෙන කොපියෙ නම වෙනස් කරන්න 01ත්‌ 09ත් අතර ඉලක්කමකට. එහෙම කරලා දෙකටම entry එක ගානෙ දාල බලමු කව්ද මුලට එන්නෙ කව්ද අගට එන්නෙ කියලා. අහ්, /etc/grub.d ඇතුලෙ දගලන්න ඇම්ඩන් (root) බලතල ඕනා හරිද?

 sudo bash
 cd /etc/grub.d
 cp 40_custom 03_custom

අපි මුලින්ම 03_custom ගොනුව වෙනස් කරමු.

# gedit 03_custom&

අගට & දාන්නෙ ඇයි කියලා දන්නවා නේද? gedit 03_custom කියලා විධානය දුන්නම ඔයා text editor එක වහනකම් ඒ විධානය දීපු shell එක පාවිච්චි කරන්න බෑ. නමුත් අගට & දුන්නම ඒයා ඒ චිධාය ක්‍රියා කරවලා ඊලග පේලියට යනවා.

අර උඩින් තියන ටික තියෙන්න ඇරලා අලුත් පේලියකින් ඔයාගෙ menu entry එක දාන්න පටන් ගන්න.

menuentry 'Ubuntu 11.04 from 03_custom' {
set root='(hd0,1)'
search --no-floppy --fs-uuid --set xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
linux /vmlinuz-2.6.38-8-generic root=UUID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy ro quiet splash
initrd /initrd.img-2.6.38-8-generic
}

මොකද්ද ඒ කියලා තියන කුනුහරුපෙ?????? 'Ubuntu 11.04 from 03_custom' කියල තියන ටික තමා boot menu එකේ පෙන්නන්නෙ, ඕකට කැමති දෙයක් දාගන්න කිසිම තහනමක් නෑ.

set root='(hd0,1)' ඔය කියන්නෙ ඔයාගෙ hard disk එකේ root partition එක කොහෙද තියෙන්නෙ කියලා. දෘඩ තැටි එකකට වැඩි ගනනක් තියනවනම් මිසක් hd0 කියන එක වෙනස් වෙන්නෙ නෑ. සම්මතයක් විදිහට අපි boot partition එක මුලින්මනෙ හදන්නෙ. (මම කලින් ලියපු partition කඩන ලිපිය කියෙව්වෙ නැතිනම් ඒක කියවල ඉන්න).

ඊලග පේලියෙ තියන්නෙ මොකද්ද කියලා බලන්න කලින් shell එක අරගෙන පහත විධානය දීලා බලන්න.
# blkid
මෙන්න මේ විදිහෙ උත්තරයක් තමා ඔය විධානය දුන්නම ලැබෙන්නෙ /dev/sda1: UUID="0b35873e-7c9e-44cd-9c41-d60a96d6b871" TYPE="ext4"
/dev/sda2: UUID="64cbf684-452a-44e0-b92b-366b7c11437e" TYPE="swap"
/dev/sda3: UUID="7a5806dd-31d7-4cf0-a6f3-3ae8ced4b974" TYPE="ext4"
/dev/sda4: UUID="0fcd8340-ab57-46b2-9ce8-42bfa567226d" TYPE="ext4"
/dev/sda5: UUID="fcd08a2b-dcb2-4db2-9378-6ed6bb5aec26" TYPE="ext4"

මගෙ /dev/sda1 එක තමා /boot එක. /dev/sda3 තමා / (root partition). ඔයාගෙ /boot එකයි / එකයි කොහෙද තියෙන්නෙ කියලා හොයාගෙන xxx වෙනුවට /boot එකේ UUID එකයි, yyy වෙනුවට / එකේ UUID එකයි ලබාදෙන්න ඕනා.

ඊලගට තියෙන්නෙ ඔයාගෙ ධාවනය වෙන Kernel එක හොයාගන්න. shell එකක් අරගෙන පහත චිධානය ලබාදෙන්න.
$ uname -r

ඊලගට
$ ls /boot

දීලා බලන්න /boot directory එක ඇතුලෙ uname -r වලින් ලැබුන relese version එක සහිත initrd ගොනුව සහ vmlinuz ගොනුව තියනවා නේද කියලා. ඊටපස්සෙ අදලාල ඉලක්කම සහිතව menu entry එකේ අන්තිම පේලි දෙක වෙනස් කරන්න. ඔය vmlinuz කියලා තියෙන්නෙ kernel එකේ binary එකයි initrd කියලා තියෙන්නෙ අදලාල drivers යි කියලා දන්නවා නේද?

දැන් තියෙන්නෙ ඔය සම්පූර්ණ කොටසම copy කරලා 40_custom ඇතුලට copy කරලා save කරන්න title එකට පොඩි වෙනස්කමක් කරලා

menuentry 'Ubuntu 11.04 from 40_custom' {
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 7a5806dd-31d7-4cf0-a6f3-3ae8ced4b974
linux /vmlinuz-2.6.38-8-generic root=UUID=0b35873e-7c9e-44cd-9c41-d60a96d6b871 ro quiet splash
initrd /initrd.img-2.6.38-8-generic
}

ගොනු දෙකටම execution rights තියනවා නේද කියලා බලන්න.
$ ls -all | grep *custom

execution rights නැතිනම් දෙනහැටි දන්නවනෙ?
# chmod a+x 03_custom

ඔය කරපු වෙනස්කම් ටික /boot/grub/grub.cfg ගොනුවට ලියවුනේ නැතිනම් ඔයා කරපු වෙනස්කම් මුකුත් apply වෙන්නෙ නෑ. පහත පරිදි විධානෙ දීලා ඒ වැඩේ කරගන්න.

# update-grub

ඊටපස්සෙ restart කරලා බලන්න. boot menu එකේ උඩින්ම Ubuntu 11.04 from 03_custom කියලායි ( හෝ ඔයා 03_custom ගොනුවෙ menu entry එකට දීපු නම) අන්තිමටම Ubuntu 11.04 from 40_custom කියලයි ( හෝ ඔයා 40_custom ගොනුවෙ menu entry එකට දීපු නම) පේන්න ඇති. කරුමෙකට හරි ඔය දෙකෙන් එකක් select කරපුවාම error message එකක් දුන්නොත් බයවෙන්නෙ නැතිව restart කරලා grub එක auto අරගත්තු option එකක්‌ seslect කරලා ඉස්සරහට යන්න පුලුවන්. දීලා තියන පියවර හරියට පිලිපැද්දනම් එහෙම වෙන අවදානමකුත් නෑ ;)

ඊලග ලිපියෙන් grub 2 ගැන වැඩිදුර කතා කරමු.

Friday 28 January 2011

හැංගිමුත්තො හැංගියෝ

Steganography කියන්නෙ සරලව කිව්වොත් එලිපිට කරන හැංගිමුත්තං කලාවකට. සමහරවිට ඔයාලා අහලත් ඇති ලෝක යද්ධෙ කාලෙ තට්ටෙ ගාලෙ ඔලුවෙ පච්චකොටාගෙන කොන්ඩෙ වැවුනට පස්සෙ අවුලක් නැතිව දේශ සීමාවන් පහු කරපු රහස් ඒජන්තවුරු (ජේමිස් බන්ඩගෙ ලොකු අයියලා) ගැන. ඇයි අර පේලියක් ඇර පේලියක් කියවන්න කියලා ගෑනු ලමයට උපදෙස් දීලා තාත්තට මාට්ටුවෙන්නම යවපු පෙම් හසුන?

පරිගණක ලෝකෙ ඔය සෙල්ලම කරන්න හදපු විවිධ මෘදුකාංග තියනවා. හුගක් වෙලාවට එක ගොනුවක් ඇතුලෙ තවත්‌ එකක් හංගලා එවන්නෙ ඉතින් malware නෙ. එහෙම නැතිව ගොනුවක් ඇතුලෙ රහසිගත යමක් හංගලා යවන හැටි ගැනි මේ බලන්න යන්නෙ. setghide කියන්නෙ පින්තූරයක් ඇතුලෙ text එකක් හංගලා යවන්න පුලුවන් මේ ආකාරයේ steganography මෘදුකාංගයක්. http://steghide.sourceforge.net/ වෙතින් කේතයත්‌ එක්කම බාගන්න පුලුවන් උවමනා කෙනෙකුට. ubuntu භාවිතා කරන කෙනෙකුට නම් ස්ථාපණය බොහොම පහසුයි.

sudo apt-get install steghide

අවශ්‍ය ද්‍රව්‍ය
1. steghide ස්ථාපණය කරපු පරිගණකයක්
2. පින්තූරයක්
3. හංගන්න මොනාහරි.

රජ්ජුරුවන්ගෙ ගේ පිටිපස්සෙ තියන පොතේ නැතිව පිංතූරෙක අකුරු හංගන්න සරලව පින්තූරෙ නමයි හංගන්න ඕනා text file එකේ නමයි දෙන්න තියෙන්නෙ මෙහෙම.

steghide embed -ef < හංගන්න උවමනා text file එක > -cf < පිටට පෙන්නන පින්තූරය >


ඔය විධානය ලබාදුන්නම password එකක්‌ ලබාදෙන්න කියනවා බැරි වෙලාවත්‌වැඩේ මාට්ටු උනොත් රහසිගත භාවය ආරක්ෂා කරන්න ;)

දැන් තියෙන්නෙ උවමනා කෙනාට පින්තූරය යවන්න. එහා පැත්තෙ ඉන්න කෙනාට විධානය ලබාදෙන්න තියෙන්නෙ මෙහෙම

steghide extract -sf < එවපු පින්තූරෙ නම >



ඒතනදි ඔයා ලබාදීපු මුරපදය අහනවා. ඒක හරියට ලබාදුන්නෙ නැත්තම් හංගපුවා බලන්න වෙන්නෙ නෑ. ඔය තියෙන්නෙ අමාරුවෙන් හංගලා යවපු ලියුම.



ආයිබෝං කිව්වා එහෙනම්