การที่ผู้บุกรุกจะกระทำการใดๆ กับเป้าหมายนั้น ส่วนใหญ่มักจะต้องมีกระบวนการในการสะสมข้อมูลเกี่ยวกับเป้าหมายนั้นๆ ก่อน จากนั้นจึงจะลงมือบุกรุกเข้าไปยังเป้าหมายที่ต้องการ และถ้าทำได้สำเร็จผู้บุกรุกอาจจะติดตั้งซอฟแวร์บางตัวเพื่อซ่อนร่องรอยหรือติดตั้ง backdoor ไว้ในระบบ เพื่อจะได้เข้ามาใช้งานได้ง่ายๆ ในครั้งต่อไป
ดังนั้นใครอยากได้การแกะรอยเอาไปศึกษาได้เลยครับ
การแกะรอย
(FingerPrint)
ในวินโดว์นั้น การแกะรอยต่างๆจากเครื่องอื่นๆในวงแลนหน่วยงานก็ตาม หรือจะเป็นใน Internet ก็ตามทีรวมไปถึง Website ต่างๆ คุณจำเป็นต้องอาศัยเครื่องมือต่างๆ(โปรแกรม) ซึ่งถ้าเก๋าหน่อยคุณสามารถที่จะเปิดดอสมาแล้วพิมพ์ก็ได้แล้ว แต่ถ้าไม่เก๋าจริงๆก็ควรหาโปรแกรมต่างๆมาใช้งาน ซึ่งโปรแกรมสมัยนี้การใช้งานและแสดงผลต่างๆ ดูง่ายต่อความเข้าใจ เรามาเริ่มทำความเข้าใจก่อนเกี่ยวกับพื้นฐานนะครับ
บทนำ
การที่ผู้บุกรุกจะกระทำการใดๆ กับเป้าหมายนั้น ส่วนใหญ่มักจะต้องมีกระบวนการในการสะสมข้อมูลเกี่ยวกับเป้าหมายนั้นๆ ก่อน จากนั้นจึงจะลงมือบุกรุกเข้าไปยังเป้าหมายที่ต้องการ และถ้าทำได้สำเร็จผู้บุกรุกอาจจะติดตั้งซอฟแวร์บางตัวเพื่อซ่อนร่องรอยหรือติดตั้ง backdoor ไว้ในระบบ เพื่อจะได้เข้ามาใช้งานได้ง่ายๆ ในครั้งต่อไป
ในขั้นตอนของการหาข้อมูลของเครื่องเป้าหมายนั้น ผู้บุกรุกจำเป็นต้องทราบว่าเครื่องเป้าหมายนั้น service อะไรอยู่บ้าง และถ้าได้ข้อมูลของ network topology และระบบปฏิบัติการด้วยแล้วก็จะเป็นข้อมูลที่มีประโยชน์มาก มีเครื่องมือหลายตัวและมีหลายวิธีในการตรวจสอบ network topology และ service ของเครื่องเป้าหมาย Firewalk ก็เป็นอีกเครื่องมือหนึ่งที่ David Goldsmith และ Michael Schiffman สร้างขึ้นมา โดยลักษณการทำงานจะคล้ายๆ กับ traceroute เพื่อใช้ตรวจสอบว่ามี service อะไรที่ไฟร์วอลล์เปิดให้ผ่านเข้าไปได้ และใช้ตรวจสอบ access control ได้ด้วย
***โดยส่วนใหญ่แล้วไฟร์วอลล์มักจะถูกคาดหวังจากผู้ใช้งานว่า จะเป็นตัวที่ทำหน้าที่ปกป้องเครือข่ายจากโลกภายนอก แต่ Firewalk ก็ได้แสดงให้เห็นแล้วว่าไม่ได้เป็นเช่นนั้นเสมอไป ผู้บุกรุกยังมีโอกาสในการหาข้อมูลเกี่ยวกับเป้าหมายมากกว่าที่เราคาดการณ์ไว้ และในการที่จะทำความรู้จักกับหลักการทำงานของ Firewalk จะต้องเข้าใจ traceroute เสียก่อน
Traceroute (อ่านว่า เทรซเร้าว์) อ่านผิดอายเค้าแย่เลย
คำสั่ง tracert (Windows) หรือ traceroute (*NIX) เป็นเครื่องมือช่วยในการตรวจสอบเครือข่าย โดยจะแสดง IP ของ router หรือ gateway ที่ packet วิ่งผ่านจากที่หนึ่งไปยังอีกเครือข่ายหนึ่งทีละ hop โดย traceroute ใช้คุณสมบัติของ IP Time To Live (TTL) ในการทำงาน
TTL ถูกนำไปใช้ในโปรโตคอล IP เพื่อป้องการการเกิดลูปที่ไม่รู้จบจากการวนของ pakcet โดยในแต่ละ device ที่ได้รับ packet จะลดค่าของ TTL ลงทีละ 1 และถ้า TTL มีค่าเป็นศูนย์หรือน้อยกว่า packet นั้นจะถูก drop ไป และ router ก็จะส่งข้อมูล ICMP "TTL Exceed in Transit" กลับมายังเครื่องที่รันคำสั่งนี้
Traceroute ใช้หลักการนี้ในการทำงาน โดยมันจะกำหนดค่า TTL counter ที่ทำให้ router ที่ packet ผ่านไปนั้นต้องสร้าง ICMP message กลับมาเสมอ สำหรับคำสั่ง tracert ใน Windows นั้น จะใช้ ping (ICMP Echo) เป็นตัวส่ง packet ออกไป ในขณะที่ traceroute ใน Unix นั้น จะใช้ UDP datagram เป็นตัวส่งข้อมูลออกไป datagram ที่ถูกส่งออกไปนั้นจะถูกส่งไปยัง port 33434 โดยดีฟอลต์ และ ค่าหมายเลข port นี้จะถูกเพิ่มขึ้นเมื่อได้รับ packet ที่ตอบกลับมาอย่างถูกต้อง โดยปกติแล้ว traceroute มักจะส่ง datagram ออกไปจำนวน 3 datagram เพื่อป้องกันการสูญหายระหว่างทาง
ด้านล่างนี้แสดงตัวอย่างการใช้ tracert.exe ใน Windows
C:\WINDOWS>tracert quote.yahoo.com
Tracing route to finance.yahoo.com [204.71.203.155]
over a maximum of 30 hops:
1 99 ms 100 ms 119 ms tnt3.culpeper.va.da.uu.net [206.115.221.174]
2 99 ms 119 ms 115 ms 206.115.233.205
3 106 ms 104 ms 102 ms Fddi0-0.HR1.DCA1.ALTER.NET [137.39.33.130]
4 112 ms 95 ms 113 ms 102.ATM3-0.XR1.DCA1.ALTER.NET [146.188.160.254]
5 103 ms 98 ms 104 ms 195.at-7-2-0.XR1.DCA8.ALTER.NET [146.188.163.6]
6 98 ms 111 ms 111 ms POS6-0.BR3.DCA8.ALTER.NET [152.63.36.5]
7 110 ms 102 ms 104 ms 137.39.52.18
8 106 ms 104 ms 112 ms pos2-0-155M.cr1.WDC2.gblx.net [208.178.174.53]
9 172 ms 180 ms 167 ms pos7-0-2488M.cr2.SNV.gblx.net [208.50.169.86]
10 168 ms 165 ms 167 ms ge1-0-1000M.hr8.SNV.gblx.net [206.132.254.41]
11 168 ms 174 ms 165 ms bas1r-ge3-0-hr8.snv.yahoo.com [208.178.103.62]
12 176 ms 169 ms 175 ms finance.yahoo.com [204.71.203.155]
Trace complete.
เมื่อไฟร์วอลล์ถูกติดตั้งให้ไม่ตอบสนองต่อ traceroute และ ping จากโลกภายนอก เพื่อป้องกันไม่ให้ผู้บุกรุกเก็บข้อมูลของเครือข่ายภายในได้ ตัวอย่างด้านล่างนี้แสดงถึงผลลัพธ์ที่ได้จาก tracert.exe เมื่อถูกป้องกัน traffic ของ ping โดยไฟร์วอลล์หรือ router
C:\WINDOWS>tracert vanguard.com
Tracing route to vanguard.com [192.175.182.6]
over a maximum of 30 hops:
1 103 ms 98 ms 97 ms tnt3.culpeper.va.da.uu.net [206.115.221.174]
2 105 ms 104 ms 104 ms 206.115.233.205
3 103 ms 97 ms 104 ms Fddi0-0.HR1.DCA1.ALTER.NET [137.39.33.130]
4 101 ms 736 ms 103 ms 102.ATM2-0.XR2.DCA1.ALTER.NET [146.188.160.250]
5 105 ms 105 ms 103 ms 294.at-7-2-0.XR2.DCA8.ALTER.NET [146.188.163.30]
6 100 ms 104 ms 118 ms POS7-0.BR2.DCA8.ALTER.NET [152.63.35.193]
7 107 ms 105 ms 106 ms uu-gw.wswdc.ip.att.net [192.205.32.133]
8 103 ms 104 ms 103 ms gbr4-p50.wswdc.ip.att.net [12.123.9.54]
9 100 ms 102 ms 98 ms gbr1-p60.wswdc.ip.att.net [12.122.1.221]
10 101 ms 117 ms 126 ms ar1-a3120s4.wswdc.ip.att.net [12.123.8.45]
11 118 ms 103 ms 104 ms 12.127.47.50
12 * * * Request timed out.
13 * * * Request timed out.
จากตัวอย่างแสดงให้เห็นว่า ไม่สามารถ trace ได้อย่างสมบูรณ์ และจะได้รับ timeout message เมื่อคำสั่ง ping ถูก drop โดยปลายทาง และให้คุณสังเกตุแต่ละ hop (จากตัวอย่างได้ 11 hob) ถ้าคุณใช้คำสั่ง nslookup และตามด้วย IP ของแต่ละ hob คุณก็จะทราบว่า ก่อนที่เครื่องของคุณจะไปถึงเว็บ vanguard.com นั้นต้องผ่านที่ไหน ประเทศไหนบ้าง เราพิมพ์ไอพีแอดเดรสลงไป ในที่นี้เราพิมพ์ 203.94.12.01 (ซึ่งเป็นไอพีที่ผมต้องการหา)
$>nslookup 203.94.12.01
คุณจะเห็นผลลัพธ์ออกมาเป็น: mail2.nol.net.in ในตอนนี้ถ้าคุณดูที่ชื่อ hostname ที่เปลี่ยนมาจากไอพีแอดเดรสอย่างตั้งใจ จะเห็นได้ว่าส่วนหลังสุดจะบอกถึง ประเทศที่ระบบนั้นตั้งอยู่ จากตัวอย่างคุณเห็น '.in' ซึ่งบอกว่าระบบนี้อยู่ในประเทศอินเดีย ทุกประเทศมีรหัสประเทศของตัวเองซึ่งจะเห็นได้บ่อยมากกว่าชื่อท้ายสุดที่ไม่ใช่รหัสประเทศ วิธีนี้สามารถใช้เพื่อค้นหาว่าคน ๆ นั้น อยู่ในประเทศใหนถ้าคุณรู้อีเมลของเขา เช่น ถ้าคนนั้นมีที่อยู่อีเมลลงท้ายด้วย .ph แสดงว่าเขาอาจจะอาศัยอยู่ใน ประเทศฟิลิปปินส์ ประเทศอื่น ๆ ก็ทำนองเดียวกันนี้ รหัสประเทศ โดยทั่ว ๆ ไปเช่น:
ประเทศ รหัสประเทศ
ฟิลิปปินส์ .ph
ออสเตรเลีย .au
อินโดนีเซีย .id
อินเดีย .in
ญี่ปุ่น .jp
อิสราเอล .il
สหราชอาณาจักร .uk
รายการรหัสประเทศที่ครบสมบูรณ์ดูได้ที่: http://www.alldomains.com/ และ http://www.iana.org/domain-names.html
รายการรหัสรัฐต่าง ๆ ของสหรัฐ ฯ ดูที่: http://www.usps.gov/ncsc/lookups/abbr_state.txt
ผู้ที่ใช้วินโดวส์สามารถแปลงไอพีให้เป็น hostname ได้โดยการดาวน์โหลดยูทิลิตี้ที่ชื่อ Samspade จาก http://www.samspade.com/
อีกวิธีการหนึ่งที่ใช้หาที่อยู่ทางภูมิศาสตร์ของระบบคอมพิวเตอร์ที่ตรงจุดจริง ๆ คือการใช้ ฐานข้อมูล WHOIS เป็นฐานข้อมูลหลักที่ประกอบด้วยข้อมูลหลากหลายเช่นข้อมูลสำหรับการติดต่อ ชื่อ ผู้ที่เป็นเจ้าของโดเมนนั้น หาข้อมูลโดยการใส่ hostname ลงไป แล้วบริการนี้จะบอกข้อมูลที่อยู่ในฐานข้อมูลออกมา
วิธีนี้สามารถใช้เพื่อหาข้อมูลที่ถูกต้องเกี่ยวกับไอพี หรือ hostname ที่ต้องการ อย่างไรก็ตามมันอาจจะไม่มี ประโยชน์ถ้าคุณพยายามหาสถานที่ตั้งที่แท้จริงของผู้ใช้ไอพีแบบ dynamic IP แต่อย่างน้อยวิธีนี้สามารถใช้ เพื่อหาเมืองที่ไอเอสพีนั้นอยู่ได้
คุณสามารถใช้บริการ WHOIS ที่ http://www.alldomains.com/ นอกจากนี้คุณสามารถป้อนชื่อ hostname เข้าไปในบราวเซอร์ของคุณเพื่อใช้บริการ WHOIS โดยใช้ URL นี้: http://205.177.25.9/cgi-bin/whois?abc.com โดยเปลี่ยนชื่อ abc.com เป็นชื่อโดเมนที่คุณต้องการถามข้อมูลโดยใช้ WHOIS
วิธีนี้ไม่สามารถใช้เพื่อหาที่อยู่ที่สามารถติดต่อได้ ของบุคคลที่ต้องการค้นหา ถ้าไอพีที่คุณใช้เพื่อหาเขาเป็นของไอเอสพีของเขา ดังนั้นคุณจำเป็นต้องรู้ชื่อโดเมน (ซึ่งลงทะเบียนโดยใช้ชื่อของเขา) หรือไม่ก็รู้ได้เพียงแต่เมือง (และไอเอสพี) ที่ใช้โดยบุคคลนั้น
ถ้าบุคคลนั้นลงทะเบียนชื่อโดเมน และคุณต้องการใช้มันเพื่อค้นหาว่าเขาอยู่ในเมืองไหน สิ่งที่ควรสังเกตในกรณีนี้ คือถ้าบุคคลนั้นลงทะเบียนชื่อโดเมนที่ใช้บริการฟรี เช่น Namezero.com ดังนั้นชื่อโดเมนอาจจะลงทะเบียน โดยใช้ชื่อของบริษัทนั้นและไม่ใช่ชื่อของบุคคลที่เราต้องการค้นหา ฉะนั้นการใช้บริการ WHOIS จะให้ข้อมูล เกี่ยวกับไอเอสพีไม่ใช่บุคคลที่เราต้องการค้นหา
ข้อสังเกต: บริการ WHOIS โดยค่าเริ่มต้นจะรันอยู่ที่พอร์ต 43 ของระบบนั้น ลองใช้บริการโดยการ telnet ไปที่พอร์ต 43 และลองพิมพ์ค้นหา ผมไม่เคยลอง แต่มันต้องสนุกแน่ ๆ
Firewalking
ไฟร์วอลล์จะเป็นตัวหยุดยั้ง traceroute packet และจะไม่ยินยอมให้ traceroute packet ผ่านไปยังเครื่องเป้าหมาย วิธีการทำงานของ firewalking นั้น ใช้พื้นฐานที่ว่า ถ้าไฟร์วอลล์อนุญาตให้ traffic ชนิดใดผ่านไปได้ firewalking ก็จะส่ง packet ชนิดนั้นๆ ผ่านเข้าไป เช่น ถ้าไฟร์วอลล์อนุญาตให้ UDP port 53 (DNS queries) ผ่านเข้าไปยัง DNS server ที่ตั้งอยู่ภายในเครือข่ายนั้นๆ ผู้บุกรุกก็สามารถส่ง UDP port 53 พร้อมกับค่า TTL ของ hop ถัดไป เพื่อให้ผ่านไฟร์วอลล์เข้าไปได้ และได้ข้อมูลกลับออกมา และเนื่องจาก traceoute ถูกออกแบบให้ใช้งานฟิลด์ TTL ซึ่งทำงานบน IP protocol (network layer) ดังนั้นมันจึงสามารถใช้งานได้กับ upper layer protocol อื่นๆ ได้ เช่น UDP, TCP, ICMP ดังนั้นจึงทำให้สามารถตรวจสอบ service ที่เปิดให้บริการหลังไฟร์วอลล์ได้
สรุป
เราสามารถหยุดการใช้งาน Firewalking ได้โดยการบล็อค TTL Exceeded in Transit packet ขาออกที่ไฟร์วอลล์ หรือใช้ NAT (Network Address Translation) เพื่อซ่อน IP address ของโฮสต์ภายในเครือข่าย
สิ่งที่บทความนี้ต้องการจะเน้นย้ำก็คือ การใช้ระบบป้องกันเพียง layer เดียวนั้นไม่เพียงพอแล้วในปัจจุบัน และเราก็ไม่สามารถที่จะไว้วางใจไฟร์วอลล์ได้ว่าจะสามารถปกป้องเครือข่ายจากการหาข้อมูลของบรรดาผู้บุกรุกได้ ดูเหมือน host based detection จะเป็นตัวช่วยที่ดีอีกทางหนึ่งได้เช่นกัน นอกจากนี้ network intrusion detection system (NIDS) ก็ยังสามารถเป็นหูเป็นตาให้ผู้ดูแลระบบได้ด้วย
ดังนั้นการใช้ multiple layers สำหรับการทำ overlapping security นั้นเป็นสิ่งที่จำเป็นอย่างยิ่ง ผู้ที่มีหน้าที่เกี่ยวกับเรื่องนี้ในแต่ละองค์กรควรตระหนัก และหาทางนำเทคโนโลยีที่มีอยู่ในปัจจุบันไปประยุกต์ใช้เพื่อให้เกิดประโยชน์สูงสุด
________________________________________
คุณสามารถเห็นเส้นทางการเดินทางของ packet ในแต่ละ hop ได้โดยง่าย คืออย่าคุณจะเข้าไปดูที่เว็บไหนสักแห่งหนึ่งนั้น เครื่องคุณต้องไปผ่านประเทศไหนบ้าง เมืองอะไร คือคุณไม่ต้องอาศัยเทคนิคหรือความเข้าใจในคำสั่ง tracert ,whois , nslookup มากเท่าไหร่ คุณก็ได้ข้อมูลที่สมบูรณ์มาแล้วด้วยโปรแกรมนี้
หากยังไม่เข้าใจนี้เลยครับของฟรี
โปรแกรม +เอกสารชนิด word ขอแค่คำขอบคุณถึงจะเก่าแต่รับรองใช้ได้ 100% อย่าเอาไปทำใครน่ะ
คำเตือนเอาไว้ศึกษาน่ะครับ
<< เอกสารเอาไว้ดูให้ละเอียดครับ
<<< โปแกรมที่ลองใช้ควบคู่กับเอกสารครับ
ขอแค่คำขอบคุณ :)
ข้อมูลจาก ruk-com.in.th
ไม่มีความคิดเห็น:
แสดงความคิดเห็น