Man-in-the-Middle 102 - Part 1 : DNS Spoof.
-
Man-in-the-Middle 102 - Part 1: ARP Spoof
ໃນບົດຄວາມ Man-in-the-Middle 101 ຜູ້ຂຽນໄດ້ກ່າວເຖິງການໂຈມຕີດ້ວຍວິທີ Man-in-the-Middle ຊຶ່ງເປັນວິທີການໂຈມຕີທີ່ມີຜູ້ບໍ່ຫວັງດີເຂົ້າມາແຊກສູນກາງລະຫວ່າງຄູ່ສົນທະນາ ເຮັດໃຫ້ສາມາດຮັບຮູ້ຂໍ້ມູນທີ່ຄູ່ສົນທະນ? ກຳລັງລົມກັນຢູ່ໄດ້ ນອກຈາກນັ້ນຍັງໄດ້ກ່າວເຖິງເທັກນິກການໂຈມຕີໃນຮູບແບບຕ່າງໆ ທີ່ນຳຫລັກການ Man-in-the-Middle ມາປະຍຸກໃຊ້ ເຊັ່ນ Man-in-the-Browser ຫລື Man-in-the-Mailbox ເປັນຕົ້ນ
ສຳລັບບົດຄວາມ Man-in-the-Middle 102 ນີ້ຈະກ່າວເຖິງວິທີການໂຈມຕີແບບຫລັກໆ ທີ່ຜູ້ບໍ່ຫວັງດີນິຍົມໃຊ້ ພ້ອມທັງສະເໜີວິທີການກວດສອບແລະປ້ອງກັນຕົວຈາກການໂຈມຕີດ້ວຍວິທີດັ່ງກ່າວ ໂດຍຈະແບ່ງເນື້ອຫາອອກເປັນ 3 ຕອນນຳກັນ ຄື ARP Spoof, DNS Spoof ແລະ SSL Spoof ຕາມລຳດັບ ຊຶ່ງໃນບົດຄວາມຕອນທີ່ 1 ນີ້ຈະເປັນສ່ວນຂອງການໂຈມຕີດ້ວຍວິທີ ARP Spoof ແຕ່ກ່ອນທີ່ຈະເຮັດຄວາມຮູ້ຈັກກັບການໂຈມຕີດ້ວຍວິທີທີ່ກ່າວໄປແລ້ວນັ້ນ ຈຳເປັນຕ້ອງເຂົ້າໃຈກົນໄກການເຮັດວຽກງານຂອງ Internet Protocol ແລະ ARP Protocol ເສຍກ່ອນ
Internet Protocol
ການຕິດຕໍ່ສື່ສານໃນລະບົບເຄືອຂ່າຍອິນເທີເນັດ ຈະເຮັດຜ່ານ Internet Protocol (IP) ຊຶ່ງຈະໃຊ້ IP Address ໃນການອ້າງເຖິງອຸປະກອນທີ່ເຊື່ອມຕໍ່ຢູ່ ໂດຍແຕ່ລະອຸປະກອນຈະມີ IP Address ບໍ່ຊ້ຳກັນ IP Address ທີ່ໃຊ້ງານຢູ່ໃນປະຈຸບັນຄືເວີຊັ່ນ 4 (IPv4) ໂດຍຈະປະກອບດ້ວຍຕົວເລກ 4 ຊຸດ ແບ່ງຕາມເຄື່ອງໝາຍ. ເຊັ່ນ 192.168.0.1 ແຕ່ເນື່ອງຈາກບັນຫາຂອງ IPv4 ທີ່ຈຳນວນ IP Address ທີ່ຮອງຮັບໄດ້ບໍ່ພຽງພໍກັບຄວາມຕ້ອງການໃຊ້ງານທີ່ມີເພີ່ມຫລາຍຂຶ້ນເລື່ອຍໆ ຈຶ່ງໄດ້ມີການພັດທະນາ IP ເວີຊັ່ນ 6 (IPv6) ຂຶ້ນມາເພື່ອໃຊ້ງານແທນ ໂດຍປະກອບດ້ວຍຕົວເລກແລະຕົວອັກສອນ 6 ຊຸດ ແບ່ງຕາມເຄື່ອງໝາຍ: ເຊັ່ນ 2ac1: db8:0:5678:0:123:4:1 [1] ເນື່ອງຈາກ IP Address ເປັນຄ່າທີ່ຜູ້ໃຫ້ບໍລິການແຈກຈ່າຍໃຫ້ກັບຜູ້ໃຊ້ບໍລິການເມື່ອເຊື່ອມຕໍ່ເຂົ້າກັບລະບົບເຄືອຂ່າຍ ດັ່ງນັ້ນຄ່າ IP Address ຂອງແຕ່ລະເຄື່ອງຈຶ່ງອາດບໍ່ຄົງທີ່ ເພາະສາມາດຖືກປ່ຽນແປງໄດ້ເມື່ອມີການເຊື່ອມຕໍ່ໃໝ່
ອຸປະກອນທີ່ສາມາດເຊື່ອມຕໍ່ກັບລະບົບເຄືອຂ່າຍໄດ້ ຈະຖືກກຳນົດຄ່າ MAC (Media Access Control) ມາຕັ້ງແຕ່ໂຮງງານທີ່ຜະລິດ ຊຶ່ງເປັນຄ່າປະຈຳຕົວທີ່ໃຊ້ໃນການອ້າງອິງເຖິງອຸປະກອນນັ້ນໆ ໃນທາງທິດສະດີແລ້ວ ແຕ່ລະອຸປະກອນຈະຕ້ອງມີຄ່າ MAC ບໍ່ຊ້ຳກັນ ໂດຍຄ່າ MAC Address ຈະປະກອບດ້ວຍຕົວເລກຫລືຕົວອັກສອນ 6 ຊຸດ ແບ່ງຕາມເຄື່ອງໝາຍ( - )ຫລື: ເຊັ່ນ 01-23-45-67-89-ab ຫລື 01:23:45:67:89: ab [2]
ຄວາມສຳພັນລະຫວ່າງ IP Address ແລະ MAC Address
ເນື່ອງຈາກ MAC Address ເປັນຄ່າປະຈຳຕົວຂອງອຸປະກອນນັ້ນໆ ແລະຍັງສາມາດໃຊ້ລະບຸຕົວອຸປະກອນໂດຍກົງໄດ້ ຈຶ່ງຮຽກໄດ້ອີກຢ່າງວ່າເປັນ Physical Address ໃນຂະນະທີ່ IP Address ເປັນຄ່າທີ່ກຳນົດຂຶ້ນມາເພື່ອໃຊ້ອ້າງອິງເຖິງອຸປະກອນນັ້ນໆ ໃນຂະນະທີ່ເຊື່ອມຕໍ່ອຸປະກອນເຂົ້າກັບລະບົບເຄືອຂ່າຍ ຈຶ່ງຮຽກໄດ້ອີກຢ່າງວ່າເປັນ Logical Address
ການສົ່ງຂໍ້ມູນໃນ OSI Layer 2 ຈະອ້າງອິງເຖິງອຸປະກອນທີ່ເຊື່ອມຕໍ່ຢູ່ໂດຍໃຊ້ MAC Address ແຕ່ການສົ່ງຂໍ້ມູນໃນ OSI Layer 3 ຈະອ້າງອິງເຖິງ IP Address ດັ່ງນັ້ນເມື່ອເຄື່ອງທີ່ຢູ່ໃນລະບົບເຄືອຂ່າຍ ຕ້ອງການຕິດຕໍ່ກັບເຄື່ອງອື່ນໆ ທີ່ຢູ່ໃນເຄືອຂ່າຍດຽວກັນ ຈຶ່ງຈຳເປັນຕ້ອງຮູ້ຂໍ້ມູນ IP Address ແລະ MAC Address ຂອງເຄື່ອງທີ່ຈະຕິດຕໍ່ດ້ວຍ ເພື່ອໃຫ້ສາມາດສື່ສານກັນໄດ້
ARP ຄືຫຍັງ
ARP ຫຍໍ້ມາຈາກ Address Resolution Protocol ເປັນໂປໂຕຄອນທີ່ໃຊ້ໃນການຄົ້ນຫາ MAC Address ຂອງອຸປະກອນຈາກ IP Address ການເຮັດວຽກຂອງ ARP ຫາກມີເຄື່ອງໃນເຄືອຂ່າຍຕ້ອງການຕິດຕໍ່ກັບເຄື່ອງອື່ນ ໂດຍຮູ້ແຕ່ IP Address ແຕ່ບໍ່ຮູ້ MAC Address ຂອງເຄື່ອງປາຍທາງ ເຄື່ອງທີ່ຕ້ອງການຕິດຕໍ່ກໍຈະສົ່ງ ARP Request ແບບ Broadcast ອອກໄປໃນເຄືອຂ່າຍ ເພື່ອສອບຖາມວ່າເຄື່ອງທີ່ມີ IP ດັ່ງກ່າວມີ MAC Address ເປັນຫຍັງ ພໍເຄື່ອງທີ່ມີ IP ກົງກັບທີ່ລະບຸໄດ້ຮັບ ARP Request ກໍຈະສົ່ງ ARP Reply (ຫລື ARP Response) ຕອບ MAC Address ຂອງຕົວເອງກັບໄປ [3]
ສົມມຸດວ່າລະບົບເຄືອຂ່າຍມີການເຊື່ອມຕໍ່ດັ່ງຮູບທີ່ 1
ຮູບທີ່ 1 ອຸປະກອນໃນລະບົບເຄືອຂ່າຍ
ເມື່ອເຄື່ອງຄອມພິວເຕີ A ທີ່ມີ IP 192.168.0.2 ຕ້ອງການຕິດຕໍ່ກັບເຄື່ອງຄອມພິວເຕີທີ່ມີ IP 192.168.0.3 ແຕ່ຍັງບໍ່ຮູ້ MAC Address ຂອງເຄື່ອງປາຍທາງ ຈຶ່ງສົ່ງ Packet ອອກໄປໃນລະບົບເຄືອຂ່າຍແບບ Broadcast (Destination MAC ເປັນ ff: ff: ff: ff: ff: ff) ໂດຍພາຍໃນ Packet ຈະມີ ARP Request ທີ່ລະບຸ Destination MAC ເປັນ 00:00:00:00:00:00 ດັ່ງຮູບທີ່ 2
ຮູບທີ່ 2 ເຄື່ອງຄອມພິວເຕີ A ສົ່ງ ARP Request
ເມື່ອເຄື່ອງຄອມພິວເຕີ B ໄດ້ຮັບ ARP Request ແລະພົບວ່າມີການລະບຸ Destination IP ເປັນ IP Address ຂອງຕົວເອງ ຈຶ່ງສົ່ງ ARP Reply ເພື່ອບອກ MAC Address ຂອງຕົວເອງກັບໄປ ດັ່ງຮູບທີ່ 3
ຮູບທີ່ 3 ເຄື່ອງຄອມພິວເຕີ B ສົ່ງ ARP Reply
ເມື່ອເຄື່ອງຄອມພິວເຕີ A ໄດ້ຮັບ ARP Reply ກໍຈະຮູ້ໄດ້ວ່າເຄື່ອງຄອມພິວເຕີທີ່ມີ IP 192.168.0.3 ມີ MAC Address ເປັນ 00:03:04: cc: dd: ee ແລະຈະເກັບຂໍ້ມູນທີ່ຫາໄດ້ໄວ້ໃນ ARP Table ຫາກຕ້ອງການຕິດຕໍ່ກັບເຄື່ອງທີ່ມີ IP 192.168.0.3 ອີກໃນເທື່ອຖັດໄປ ກໍສາມາດລະບຸຂໍ້ມູນໃນຊ່ອງ Destination MAC ເປັນ 00:03:04: cc: dd: ee ໄດ້ທັນທີ
ARP Table ຫລື ARP Cache ເປັນຕາລາງທີ່ໃຊ້ບັນທຶກຂໍ້ມູນຂອງເຄື່ອງທີ່ເຄີຍຕິດຕໍ່ແລ້ວ ຂໍ້ມູນຫລັກໆ ທີ່ຈັດເກັບຄື IP Address ແລະ MAC Address [4] ຕົວຢ່າງ ARP Table ເປັນດັ່ງຮູບທີ່ 4 ຢ່າງໃດກໍຕາມ ຂໍ້ມູນໃນ ARP Table ຈະຖືກລົບຖິ້ມເມື່ອປິດເຄື່ອງຫລືປິດການເຮັດວຽກຂອງ Interface Card
ຮູບທີ່ 4 ຕົວຢ່າງ ARP Table
ຫາກເປັນການຄົ້ນຫາ IP Address ຈາກ MAC Address ຈະເຮັດໂດຍໃຊ້ໂປໂຕຄອນ RARP (Reverse ARP) ຊຶ່ງມີການເຮັດວຽກເໝືອນ ARP ແຕ່ເຮັດກົງກັນຂ້າມກັນ ໂດຍຈະລະບຸ Destination IP ເປັນ 0.0.0.0 ແລະຝັ່ງຮັບກໍຈະສົ່ງ RARP Reply ຕອບ IP Address ຂອງຕົວເອງກັບມາ [5]
ARP Spoof
ເນື່ອງຈາກການເຮັດວຽກຂອງ ARP ຈະມີການສົ່ງ ARP Request ອອກໄປ ແລ້ວລໍໃຫ້ມີ ARP Reply ຕອບກັບມາ ຖ້າຫາກວ່າລະຫວ່າງທີ່ກຳລັງລໍຄຳຕອບຢູ່ນັ້ນມີຜູ້ບໍ່ຫວັງດີຕອບ ARP Reply ປອມໆ ສົ່ງໄປໃຫ້ ຜູ້ທີ່ໄດ້ຮັບກໍຈະບໍ່ສາມາດຮູ້ໄດ້ວ່າ ARP Reply ນັ້ນບໍ່ໄດ້ມາຈາກຕົວຈິງ ແລະຈະບັນທຶກຂໍ້ມູນ MAC Address ທີ່ບໍ່ຖືກຕ້ອງນັ້ນໄວ້ໃນ ARP Table ການສົ່ງ ARP Reply ປອມອອກໄປນັ້ນຮຽກວ່າ ARP Spoof ຫລື ARP Cache Poison [6] [7]
ຕົວຢ່າງການເຮັດ ARP Spoof ເຄື່ອງຄອມພິວເຕີ A ສົ່ງ ARP Request ອອກໄປຖາມວ່າເຄື່ອງທີ່ມີ IP Address 192.168.0.1 ມີ MAC Address ເປັນເທົ່າໄດ້ ແຕ່ຖືກເຄື່ອງຄອມພິວເຕີ C ແຍ່ງສົ່ງ ARP Reply ຕອບ MAC Address ຂອງຕົວເອງມາໃຫ້ກ່ອນທີ່ເຄື່ອງຕົວຈິງຈະຕອບ ARP Reply ກັບມາໄດ້ທັນ ດັ່ງນັ້ນເມື່ອເຄື່ອງຄອມພິວເຕີ A ໄດ້ຮັບ ARP Reply ດັ່ງກ່າວກໍຈະເຂົ້າໃຈວ່າເຄື່ອງຄອມພິວເຕີ C ເປັນເຄື່ອງທີ່ຕ້ອງການຕິດຕໍ່ດ້ວຍຈິງ ດັ່ງຮູບທີ່ 5
ຮູບທີ່ 5 ການເຮັດ ARP Spoof
ຕົວຢ່າງໂປແກມທີ່ສາມາດເຮັດ APR Spoof ໄດ້ ເຊັ່ນ ARP spoof, Cain & Abel, Ettercap, Dsniff ເປັນຕົ້ນ ຈຸດປະສົງຂອງການເຮັດ ARP Spoof ມີໄດ້ຫລາກຫລາຍ ເຊັ່ນ ອາດຈະເຮັດ Man-in-the-Middle ເພື່ອດັກຮັບຂໍ້ມູນ ຫລືບັອກບໍ່ໃຫ້ເຄື່ອງຄອມພິວເຕີໃນລະບົບເຄືອຂ່າຍເຊື່ອມຕໍ່ກັບອິນເທີເນັດໄດ້ ໂດຍການສົ່ງ ARP Reply ບອກ Gateway ປອມອອກໄປ ເປັນຕົ້ນ ຊຶ່ງວິທີການດັ່ງກ່າວນີ້ຖືກໃຊ້ໃນໂປແກມຊື່ NetCut [8]
ການກວດສອບແລະປ້ອງກັນ ARP Spoof
ການເຮັດ ARP Spoof ຈະເຮັດໄດ້ກໍຕໍ່ເມື່ອເຄື່ອງຂອງຜູ້ໂຈມຕີແລະເຄື່ອງຂອງເຫຍື່ອຢູ່ໃນເຄືອຂ່າຍດຽວກັນ ແຕ່ການກວດສອບ ARP Spoof ໃນລະບົບເຄືອຂ່າຍນັ້ນເຮັດໄດ້ຍາກ ເນື່ອງຈາກໂພໂທຄອນ ARP ບໍ່ໄດ້ຖືກອອກແບບມາເພື່ອໃຫ້ກວດສອບຄວາມຖືກຕ້ອງຂອງຜູ້ຮັບແລະຜູ້ສົ່ງຕັ້ງແຕ່ທຳອິດ ຢ່າງໃດກໍຕາມ ໄດ້ມີຜູ້ພັດທະນາເຄື່ອງມືເພື່ອຊ່ວຍວິເຄາະຄວາມຜິດປົກກະຕິໃນລະບົບເຄືອຂ່າຍຊຶ່ງອາດເກີດຈາກ ARP Spoof ໄດ້ ເຊັ່ນ ໂປແກມ arpwatch ຫລື ArpON ເປັນຕົ້ນ ຊຶ່ງທັງ 2 ໂປແກມນີ້ເປັນຊອບແວ Open Source
ການປ້ອງກັນຕົວເບື້ອງຕົ້ນຈາກ ARP Spoof ສາມາດເຮັດໄດ້ໂດຍການເຮັດ Static ARP ຊຶ່ງເປັນການລະບຸຄ່າ IP Address ແລະ MAC Address ລົງໄປໃນ ARP Table ດ້ວຍຕົນເອງ [9] ຊຶ່ງສາມາດເຮັດໄດ້ໂດຍໃຊ້ຄຳສັ່ງ
arp -s
ເຊັ່ນ ເຄື່ອງຄອມພິວເຕີ A ສາມາດເພີ່ມເຄື່ອງຄອມພິວເຕີ B ລົງໃນ ARP Table ດ້ວຍການໃຊ້ຄຳສັ່ງດ້ານລຸ່ມ
arp -s 192.168.0.3 00:03:04:ccd:ee
ຢ່າງໃດກໍຕາມ ການເຮັດ Static ARP ອາດບໍ່ສະດວກໃນການໃຊ້ງານກັບລະບົບເຄືອຂ່າຍຂະໜາດໃຫຍ່ ເພາະຫາກມີເຄື່ອງຄອມພິວເຕີຢູ່ໃນລະບົບຈຳນວນຫລາຍກໍຕ້ອງເພີ່ມ Static ARP ໃຫ້ກັບເຄື່ອງເຫລົ່ານັ້ນໃນທຸກເທື່ອທີ່ເປີດເຄື່ອງ ລວມເຖິງຜູ້ທີ່ໃຊ້ງານອິນເທີເນັດສາທາລະນະຫລືຜູ້ທີ່ເຊື່ອມຕໍ່ຜ່ານບໍລິການອິນເທີເນັດຂອງທີ່ພັກ (ທີ່ບໍ່ແມ່ນ Broadband ສ່ວນຕົວ) ກໍອາດບໍ່ສາມາດຮູ້ຂໍ້ມູນ IP Address ຫລື MAC Address ຂອງເຄື່ອງທີ່ສຳຄັນໃນລະບົບເຄືອຂ່າຍ ເຊັ່ນ Gateway ຫລື DNS Server ໄດ້
ອ້າງອິງ
- http://mashable.com/2011/02/03/ipv4-ipv6-guide/
- http://compnetworking.about.com/od/networkprotocolsip/l/aa062202a.htm
- http://wiki.wireshark.org/AddressResolutionProtocol
- http://linux.about.com/od/lna_guide/a/gdelna50.htm
- http://wiki.wireshark.org/RARP
- http://resources.infosecinstitute.com/mitm-arp/
- http://www.windowsecurity.com/articles/Understanding-Man-in-the-Middle-Attacks-ARP-Part1.html
- http://www.arcai.com/arcai-netcut-faq.html
- http://www.dummies.com/how-to/content/cisco-networking-static-arp-entry-managment.html
laocert 04 February 2020 4971 reads
Print
-
Man-in-the-Middle 102 - Part 1: ARP Spoof
ໃນບົດຄວາມ Man-in-the-Middle 101 ຜູ້ຂຽນໄດ້ກ່າວເຖິງການໂຈມຕີດ້ວຍວິທີ Man-in-the-Middle ຊຶ່ງເປັນວິທີການໂຈມຕີທີ່ມີຜູ້ບໍ່ຫວັງດີເຂົ້າມາແຊກສູນກາງລະຫວ່າງຄູ່ສົນທະນາ ເຮັດໃຫ້ສາມາດຮັບຮູ້ຂໍ້ມູນທີ່ຄູ່ສົນທະນ? ກຳລັງລົມກັນຢູ່ໄດ້ ນອກຈາກນັ້ນຍັງໄດ້ກ່າວເຖິງເທັກນິກການໂຈມຕີໃນຮູບແບບຕ່າງໆ ທີ່ນຳຫລັກການ Man-in-the-Middle ມາປະຍຸກໃຊ້ ເຊັ່ນ Man-in-the-Browser ຫລື Man-in-the-Mailbox ເປັນຕົ້ນ
ສຳລັບບົດຄວາມ Man-in-the-Middle 102 ນີ້ຈະກ່າວເຖິງວິທີການໂຈມຕີແບບຫລັກໆ ທີ່ຜູ້ບໍ່ຫວັງດີນິຍົມໃຊ້ ພ້ອມທັງສະເໜີວິທີການກວດສອບແລະປ້ອງກັນຕົວຈາກການໂຈມຕີດ້ວຍວິທີດັ່ງກ່າວ ໂດຍຈະແບ່ງເນື້ອຫາອອກເປັນ 3 ຕອນນຳກັນ ຄື ARP Spoof, DNS Spoof ແລະ SSL Spoof ຕາມລຳດັບ ຊຶ່ງໃນບົດຄວາມຕອນທີ່ 1 ນີ້ຈະເປັນສ່ວນຂອງການໂຈມຕີດ້ວຍວິທີ ARP Spoof ແຕ່ກ່ອນທີ່ຈະເຮັດຄວາມຮູ້ຈັກກັບການໂຈມຕີດ້ວຍວິທີທີ່ກ່າວໄປແລ້ວນັ້ນ ຈຳເປັນຕ້ອງເຂົ້າໃຈກົນໄກການເຮັດວຽກງານຂອງ Internet Protocol ແລະ ARP Protocol ເສຍກ່ອນInternet Protocol
ການຕິດຕໍ່ສື່ສານໃນລະບົບເຄືອຂ່າຍອິນເທີເນັດ ຈະເຮັດຜ່ານ Internet Protocol (IP) ຊຶ່ງຈະໃຊ້ IP Address ໃນການອ້າງເຖິງອຸປະກອນທີ່ເຊື່ອມຕໍ່ຢູ່ ໂດຍແຕ່ລະອຸປະກອນຈະມີ IP Address ບໍ່ຊ້ຳກັນ IP Address ທີ່ໃຊ້ງານຢູ່ໃນປະຈຸບັນຄືເວີຊັ່ນ 4 (IPv4) ໂດຍຈະປະກອບດ້ວຍຕົວເລກ 4 ຊຸດ ແບ່ງຕາມເຄື່ອງໝາຍ. ເຊັ່ນ 192.168.0.1 ແຕ່ເນື່ອງຈາກບັນຫາຂອງ IPv4 ທີ່ຈຳນວນ IP Address ທີ່ຮອງຮັບໄດ້ບໍ່ພຽງພໍກັບຄວາມຕ້ອງການໃຊ້ງານທີ່ມີເພີ່ມຫລາຍຂຶ້ນເລື່ອຍໆ ຈຶ່ງໄດ້ມີການພັດທະນາ IP ເວີຊັ່ນ 6 (IPv6) ຂຶ້ນມາເພື່ອໃຊ້ງານແທນ ໂດຍປະກອບດ້ວຍຕົວເລກແລະຕົວອັກສອນ 6 ຊຸດ ແບ່ງຕາມເຄື່ອງໝາຍ: ເຊັ່ນ 2ac1: db8:0:5678:0:123:4:1 [1] ເນື່ອງຈາກ IP Address ເປັນຄ່າທີ່ຜູ້ໃຫ້ບໍລິການແຈກຈ່າຍໃຫ້ກັບຜູ້ໃຊ້ບໍລິການເມື່ອເຊື່ອມຕໍ່ເຂົ້າກັບລະບົບເຄືອຂ່າຍ ດັ່ງນັ້ນຄ່າ IP Address ຂອງແຕ່ລະເຄື່ອງຈຶ່ງອາດບໍ່ຄົງທີ່ ເພາະສາມາດຖືກປ່ຽນແປງໄດ້ເມື່ອມີການເຊື່ອມຕໍ່ໃໝ່
ອຸປະກອນທີ່ສາມາດເຊື່ອມຕໍ່ກັບລະບົບເຄືອຂ່າຍໄດ້ ຈະຖືກກຳນົດຄ່າ MAC (Media Access Control) ມາຕັ້ງແຕ່ໂຮງງານທີ່ຜະລິດ ຊຶ່ງເປັນຄ່າປະຈຳຕົວທີ່ໃຊ້ໃນການອ້າງອິງເຖິງອຸປະກອນນັ້ນໆ ໃນທາງທິດສະດີແລ້ວ ແຕ່ລະອຸປະກອນຈະຕ້ອງມີຄ່າ MAC ບໍ່ຊ້ຳກັນ ໂດຍຄ່າ MAC Address ຈະປະກອບດ້ວຍຕົວເລກຫລືຕົວອັກສອນ 6 ຊຸດ ແບ່ງຕາມເຄື່ອງໝາຍ( - )ຫລື: ເຊັ່ນ 01-23-45-67-89-ab ຫລື 01:23:45:67:89: ab [2]ຄວາມສຳພັນລະຫວ່າງ IP Address ແລະ MAC Address
ເນື່ອງຈາກ MAC Address ເປັນຄ່າປະຈຳຕົວຂອງອຸປະກອນນັ້ນໆ ແລະຍັງສາມາດໃຊ້ລະບຸຕົວອຸປະກອນໂດຍກົງໄດ້ ຈຶ່ງຮຽກໄດ້ອີກຢ່າງວ່າເປັນ Physical Address ໃນຂະນະທີ່ IP Address ເປັນຄ່າທີ່ກຳນົດຂຶ້ນມາເພື່ອໃຊ້ອ້າງອິງເຖິງອຸປະກອນນັ້ນໆ ໃນຂະນະທີ່ເຊື່ອມຕໍ່ອຸປະກອນເຂົ້າກັບລະບົບເຄືອຂ່າຍ ຈຶ່ງຮຽກໄດ້ອີກຢ່າງວ່າເປັນ Logical Address
ການສົ່ງຂໍ້ມູນໃນ OSI Layer 2 ຈະອ້າງອິງເຖິງອຸປະກອນທີ່ເຊື່ອມຕໍ່ຢູ່ໂດຍໃຊ້ MAC Address ແຕ່ການສົ່ງຂໍ້ມູນໃນ OSI Layer 3 ຈະອ້າງອິງເຖິງ IP Address ດັ່ງນັ້ນເມື່ອເຄື່ອງທີ່ຢູ່ໃນລະບົບເຄືອຂ່າຍ ຕ້ອງການຕິດຕໍ່ກັບເຄື່ອງອື່ນໆ ທີ່ຢູ່ໃນເຄືອຂ່າຍດຽວກັນ ຈຶ່ງຈຳເປັນຕ້ອງຮູ້ຂໍ້ມູນ IP Address ແລະ MAC Address ຂອງເຄື່ອງທີ່ຈະຕິດຕໍ່ດ້ວຍ ເພື່ອໃຫ້ສາມາດສື່ສານກັນໄດ້ARP ຄືຫຍັງ
ARP ຫຍໍ້ມາຈາກ Address Resolution Protocol ເປັນໂປໂຕຄອນທີ່ໃຊ້ໃນການຄົ້ນຫາ MAC Address ຂອງອຸປະກອນຈາກ IP Address ການເຮັດວຽກຂອງ ARP ຫາກມີເຄື່ອງໃນເຄືອຂ່າຍຕ້ອງການຕິດຕໍ່ກັບເຄື່ອງອື່ນ ໂດຍຮູ້ແຕ່ IP Address ແຕ່ບໍ່ຮູ້ MAC Address ຂອງເຄື່ອງປາຍທາງ ເຄື່ອງທີ່ຕ້ອງການຕິດຕໍ່ກໍຈະສົ່ງ ARP Request ແບບ Broadcast ອອກໄປໃນເຄືອຂ່າຍ ເພື່ອສອບຖາມວ່າເຄື່ອງທີ່ມີ IP ດັ່ງກ່າວມີ MAC Address ເປັນຫຍັງ ພໍເຄື່ອງທີ່ມີ IP ກົງກັບທີ່ລະບຸໄດ້ຮັບ ARP Request ກໍຈະສົ່ງ ARP Reply (ຫລື ARP Response) ຕອບ MAC Address ຂອງຕົວເອງກັບໄປ [3]
ສົມມຸດວ່າລະບົບເຄືອຂ່າຍມີການເຊື່ອມຕໍ່ດັ່ງຮູບທີ່ 1ຮູບທີ່ 1 ອຸປະກອນໃນລະບົບເຄືອຂ່າຍ
ເມື່ອເຄື່ອງຄອມພິວເຕີ A ທີ່ມີ IP 192.168.0.2 ຕ້ອງການຕິດຕໍ່ກັບເຄື່ອງຄອມພິວເຕີທີ່ມີ IP 192.168.0.3 ແຕ່ຍັງບໍ່ຮູ້ MAC Address ຂອງເຄື່ອງປາຍທາງ ຈຶ່ງສົ່ງ Packet ອອກໄປໃນລະບົບເຄືອຂ່າຍແບບ Broadcast (Destination MAC ເປັນ ff: ff: ff: ff: ff: ff) ໂດຍພາຍໃນ Packet ຈະມີ ARP Request ທີ່ລະບຸ Destination MAC ເປັນ 00:00:00:00:00:00 ດັ່ງຮູບທີ່ 2
ຮູບທີ່ 2 ເຄື່ອງຄອມພິວເຕີ A ສົ່ງ ARP Request
ເມື່ອເຄື່ອງຄອມພິວເຕີ B ໄດ້ຮັບ ARP Request ແລະພົບວ່າມີການລະບຸ Destination IP ເປັນ IP Address ຂອງຕົວເອງ ຈຶ່ງສົ່ງ ARP Reply ເພື່ອບອກ MAC Address ຂອງຕົວເອງກັບໄປ ດັ່ງຮູບທີ່ 3
ຮູບທີ່ 3 ເຄື່ອງຄອມພິວເຕີ B ສົ່ງ ARP Reply
ເມື່ອເຄື່ອງຄອມພິວເຕີ A ໄດ້ຮັບ ARP Reply ກໍຈະຮູ້ໄດ້ວ່າເຄື່ອງຄອມພິວເຕີທີ່ມີ IP 192.168.0.3 ມີ MAC Address ເປັນ 00:03:04: cc: dd: ee ແລະຈະເກັບຂໍ້ມູນທີ່ຫາໄດ້ໄວ້ໃນ ARP Table ຫາກຕ້ອງການຕິດຕໍ່ກັບເຄື່ອງທີ່ມີ IP 192.168.0.3 ອີກໃນເທື່ອຖັດໄປ ກໍສາມາດລະບຸຂໍ້ມູນໃນຊ່ອງ Destination MAC ເປັນ 00:03:04: cc: dd: ee ໄດ້ທັນທີ
ARP Table ຫລື ARP Cache ເປັນຕາລາງທີ່ໃຊ້ບັນທຶກຂໍ້ມູນຂອງເຄື່ອງທີ່ເຄີຍຕິດຕໍ່ແລ້ວ ຂໍ້ມູນຫລັກໆ ທີ່ຈັດເກັບຄື IP Address ແລະ MAC Address [4] ຕົວຢ່າງ ARP Table ເປັນດັ່ງຮູບທີ່ 4 ຢ່າງໃດກໍຕາມ ຂໍ້ມູນໃນ ARP Table ຈະຖືກລົບຖິ້ມເມື່ອປິດເຄື່ອງຫລືປິດການເຮັດວຽກຂອງ Interface Cardຮູບທີ່ 4 ຕົວຢ່າງ ARP Table
ຫາກເປັນການຄົ້ນຫາ IP Address ຈາກ MAC Address ຈະເຮັດໂດຍໃຊ້ໂປໂຕຄອນ RARP (Reverse ARP) ຊຶ່ງມີການເຮັດວຽກເໝືອນ ARP ແຕ່ເຮັດກົງກັນຂ້າມກັນ ໂດຍຈະລະບຸ Destination IP ເປັນ 0.0.0.0 ແລະຝັ່ງຮັບກໍຈະສົ່ງ RARP Reply ຕອບ IP Address ຂອງຕົວເອງກັບມາ [5]
ARP Spoof
ເນື່ອງຈາກການເຮັດວຽກຂອງ ARP ຈະມີການສົ່ງ ARP Request ອອກໄປ ແລ້ວລໍໃຫ້ມີ ARP Reply ຕອບກັບມາ ຖ້າຫາກວ່າລະຫວ່າງທີ່ກຳລັງລໍຄຳຕອບຢູ່ນັ້ນມີຜູ້ບໍ່ຫວັງດີຕອບ ARP Reply ປອມໆ ສົ່ງໄປໃຫ້ ຜູ້ທີ່ໄດ້ຮັບກໍຈະບໍ່ສາມາດຮູ້ໄດ້ວ່າ ARP Reply ນັ້ນບໍ່ໄດ້ມາຈາກຕົວຈິງ ແລະຈະບັນທຶກຂໍ້ມູນ MAC Address ທີ່ບໍ່ຖືກຕ້ອງນັ້ນໄວ້ໃນ ARP Table ການສົ່ງ ARP Reply ປອມອອກໄປນັ້ນຮຽກວ່າ ARP Spoof ຫລື ARP Cache Poison [6] [7]
ຕົວຢ່າງການເຮັດ ARP Spoof ເຄື່ອງຄອມພິວເຕີ A ສົ່ງ ARP Request ອອກໄປຖາມວ່າເຄື່ອງທີ່ມີ IP Address 192.168.0.1 ມີ MAC Address ເປັນເທົ່າໄດ້ ແຕ່ຖືກເຄື່ອງຄອມພິວເຕີ C ແຍ່ງສົ່ງ ARP Reply ຕອບ MAC Address ຂອງຕົວເອງມາໃຫ້ກ່ອນທີ່ເຄື່ອງຕົວຈິງຈະຕອບ ARP Reply ກັບມາໄດ້ທັນ ດັ່ງນັ້ນເມື່ອເຄື່ອງຄອມພິວເຕີ A ໄດ້ຮັບ ARP Reply ດັ່ງກ່າວກໍຈະເຂົ້າໃຈວ່າເຄື່ອງຄອມພິວເຕີ C ເປັນເຄື່ອງທີ່ຕ້ອງການຕິດຕໍ່ດ້ວຍຈິງ ດັ່ງຮູບທີ່ 5ຮູບທີ່ 5 ການເຮັດ ARP Spoof
ຕົວຢ່າງໂປແກມທີ່ສາມາດເຮັດ APR Spoof ໄດ້ ເຊັ່ນ ARP spoof, Cain & Abel, Ettercap, Dsniff ເປັນຕົ້ນ ຈຸດປະສົງຂອງການເຮັດ ARP Spoof ມີໄດ້ຫລາກຫລາຍ ເຊັ່ນ ອາດຈະເຮັດ Man-in-the-Middle ເພື່ອດັກຮັບຂໍ້ມູນ ຫລືບັອກບໍ່ໃຫ້ເຄື່ອງຄອມພິວເຕີໃນລະບົບເຄືອຂ່າຍເຊື່ອມຕໍ່ກັບອິນເທີເນັດໄດ້ ໂດຍການສົ່ງ ARP Reply ບອກ Gateway ປອມອອກໄປ ເປັນຕົ້ນ ຊຶ່ງວິທີການດັ່ງກ່າວນີ້ຖືກໃຊ້ໃນໂປແກມຊື່ NetCut [8]
ການກວດສອບແລະປ້ອງກັນ ARP Spoof
ການເຮັດ ARP Spoof ຈະເຮັດໄດ້ກໍຕໍ່ເມື່ອເຄື່ອງຂອງຜູ້ໂຈມຕີແລະເຄື່ອງຂອງເຫຍື່ອຢູ່ໃນເຄືອຂ່າຍດຽວກັນ ແຕ່ການກວດສອບ ARP Spoof ໃນລະບົບເຄືອຂ່າຍນັ້ນເຮັດໄດ້ຍາກ ເນື່ອງຈາກໂພໂທຄອນ ARP ບໍ່ໄດ້ຖືກອອກແບບມາເພື່ອໃຫ້ກວດສອບຄວາມຖືກຕ້ອງຂອງຜູ້ຮັບແລະຜູ້ສົ່ງຕັ້ງແຕ່ທຳອິດ ຢ່າງໃດກໍຕາມ ໄດ້ມີຜູ້ພັດທະນາເຄື່ອງມືເພື່ອຊ່ວຍວິເຄາະຄວາມຜິດປົກກະຕິໃນລະບົບເຄືອຂ່າຍຊຶ່ງອາດເກີດຈາກ ARP Spoof ໄດ້ ເຊັ່ນ ໂປແກມ arpwatch ຫລື ArpON ເປັນຕົ້ນ ຊຶ່ງທັງ 2 ໂປແກມນີ້ເປັນຊອບແວ Open Source
ການປ້ອງກັນຕົວເບື້ອງຕົ້ນຈາກ ARP Spoof ສາມາດເຮັດໄດ້ໂດຍການເຮັດ Static ARP ຊຶ່ງເປັນການລະບຸຄ່າ IP Address ແລະ MAC Address ລົງໄປໃນ ARP Table ດ້ວຍຕົນເອງ [9] ຊຶ່ງສາມາດເຮັດໄດ້ໂດຍໃຊ້ຄຳສັ່ງarp -s
ເຊັ່ນ ເຄື່ອງຄອມພິວເຕີ A ສາມາດເພີ່ມເຄື່ອງຄອມພິວເຕີ B ລົງໃນ ARP Table ດ້ວຍການໃຊ້ຄຳສັ່ງດ້ານລຸ່ມ
arp -s 192.168.0.3 00:03:04:ccd:ee
ຢ່າງໃດກໍຕາມ ການເຮັດ Static ARP ອາດບໍ່ສະດວກໃນການໃຊ້ງານກັບລະບົບເຄືອຂ່າຍຂະໜາດໃຫຍ່ ເພາະຫາກມີເຄື່ອງຄອມພິວເຕີຢູ່ໃນລະບົບຈຳນວນຫລາຍກໍຕ້ອງເພີ່ມ Static ARP ໃຫ້ກັບເຄື່ອງເຫລົ່ານັ້ນໃນທຸກເທື່ອທີ່ເປີດເຄື່ອງ ລວມເຖິງຜູ້ທີ່ໃຊ້ງານອິນເທີເນັດສາທາລະນະຫລືຜູ້ທີ່ເຊື່ອມຕໍ່ຜ່ານບໍລິການອິນເທີເນັດຂອງທີ່ພັກ (ທີ່ບໍ່ແມ່ນ Broadband ສ່ວນຕົວ) ກໍອາດບໍ່ສາມາດຮູ້ຂໍ້ມູນ IP Address ຫລື MAC Address ຂອງເຄື່ອງທີ່ສຳຄັນໃນລະບົບເຄືອຂ່າຍ ເຊັ່ນ Gateway ຫລື DNS Server ໄດ້
ອ້າງອິງ
- http://mashable.com/2011/02/03/ipv4-ipv6-guide/
- http://compnetworking.about.com/od/networkprotocolsip/l/aa062202a.htm
- http://wiki.wireshark.org/AddressResolutionProtocol
- http://linux.about.com/od/lna_guide/a/gdelna50.htm
- http://wiki.wireshark.org/RARP
- http://resources.infosecinstitute.com/mitm-arp/
- http://www.windowsecurity.com/articles/Understanding-Man-in-the-Middle-Attacks-ARP-Part1.html
- http://www.arcai.com/arcai-netcut-faq.html
- http://www.dummies.com/how-to/content/cisco-networking-static-arp-entry-managment.html