ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

เทคนิคการทำงานของ  Port Scanning

มีการนำ SYN, ACK, RST มาใช้งานกับเทคนิค
วิธีการทำงานของ Port Scanning

 

Port Scanning คือ กระบวนการที่ใช้ในการติดต่อไปที่ Port ของ TCP หรือ UDP ของเครื่องเป้าหมายและมีจุดประสงค์เพื่อตรวจสอบเพื่อหาบริการที่ระบบรอรับการเชื่อมต่อหรืออยู่ในสถานะที่ให้บริการ โดยบทความนี้จะมาบอกถึงเทคนิคในการใช้งานของ Port Scanning โดยจะมีอะไรบ้าง

 

เทคนิคที่ในการใช้งานมีดังนี้

1. Address Resolution Protocol ตรวจหาอุปกรณ์ที่ทำงานในเครือข่ายโดยส่ง ARP แบบ broadcasts Packet และเพิ่มค่าของฟิลด์ที่บรรจุ IP address ของเป้าหมายในแต่ละbroadcasts การสแกนจะได้รับการตอบสนองจากอุปกรณ์ที่มี IP บนเครือข่ายออกมาในรูปแบบของ IP address ของแต่ละอุปกรณ์ แต่จะมีข้อจำกัดคือสามารถใช้ได้ในเครือข่ายเดียวกันเท่านั้น

2. The Vanilla TCP connect การสแกนพอร์ตพื้นฐานโดยใช้ connect system call ของ OS ไปบนระบบของเป้าหมายด้วยกลไกมาตรฐานที่เรียกว่า TCP three-way handshake เพื่อเปิดการเชื่อมต่อไปยังทุกพอร์ตที่เปิดใช้งาน การสแกนชนิดนี้สามารถจับได้ง่ายโดยการล็อกต่าง ๆ ของระบบที่เป็นเป้าหมายจะแสดงการร้องขอการเชื่อมต่อและข้อความแสดงข้อผิดพลาด สำหรับบริการที่ตอบรับการเชื่อมต่อหรือป้องกันโดยการติดตั้งไฟล์วอลล์

3. The TCP SYN (Half Open) การเชื่อมต่อที่ไม่สมบูรณ์ โดยระบบมีการโจมตีไม่ได้ปิดการเชื่อมต่อ โดยที่เปิด scannerและส่ง SYN (เปิดสถานะการเชื่อมต่อ)ไปยังเป้าหมายและรอการตอบสนอง ถ้าพอร์ตถูกเปิดไว้เป้าหมายก็จะส่ง SYN/ACK(รับรองการเชื่อมต่อ) กลับมา ซึ่งก็สรุปได้ว่าพอร์ตดังกล่าวอยู่ในสถานะ listening แต่ถ้าพอร์ตถูกปิดอยู่ เป้าหมายก็จะส่ง RST (Reset) กลับมาแทน เทคนิคการนี้สามารถทำการสแกนเป้าหมายได้อย่างรวดเร็วและยากต่อการตรวจจับ 

4. The TCP FIN scan เทคนิคที่ใช้ทะลุผ่านไฟล์วอลล์และตรวจจับการสแกนโดยไม่ถูกตรวจพบ เพราะระบบที่ทำการโจมตีจะส่ง TCP ที่เซตค่า flag FIN เป็น 1 (การร้องของจบการเชื่อมต่อ) ไปยังระบบของเป้าหมาย สำหรับพอร์ตที่ปิดอยู่จะตอบสนองกลับไปด้วย RST ส่วนพอร์ตที่เปิดจะไม่สนใจ packets นั้นเลย ดังนั้นเครื่องที่ทำการโจมตีก็จะได้ข้อมูลว่าได้รับ RST(reset) จากพอร์ตไหนบ้างและไม่ได้ RST จากพอร์ตไหนบ้าง (ทำให้รู้หมายเลขพอร์ตที่ไม่ได้เปิดให้บริการ) โดยปกติแล้ว ใช้ได้กับเครื่องปลายทางที่รันผ่านระบบปฏิบัติการ Unix

5. The TCP Reverse Ident scan ตรวจหาชื่อของเจ้าของแต่ละโพรเซสที่เชื่อมต่อด้วย TCP บนเครื่องเป้าหมายโดยจะทำให้ระบบที่ทำการโจมตีสามารถเชื่อมต่อเข้าไปยังพอร์ตที่เปิดอยู่และใช้ Ident protocol( IP ที่ระบุชื่อผู้ใช้ ) ในการค้นหาว่าใครเป็นเจ้าของโพรเซสบนเครื่องเป้าหมายได้

6. The TCP XMAS ค้นหา Port บนเครื่องเป้าหมายที่อยู่ในสถานะ listening โดยจะไม่ส่ง TCP packet ทั้ง3ตัวซึ่งเป็นที่สังเกตง่าย คือ SYN, ACK, RST แต่จะใช้ flag เป็น URG, PSH และ FIN ใน TCP header ไปยังพอร์ตของเครื่องเป้าหมาย ทั้งนี้เพื่อหลบการตรวจจับให้มากที่สุด ซึ่งถ้าพอร์ต TCP ของเครื่องเป้าหมายปิดอยู่ พอร์ตนั้นก็จะส่ง RST กลับมา แต่ถ้าพอร์ตเปิดอยู่ก็จะไม่สนใจ packet

7. The TCP NULL scan ไม่ใช้ flag ในการสแกนและส่ง TCP packet ที่มีลำดับหมายเลขที่ไม่มี flag ออกไปยังเครื่องเป้าหมาย ถ้าพอร์ตปิดอยู่จะส่ง RST packet กลับมา แต่ถ้าพอร์ตเปิดอยู่ก็จะไม่สนใจ packet แล้ว TCP packet นี้ไม่มีอยู่ในข้อกำหนดของ protocol จึงไม่มีผู้สนใจแล้วนอกจากนี้ยังสามารถตรวจสอบระบบปฏิบัติการของเป้าหมายได้ เนื่องจากระบบปฎิบัติการแต่ละแบบจะมีการตอบสนองที่ไม่เหมือนกัน

8. The TCP ACK scan ค้นหาเว็บไซต์ที่เปิดบริการอยู่ แต่ปฏิเสธการตอบสนองต่อ ICMP ping เพื่อตรวจสอบดูว่าfirewallทำหน้าที่แค่เพียงกรอง packet อย่างง่ายหรือเป็นไฟล์วอลล์ที่มีความฉลาด

9. TCP Windows scan ตรวจสอบPortที่เปิดอยู่พร้อมตรวจดูว่าพอร์ตไหนที่ถูก filter เอาไว้ไม่ให้ผ่านเข้าไปและพอร์ตหมายเลขใดได้รับการอนุญาต โดยอาศัยช่องโหว่จากความผิดปกติบางอย่างในการแจ้งค่า TCP Windows Size ของ TCP/IP protocol

10. TCP RPC scan ใช้งานได้เฉพาะกับเครื่องที่อยู่ปลายทางที่รันผ่านระบบ Unix เท่านั้น ถูกใช้งานเพื่อตรวจสอบหาServiceที่ทำงานอยู่บน Service RPC รวมทั้งตรวจดูเวอร์ชันของเซอร์วิสนั้นและโปรแกรมที่เกี่ยวข้อง

11. The FTP Bounce Attack ใช้ FTP protocol เพื่อสร้างการเชื่อมต่อบริการ FTP ของ proxy ทำให้ผู้ที่โจมตีสามารถซ่อนตัวอยู่หลัง FTP server และสแกนเป้าหมายอื่น ๆ ได้โดยไม่ถูกตรวจจับ

12. The UDP ICMP Port scanning ใช้ UDP protocol ในการส่ง UDP packet ไปยังportของเครื่องเป้าหมาย ถ้าพอร์ตนั้นปิดอยู่จะตอบกลับมาด้วยICMP type PORT UNREACHABLE packetและถ้าหากportนั้นเปิดอยู่จะไม่มีการส่งpacketกลับมา

13. The ICMP ping-sweeping scan ใช้คำสั่ง ping เพื่อดูว่ามีระบบไหนที่เปิดใช้งานอยู่

 

เทคนิคในการใช้งานของ Port scanning จะประกอบไปด้วยรูปแบบคำสั่งที่ใช้งานร่วมกับ Port TCP หรือ UTP เช่น มีการนำคำสั่ง ACK เพื่อรับรองสถานะ, RST(reset) เป็นการสั่งตัดการเชื่อมต่อแบบไม่สนสถานะ, SYN สถานะเริ่มการเชื่อมต่อ, FIN ร้องขอจบการเชื่อมต่อ เป็นต้น

 

อ้างอิงรูปภาพ : https://resources.infosecinstitute.com

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : เทคนิคการทำงานของ  Port Scanning

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วางแผนค่าลดหย่อนภาษีอย่างไรให้ได้ประโยชน์ระยะยาว
โดย medalezga จ 23 มี.ค. 2020 12:09 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
209
จ 23 มี.ค. 2020 2:19 pm โดย kreemza123
ประกันสังคมปรับลดอัตราส่งเงิน นาน 6 เดือน เพื่อบรรเทาผลกระทบการแพร่ระบาดโรคไวรัส COVID-19
โดย thatsawan อ 22 มี.ค. 2020 1:48 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
4
662
พฤ 02 เม.ย. 2020 9:59 am โดย thatsawan
แนะนำสินค้าใหม่ในร้านค้าออนไลน์ของคุณให้น่าสนใจมากขึ้นด้วย Latest Products
โดย prmindphp ศ 20 มี.ค. 2020 5:27 pm บอร์ด MindPHP News & Feedback
0
646
ศ 20 มี.ค. 2020 5:27 pm โดย prmindphp
B - หน้ารายงานไม่อัพเดทข้อมูล ปัจจุบัน
โดย thatsawan ศ 20 มี.ค. 2020 4:04 pm บอร์ด DBF - Report
3
5
ศ 20 มี.ค. 2020 4:20 pm โดย thatsawan
วิธีการการปรับการแสดงวันที่ในเว็บบอร์ด phpbb
โดย Ittichai_chupol อ 17 มี.ค. 2020 7:07 pm บอร์ด PHP Knowledge
0
1285
อ 17 มี.ค. 2020 7:07 pm โดย Ittichai_chupol
มาแล้ว Plugin System MD Image Responsive สำหรับแสดงภาพที่มีขนาดเหมาะสมกับหน้าจอของอุปกรณ์
โดย prmindphp อ 17 มี.ค. 2020 6:05 pm บอร์ด MindPHP News & Feedback
1
846
พ 18 มี.ค. 2020 10:03 am โดย VAC
การแก้บัคอย่างรวดเร็ว (Joke)
โดย noppadonsk อ 17 มี.ค. 2020 5:04 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
659
อ 17 มี.ค. 2020 5:04 pm โดย noppadonsk
ประชุมออนไลน์ง่ายๆด้วยการใช้โปรแกรม VSee - โปรแกรมสำหรับ Video Conference
โดย chatee supasand อ 17 มี.ค. 2020 2:24 pm บอร์ด Share Knowledge
0
862
อ 17 มี.ค. 2020 2:24 pm โดย chatee supasand
วิธีการแปลง ข้อมมูล วันที่จาก Excel เพื่อบันทึกลงในฐานข้อมูล
โดย Ittichai_chupol จ 16 มี.ค. 2020 11:43 am บอร์ด PHP Knowledge
0
510
จ 16 มี.ค. 2020 11:43 am โดย Ittichai_chupol
ปัญหา pg_dump: server version: 9.5.19; pg_dump version: 9.3.24
โดย mindphp จ 16 มี.ค. 2020 1:48 am บอร์ด SQL - Database
1
742
จ 16 มี.ค. 2020 1:59 am โดย mindphp
ใครอัพเกรด Joomla แล้วเจอ ปัญหานี้ Duplicate entry 'admin' for key 2 แก้แบบนี้นะ
โดย mindphp ศ 13 มี.ค. 2020 8:43 pm บอร์ด Joomla Development
0
4136
ศ 13 มี.ค. 2020 8:43 pm โดย mindphp
ต้องการ update ข้อมูล 2 ตารางค่ะ
โดย Aspire3628 ศ 13 มี.ค. 2020 6:04 pm บอร์ด SQL - Database
0
483
ศ 13 มี.ค. 2020 6:04 pm โดย Aspire3628
ขอคำแนะนำ Update ข้อมูลจาก 2 Table
โดย Anonymous ศ 13 มี.ค. 2020 5:47 pm บอร์ด SQL - Database
0
890
ศ 13 มี.ค. 2020 5:47 pm โดย บุคคลทั่วไป
วิธีการการสร้าง listbox สำหรับเลือกรายการแล้วทำการช่องกรอกตามรายการที่กำหนด
โดย Ittichai_chupol ศ 13 มี.ค. 2020 3:00 pm บอร์ด Jquery & Ajax Knowledge
0
5078
ศ 13 มี.ค. 2020 3:00 pm โดย Ittichai_chupol
จริงหรือไม่ในมะพร้าวมีฮอร์โมนเพศหญิงกับชายอยู่
โดย Anonymous ศ 13 มี.ค. 2020 1:14 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
461
ศ 13 มี.ค. 2020 1:14 pm โดย บุคคลทั่วไป
ดีใจจริงๆ
โดย noppadonsk ศ 13 มี.ค. 2020 12:33 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
1611
อ 15 มี.ค. 2020 10:50 am โดย kreemza123
ความจริงที่โหดร้ายของ Editor
โดย noppadonsk พฤ 12 มี.ค. 2020 3:29 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
478
พฤ 12 มี.ค. 2020 3:29 pm โดย noppadonsk
ขออนุญาตสอบถาม เรื่อง Query ค้นหาข้อมูลครับ
โดย 9kitti พฤ 12 มี.ค. 2020 3:03 pm บอร์ด SQL - Database
2
2635
ศ 13 มี.ค. 2020 10:17 am โดย 9kitti
มันมาโดยไม่รู้ตัว
โดย noppadonsk พ 11 มี.ค. 2020 5:42 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
427
พ 11 มี.ค. 2020 5:42 pm โดย noppadonsk
มาแล้ว! Joomla 3.9.16 อัพเดทด่วน ปรับปรุงเรื่องความปลอดภัยกว่า 6 จุด
โดย tsukasaz พ 11 มี.ค. 2020 11:13 am บอร์ด MindPHP News & Feedback
0
976
พ 11 มี.ค. 2020 11:13 am โดย tsukasaz