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

เทคนิคการทำงานของ  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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การเชื่อมต่อ API ของ GitLab เพื่อดาวน์โหลดไฟล์
โดย tsukasaz อ 31 มี.ค. 2020 12:52 pm บอร์ด PHP Knowledge
0
3863
อ 31 มี.ค. 2020 12:52 pm โดย tsukasaz
วิธิการใส่ icon favorite เพื่อแสดงในแต่ละ browser
โดย Ittichai_chupol อ 31 มี.ค. 2020 11:14 am บอร์ด Graphic design
4
521
พฤ 02 เม.ย. 2020 4:33 pm โดย thatsawan
สิ่งที่เกิดขึ้นจริงในการประชุมด้วยเทคโนโลยี Conference Call #Work from home
โดย thatsawan อ 31 มี.ค. 2020 10:39 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
112
อ 31 มี.ค. 2020 10:39 am โดย thatsawan
ช่วงนี้ Work From Home ก็จะลำบากนิดนึงแหละเนอะ #ทาสเเมว
โดย thatsawan จ 30 มี.ค. 2020 2:29 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
289
จ 30 มี.ค. 2020 2:29 pm โดย thatsawan
อยากทราบวิธีสร้างเว็บหน้าเดียวแบบกรอกข้อมูลเสร็จแล้วประมวลผล
โดย phongkhukhan ส 28 มี.ค. 2020 1:00 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
616
ส 28 มี.ค. 2020 1:09 am โดย mindphp
แสดงสินค้าที่อยากได้ใน Wishlist ด้วย Module Wishlist
โดย prmindphp ศ 27 มี.ค. 2020 5:26 pm บอร์ด MindPHP News & Feedback
0
459
ศ 27 มี.ค. 2020 5:26 pm โดย prmindphp
ต้องการสร้าง subtype
โดย blackbullx16 ศ 27 มี.ค. 2020 4:15 pm บอร์ด SQL - Database
0
629
ศ 27 มี.ค. 2020 4:15 pm โดย blackbullx16
อยากทราบวิธีการใช้งาน อีเวน cron ว่ามีการใช้งานอย่างไครับ
โดย Ittichai_chupol ศ 27 มี.ค. 2020 11:10 am บอร์ด Programming - PHP
7
622
จ 06 เม.ย. 2020 12:23 pm โดย thatsawan
อยากทราบวิธีการแก้ไขการแปลงปีวันที่ใน phpbb ผิด เมื่อกรอกวันที่ 29/02
โดย Ittichai_chupol ศ 27 มี.ค. 2020 10:42 am บอร์ด Programming - PHP
3
517
จ 30 มี.ค. 2020 7:01 pm โดย mindphp
อยากทราบวิธีการจะสร้างการทำงานสำหรับการแจ้งเตือนของ Extension ในอีเวน cron
โดย Ittichai_chupol พฤ 26 มี.ค. 2020 10:34 am บอร์ด PHP Knowledge
2
530
พฤ 26 มี.ค. 2020 2:34 pm โดย LEG
แสดงสินค้าขายดีในร้านค้าออนไลน์ด้วย Module Bestseller
โดย prmindphp พ 25 มี.ค. 2020 5:42 pm บอร์ด MindPHP News & Feedback
0
298
พ 25 มี.ค. 2020 5:42 pm โดย prmindphp
อยากทราบวิธีการที่จะสามารถปิดการแสดงของ modules ใน ucp โดยไม่ต้องเข้าไปจัดการในระบบ
โดย Ittichai_chupol พ 25 มี.ค. 2020 1:04 pm บอร์ด Programming - PHP
1
284
พ 25 มี.ค. 2020 1:05 pm โดย Ittichai_chupol
วิธีการสมัครเข้าใช้งาน Skype สำหรับใช้งาน VDO video conference ในมือถือ
โดย numtan5839 พ 25 มี.ค. 2020 11:26 am บอร์ด Microsoft Office Knowledge & line & Etc
1
417
พฤ 26 มี.ค. 2020 2:34 pm โดย LEG
อยากท่องเที่ยวใหว้พระอุดรกับรถเช่าอุดร แนะนำ
โดย udon999 อ 24 มี.ค. 2020 10:49 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
428
อ 24 มี.ค. 2020 10:49 pm โดย udon999
อยากเที่ยวอุดร ลองเช่ารถอุดร ท่องเที่ยวใหว้พระเชิญทางนี้
โดย udon999 อ 24 มี.ค. 2020 9:57 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
259
อ 24 มี.ค. 2020 9:57 pm โดย udon999
แสดงหมวดหมู่สินค้าให้กับร้านค้าออนไลน์ด้วย Module Category
โดย prmindphp อ 24 มี.ค. 2020 5:57 pm บอร์ด MindPHP News & Feedback
0
255
อ 24 มี.ค. 2020 5:57 pm โดย prmindphp
3 การขนส่งสินค้าที่แปลกที่สุดในโลก
โดย ngongsus อ 24 มี.ค. 2020 12:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
261
อ 24 มี.ค. 2020 12:58 pm โดย ngongsus
ตะกร้าสินค้าที่บอกรายละเอียดได้มากกว่าแค่ราคาสินค้า Module MooZiiCart - Cart Ext
โดย prmindphp จ 23 มี.ค. 2020 6:21 pm บอร์ด MindPHP News & Feedback
0
269
จ 23 มี.ค. 2020 6:21 pm โดย prmindphp
3 ข้อเท็จจริงอันน่าสนใจเกี่ยวกับไวรัสโคโรนา 2019 (COVID-19)
โดย nemo413 จ 23 มี.ค. 2020 6:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
296
จ 23 มี.ค. 2020 6:05 pm โดย nemo413
อยาทราบวิธีการสร้างลิ้งค์ ไปยัง จากส่วนการแจ้งเตือน ไป ยัง Extension ที่อยู่ในส่วนของ ucp
โดย Ittichai_chupol จ 23 มี.ค. 2020 4:28 pm บอร์ด Programming - PHP
1
442
จ 23 มี.ค. 2020 5:01 pm โดย mindphp