พื้นฐาน Network สำหรับ pentester

กลับไปหน้า Network
🚨 เพื่อการเรียนรู้ที่เข้าใจแบบสูงสุด ควรเรียนรู้ควบคู่ไปกับคลิปวิดีโอในยูทูปที่ผมทำเอาไว้
https://youtu.be/Bshufp9_CjY?si=ZvNUjvThuU5WI0Ng

พื้นฐาน Network เบื้องต้น


พื้นฐาน Network สำหรับมือใหม่ก่อนที่จะเริ่มศึกษาการทำ pentest

ข้อความที่เขียน 10% มาจาก AI และอีก 90% เขียนออกมาจากใจผมล้วนๆ ผมจะไม่เน้นใช้ ai เขียนให้เพราะมันสื่อสารไม่ตรงใจผมเท่าไหร่

บอกไว้ก่อนว่าคุณไม่จำเป็นที่จะเก่งเรื่อง network ก่อนถึงจะเริ่มเรียน pentest ได้ เพราะงั้นคุณไม่ต้องพยายามไปลงคอร์สอะไรให้มันเสียเวลา แค่ศึกษาให้เข้าใจในพื้นฐานก็เพียงพอที่จะเริ่มได้แล้ว แต่ในระดับที่สูงขึ้น สุดท้ายแล้วคุณก็ต้องกลับมาศึกษา network ในระดับที่ลึกขึ้นอยู่ดี เป็นสิ่งที่หลีกเลี่ยงไม่ได้ แต่ในคอร์สนี้ผมสามารถพาคุณไปส่งที่กลางทางได้ หลังจากนั้นคุณจะทำยังไงต่อก็แล้วแต่ความสามารถของพวกคุณแล้ว มาเข้าเรื่องเลยดีกว่า บ่นไปเยอะแล้ว

Network คือ อุปกรณ์ตั้งแต่ 2 เครื่องขึ้นไปที่มันสื่อสารกันได้ อันนี้แหละเรียกว่า Network

Internet คือ Network หลายๆกลุ่มที่เชื่อมต่อหากัน

OSI layer คืออะไร


OSI layer คือรูปแบบมาตรฐานที่ใช้อธิบายการทำงานของ internet โดยมีทั้งหมด 7 ชั้น แล้วผมจะทำการอธิบายตั้งแต่ชั้นที่ 1 ไปจนถึง 7

OSI layer 1 - Physical Layer


นิยามแบบง่ายที่สุดมันคือ "ตัวกลางในการสื่อสาร" ซึ่งจริงๆมันก็ไม่ได้ตรงไปตรงมาขนาดนั้น แต่ถ้าจะเข้าใจแบบนั้นมันก็ไม่ได้ผิด เพราะฟังดูเข้าใจง่ายดีสำหรับมือใหม่ ตัวกลางในการสื่อสารในที่นี้ก็เช่น สาย LAN, สายไฟเบอร์, สัญญาณไวไฟ, สัญญาณบลูทูธ, รวมถึงพวกสัญญาณไฟฟ้า หรือ แรงดันไฟ ก็นับว่าเป็น OSI layer 1 เหมือนกัน

ซึ่งข้อมูลที่ส่งผ่านในตัวกลางเหล่านี้จะส่งในรูปแบบของ 0 กับ 1 ถ้าใครสงสัยว่าทำไมต้อง 0 กับ 1 เดี๋ยวผมจะอธิบายในเนื้อหาถัดๆไป ตอนนี้ยังไม่ถึงเวลา เพราะเดี๋ยวจะงงกันซะก่อน แต่ให้เข้าใจไว้ว่ามันส่งแบบ 0 กับ 1 ก็พอ

OSI layer 2 - Data Link Layer


ก่อนอื่นคุณต้องเข้าใจคำว่าวงแลนก่อน วงแลนมันหมายถึงอุปกรณ์ในวงเครือข่ายเดียวกันที่เชื่อมต่อหากันได้โดยไม่ต้องออกอินเทอร์เน็ต ยกตัวอย่างง่ายๆ ถ้าคุณอยู่ไทย แต่เพื่อนคุณอยู่เขมร อันนี้คนละวงแลนละ เพราะมันต้องมีการออกอินเทอร์เน็ตเพื่อวิ่งผ่านจุดนู้น จุดนี้ ก่อนที่จะไปถึงเครื่องของเพื่อนคุณที่อยู่เขมร แต่ถ้าคุณอยู่ในบ้านแล้วเพื่อนคุณก็อยู่ในบ้านที่เชื่อมไวไฟเดียวกันเนี่ย อันนี้คือวงแลนเดียวกัน เพราะอุปกรณ์มันสามารถสื่อสารกันได้โดยตรง คือผ่านไวไฟ ไม่ต้องมีการออกอินเทอร์เน็ต อันนี้คือนิยามแบบง่ายๆ

ซึ่ง OSI layer 2 เนี่ย มันก็คือการอธิบายหลักการสื่อสารภายในวงแลนเดียวกัน ซึ่งอุปกรณ์ทุกชนิดมันจะมีสิ่งที่เรียกว่า MAC Address ติดมาจากโรงงานทุกตัว ที่ต้องมีทุกตัวเพราะ MAC Address มันคือสิ่งพื้นฐานที่สุดที่จะสามารถใช้สื่อสารในอินเทอร์เน็ตได้ สมมติว่าในวงแลนมีอยู่ 3 เครื่อง คือ A-B-C แล้วเวลา A จะติดต่อ B มันก็จะใช้ MAC Address นี่แหละในการระบุตัวตนบนเครือข่าย อย่างเช่น A=A1 (สมมติว่า A1 คือ MAC Address) B=B1 C=C1 ถ้าไม่มี MAC เนี่ย อุปกรณ์มันก็ไม่รู้ว่าจะต้องไปติดต่อใคร แต่พอมี MAC แล้วเนี่ย มันก็สามารถที่จะรู้ได้เลยว่าถ้า A จะติดต่อ B ก็ให้ติดต่อไปที่ MAC Address ที่เป็น B1 (MAC Address ของจริงมันยาวกว่านี้มาก แต่ในกรณีนี้ผมแค่ยกตัวอย่างให้เข้าใจง่ายๆ)

ผมจะยกตัวอย่างอุปกรณ์อันนึงที่มันคลาสสิกมากๆก็คือ Hub มันคือตัวกลางในการสื่อสาร สมมติว่ามีคอม 10 เครื่องที่ต้องการจะเชื่อมต่อหากัน แทนที่คุณจะเอาสายแลนต่อหากันทีละเครื่องให้ยุ่งยาก คุณก็แค่เอา Hub นี่แหละมาเป็นตัวกลาง แล้วให้คอมทุกเครื่องเชื่อมเข้ามาที่ Hub เท่านี้คอมทั้ง 10 เครื่องนั้นก็สื่อสารกันได้แล้ว แต่ปัญหาก็คือ Hub มันกากมากๆ เพราะมันทำอะไรไม่เป็นเลยนอกจากเป็นตัวกลาง คือมันทำได้แค่นั้นจริงๆ มันไม่สามารถอ่าน MAC Address หรืออะไรได้เลย ทำให้เมื่อมีข้อมูลวิ่งเข้ามา มันก็จะทำการกระจายออกหมดทุกทาง ทำให้เกิดเป็น traffic ขยะขึ้นมา (ข้อมูลที่ไม่จำเป็นที่วิ่งอยู่ในระบบ network) ทำให้ระบบมันอาจจะมีปัญหาขึ้นมาได้

ซึ่งสิ่งที่เข้ามาแก้ปัญหานั้นก็คือ Switch โดยความสามารถของมันมีเยอะกว่า Hub มากๆ แต่ถ้าจะยกมาอย่างนึงเนี่ย ก็คือมันเข้าใจ MAC Address ทำให้อุปกรณ์ในเครือข่ายมันสามารถสื่อสารกันได้โดยตรงโดยที่ไม่เกิดเป็น traffic ขยะ เกร็ดเล็กน้อย ข้อมูลที่ส่งภายในวงแลนมันจะเรียกว่า ethernet frame ซึ่งจะมีการอธิบายในเนื้อหาต่อๆไป

OSI layer 3 - Network Layer


ถ้าแปลตรงตัวมันจะเรียกว่าชั้นเครือข่าย แต่ผมรู้ว่าคนที่เป็นมือใหม่ที่กำลังอ่านอยู่เนี่ยยังไงก็ไม่เข้าใจหรอก เพราะงั้นไอคำว่า "ชั้นเครือข่าย" เนี่ยไม่ต้องสนใจอะไรมาก สนใจเนื้อหาที่ผมจะเล่าก็พอ

ก่อนหน้านั้นเราได้เข้าใจเรื่องวงแลนใน OSI 2 ไปคร่าวๆแล้ว ว่ามันก็คือการสื่อสารภายในวงเครือข่ายเดียวกัน ส่วนใน OSI 3 เนี่ยมันคือการสื่อสารข้ามวงแลน ยังจำตอนที่ผมยกตัวอย่างว่าคุณกำลังจะติดต่อกับเพื่อนคุณที่อยู่เขมรได้หรือเปล่า อันนั้นแหละที่เรียกว่าคนละวงแลน ซึ่งในจุดนี้เนี่ยมันก็จะเริ่มมีสิ่งที่เรียกว่า IP Address เข้ามาเกี่ยวข้อง เรื่องนี้มันจะดูยากนิดหน่อยสำหรับมือใหม่ ซึ่งผมได้เขียนคำเตือนไว้แล้ว ใครที่ยังฝืนเรียนด้วยการอ่านมาจนถึงตอนนี้เนี่ยผมยอมใจเลยจริงๆ ถ้าจะเรียนให้เข้าใจแบบง่ายๆก็ดูคลิปจากลิงก์ที่ผมวางไว้ให้ไปด้วยซะ ผมเตือนแล้วนะ

ในหน้าเว็บนี้ผมจะอธิบายคร่าวๆก็พอ เพราะงั้น คุณมาดูภาพนี้

Network Overview

คุณจะเห็นได้ว่ามันมีคอม 3 เครื่องที่เชื่อมต่อกันด้วย wifi ถ้าเครื่อง A จะส่งข้อมูลไปหาเครื่อง B ซึ่งก็อยู่ในวงแลนเดียวกัน มันก็สามารถส่งไปได้ด้วยการระบุ MAC Address ของเครื่อง B แล้วส่งผ่านเราเตอร์ไวไฟไป ซึ่งเราเตอร์ไวไฟมันก็จะรู้ว่าแต่ละเครื่องในวงแลนมี MAC Address เป็นอะไร มันเลยสามารถทำหน้าที่เป็นตัวกลางในการสื่อสารได้

แต่จริงๆแล้ว ความสามารถในการอ่านและสื่อสาร MAC Address มันไม่ใช่ความสามารถของเราเตอร์ไวไฟ แต่มันเป็นความสามารถของสิ่งที่เรียกว่า Switch ก็คืออุปกรณ์ด้านล่างนี้แหละ

Network Switch

คือมันไม่ใช่ Switch เปิด-ปิดไฟอะไรแบบนั้นนะ แต่ Switch นี่คือชื่อมันเฉยๆ คุณก็จะเห็นได้ว่ามันจะมีช่องเอาไว้สำหรับให้คอมเสียบสายแลนเข้ามาอยู่ มันก็จะทำตัวเป็นตัวกลางในการสื่อสารนั่นแหละ เพียงแค่ว่าสื่อสารเฉพาะภายในวงแลน

คือต้องบอกว่าในสมัยก่อนอุปกรณ์มันจะอยู่แยกกัน เช่น Switch ก็คือสวิตช์ล้วนๆ, Router ก็คือเราเตอร์ล้วนๆ หรืออุปกรณ์อื่นๆ ก็ทำหน้าที่ตามนั้นล้วนๆ แต่ว่า Wifi Router ของพวกเราในสมัยนี้มันเป็นแบบ All In One หมดแล้ว ก็คือมันจะมัดรวมพวกความสามารถของ Switch + Router + อื่นๆ มันเลยเป็นเหตุผลที่คุณมีเราเตอร์ไวไฟแค่ตัวเดียว แต่ก็ใช้เน็ตได้แบบไม่มีปัญหา ไม่ต้องมานั่งเซ็ตอัพ Switch หรือ Router อะไรทั้งนั้น แค่ใส่รหัสเชื่อมไวไฟก็ใช้ได้เลย แต่ผมจะยกตัวอย่างแบบแยกไปแต่ละอุปกรณ์ละกัน เพราะจะได้เข้าใจและเห็นภาพง่ายๆ

เมื่อกี้ผมบอกไปแล้วว่า Switch มันทำงานใน Layer 2 แล้วมันทำหน้าที่ในการส่งข้อมูลภายในวงแลนด้วย MAC Address แต่ถ้าคอมทั้งโลกเชื่อมหากันด้วย Switch เป็นวงแลนเดียวกันทั้งก้อนเลยเนี่ย เน็ตระเบิดแน่นอน เพราะคอมตั้งไม่รู้กี่ล้านเครื่องมันสื่อสารกันหมด เลยต้องมี Router นี่แหละเข้ามาแบ่งวงแลน

Router

หน้าที่หลักๆของมันคือใช้แบ่งวงแลน พอแบ่งวงแลนแล้วอุปกรณ์คนละวงแลนมันสื่อสารกันไม่ได้ เพราะมันคนละวงแลนกัน มันก็ต้องเลยมี IP Address นี่แหละเข้ามาช่วยในตรงนี้ เวลาจะส่งข้อมูลข้ามวงแลนก็ใช้ IP Address นี่แหละ ในการส่งข้ามวงแลน ถ้าใครยังไม่เห็นภาพ ก็มาดูนี่

Router and IP Addresses

ยังไม่ต้องสนใจว่า IP มันมาจากไหน มาได้ยังไง ไม่ต้องสนตอนนี้ เพราะมันจะงง ให้คุณเข้าใจตามที่ผมจะบอกก่อน

ทวนก่อนว่า MAC --> ส่งในวงแลน, IP --> ส่งข้ามวงแลน สมมติว่าเครื่องที่ IP 20.1 จะส่งข้อมูลข้ามวงแลนไปหาเครื่องที่ IP 10.1 มันก็สามารถส่งไปได้ด้วยการระบุ IP ปลายทางไว้ พอข้อมูลถึงเราเตอร์ปลายทางแล้ว เราเตอร์ปลายทางมันจะไม่ได้ส่งข้อมูลไปหา IP 10.1 ทันทีนะ แต่มันจะไปเทียบดูอีกทีว่า IP 10.1 มี MAC Address เป็นอะไร เพราะอย่าลืมว่า MAC มันเอาไว้ส่งในวงแลน ส่วน IP มันเอาไว้ส่งข้ามวงแลน

ซึ่งเมื่อเราเตอร์ปลายทางรู้ MAC ของเครื่อง IP 10.1 แล้วเนี่ย มันก็จะส่งข้อมูลไปหาด้วย MAC นี่แหละ

ทีนี้ กลับมาที่เรื่องที่ผมได้เว้นไว้ตอนแรก ก็คือ "IP Address" มาจากไหน จริงๆแล้วรายละเอียดมันเยอะมากๆ ผมจะไม่อธิบายหมด แต่จะอธิบายคอนเซปต์คร่าวๆ ว่าโดยทั่วไปมันจะมาจากการแจกของ Router ซึ่งเราเตอร์มันก็จะมีชุด IP ที่มันจะแจกให้เครื่องในวงแลนมันอยู่ อย่างเช่นในภาพข้างต้นเนี่ย คุณก็จะเห็นได้ว่า IP จากวงแลนซ้าย เราเตอร์มันจะใช้ 20.x ในการแจกให้อุปกรณ์ ส่วนทางขวามันก็จะใช้ 10.x ในการแจกให้อุปกรณ์ในวงแลนของมัน

OSI layer 4 - Transport Layer


เนื้อหาต่อไปนี้จะไม่ได้อธิบายลึกมากเพราะมันค่อนข้างเป็นนามธรรม แถมแก่นหลักกว่า 80% มันก็อยู่ใน Layer 1-3 ด้วย เพราะงั้น ถ้าใครคิดจะเรียนต่อแบบลึก ก็แนะนำให้ลองศึกษาผ่านการปฏิบัติด้วยตัวเองมันจะเห็นภาพมากกว่า

แปลตรงตัวก็คือ ชั้นการส่งข้อมูล มันก็คือการอธิบายวิธีการส่งข้อมูลในอินเทอร์เน็ต มันก็จะมีรายละเอียดอีกพอสมควรแต่ผมค่อยๆอธิบายเพิ่มเติมในเนื้อหาถัดๆไป

OSI layer 5 - Session Layer


มันคือการอธิบายความต่อเนื่องของการสื่อสาร

OSI layer 6 - Presentation Layer


การแปลงข้อมูลให้อยู่ในรูปแบบที่อุปกรณ์เข้าใจกันทั้งสองฝั่ง

OSI layer 7 - Application Layer


มันคือส่วนที่มันสื่อสารกับผู้ใช้และอินเทอร์เน็ตโดยตรง เช่น การเข้าใช้งานเว็บไซต์ต่างๆ

ปิดท้าย


ทั้งนี้ทั้งนั้น OSI layer ก็เป็นแค่โมเดลที่เอาไว้อธิบายการทำงานของอินเทอร์เน็ตอย่างละเอียดเฉยๆ ในการใช้งานจริงๆไม่มีใครมานั่งจำ หรือมานั่งเช็ค OSI layer ก่อนจะใช้ internet หรอก เพราะแก่นของมันจริงๆคือความเข้าใจ ไม่ใช่ท่องจำ แม้แต่ตัวผมเอง บางทีผมยังลืมเลยว่า OSI layer มันมีอะไรบ้าง