การทดสอบการเจาะระบบคือการโจมตีทางไซเบอร์จำลองที่ได้รับอนุญาตบนคอมพิวเตอร์ โดยมีจุดประสงค์เพื่อประเมินความปลอดภัยของระบบ การทดสอบจะดำเนินการเพื่อระบุจุดอ่อนทั้งหมด (หรือที่เรียกว่าช่องโหว่) รวมถึงความเป็นไปได้ที่บุคคลที่ไม่ได้รับอนุญาตเข้าถึงคุณสมบัติและข้อมูลของระบบตลอดจนจุดแข็งที่อนุญาตให้บุคคลที่ไม่ได้รับอนุญาตเข้าถึงคุณสมบัติและข้อมูลของระบบ การประเมินความเสี่ยงทั้งระบบ
การทดสอบการเจาะคืออะไร?
การทดสอบการเจาะคืออะไร?
การทดสอบการเจาะระบบหรือที่เรียกว่าการทดสอบปากกา Pentest หรือการแฮ็กอย่างมีจริยธรรมเป็นการโจมตีจำลองบนระบบคอมพิวเตอร์เพื่อทดสอบช่องโหว่ที่สามารถถูกโจมตีได้ ในการรักษาความปลอดภัยแอปพลิเคชันเว็บ การทดสอบการเจาะระบบมักใช้เพื่อเสริมความแข็งแกร่งให้กับไฟร์วอลล์แอปพลิเคชันเว็บ (Web Application Firewall - WAF)
การทดสอบปากกาอาจเกี่ยวข้องกับการพยายามเจาะระบบแอปพลิเคชันจำนวนเท่าใดก็ได้ (เช่น Application Protocol Interfaces - API, เซิร์ฟเวอร์ส่วนหน้า/ส่วนหลัง) เพื่อค้นหาช่องโหว่ ช่องโหว่ เช่น อินพุตที่ไม่ได้รับการตรวจสอบซึ่งเสี่ยงต่อการแทรกโค้ดที่เป็นอันตราย
ข้อมูลเชิงลึกที่ได้รับจากการทดสอบการเจาะระบบสามารถใช้เพื่อปรับแต่งนโยบายความปลอดภัยของ WAF และแก้ไขช่องโหว่ที่ค้นพบ
ขั้นตอนในการทดสอบการเจาะ
กระบวนการทดสอบปากกาสามารถแบ่งออกเป็น 5 ขั้นตอน
1. การรวบรวมและติดตามข้อมูลเชิงโต้ตอบ
ในระยะแรกของการทดสอบการเจาะระบบและการทดสอบค่าหัวบั๊ก ผู้ทดสอบจะต้องรวบรวมข้อมูลเกี่ยวกับระบบเป้าหมาย เนื่องจากมีวิธีการโจมตีและการทดสอบค่อนข้างน้อย ผู้ทดสอบการเจาะจึงต้องจัดลำดับความสำคัญตามข้อมูลที่รวบรวมเพื่อกำหนดวิธีที่เหมาะสมที่สุด
ขั้นตอนนี้เกี่ยวข้องกับการแยกรายละเอียดอันมีค่าเกี่ยวกับโครงสร้างพื้นฐานของระบบเป้าหมาย เช่น ชื่อโดเมน บล็อกเครือข่าย เราเตอร์ และที่อยู่ IP ภายในขอบเขต นอกจากนี้ จะต้องรวบรวมข้อมูลที่เกี่ยวข้องใดๆ ที่สามารถช่วยเพิ่มความสำเร็จของการโจมตี เช่น ข้อมูลพนักงานและหมายเลขโทรศัพท์ จะต้องถูกเก็บรวบรวม
ข้อมูลที่ได้รับจากโอเพ่นซอร์สในช่วงเวลานี้สามารถให้รายละเอียดที่สำคัญอย่างน่าประหลาดใจ เพื่อให้บรรลุเป้าหมายนี้ แฮกเกอร์หมวกขาวจะต้องใช้ประโยชน์จากแหล่งข้อมูลที่หลากหลาย โดยเน้นที่เว็บไซต์และแพลตฟอร์มโซเชียลมีเดียขององค์กรเป้าหมายเป็นพิเศษ ด้วยการรวบรวมข้อมูลนี้อย่างพิถีพิถัน ผู้ทดสอบจะวางรากฐานสำหรับความพยายามในการล่าจุดบกพร่องที่ประสบความสำเร็จ
อย่างไรก็ตาม องค์กรส่วนใหญ่กำหนดกฎเกณฑ์ที่แตกต่างกันสำหรับผู้ทดสอบการเจาะระบบในระหว่างกระบวนการรับรางวัลจุดบกพร่อง จำเป็นจากมุมมองทางกฎหมายที่จะไม่เบี่ยงเบนไปจากกฎเหล่านี้
2. รวบรวมและสแกนข้อมูลเชิงรุก
ผู้ทดสอบการเจาะจะตรวจจับว่าอุปกรณ์แบบแอ็คทีฟและพาสซีฟตัวใดที่ทำงานอยู่ในช่วง IP ซึ่งโดยปกติจะทำโดยการรวบรวมแบบพาสซีฟระหว่างที่ล่าบั๊ก ด้วยความช่วยเหลือจากข้อมูลที่ได้รับระหว่างกระบวนการเก็บรวบรวมแบบพาสซีฟ เพนเทสเตอร์จำเป็นต้องกำหนดเส้นทาง - พวกเขาจำเป็นต้องจัดลำดับความสำคัญและกำหนดว่าการทดสอบใดที่จำเป็น
ในช่วงเวลานี้ แฮกเกอร์ไม่สามารถหลีกเลี่ยงการรับข้อมูลเกี่ยวกับระบบปฏิบัติการ พอร์ตและบริการที่เปิดอยู่ รวมถึงข้อมูลเวอร์ชันบนระบบที่ใช้งานจริงได้
นอกจากนี้ หากองค์กรร้องขอตามกฎหมายให้อนุญาตให้ผู้ทดสอบการเจาะระบบตรวจสอบการรับส่งข้อมูลเครือข่าย ข้อมูลสำคัญเกี่ยวกับโครงสร้างพื้นฐานของระบบก็สามารถเก็บรวบรวมได้ อย่างน้อยที่สุดเท่าที่จะทำได้ อย่างไรก็ตาม องค์กรส่วนใหญ่ไม่ต้องการให้สิทธิ์นี้ ในสถานการณ์เช่นนี้ ผู้ทดสอบการเจาะจะต้องไม่เกินกฎเกณฑ์
3. ขั้นตอนการวิเคราะห์และทดสอบ
ในขั้นตอนนี้ ผู้ทดสอบการเจาะ หลังจากที่ค้นหาว่าแอปพลิเคชันเป้าหมายจะตอบสนองต่อความพยายามในการบุกรุกต่างๆ อย่างไร จะพยายามสร้างการเชื่อมต่อที่ทำงานกับระบบที่ตรวจจับได้ ทำงานอยู่และพยายามตอบสนองคำขอโดยตรง กล่าวอีกนัยหนึ่ง นี่คือขั้นตอนที่แฮ็กเกอร์หมวกขาวโต้ตอบกับระบบเป้าหมายโดยการใช้บริการต่างๆ เช่น FTP, Netcat และ Telnet อย่างมีประสิทธิภาพ
แม้จะล้มเหลวในขั้นตอนนี้ แต่จุดประสงค์หลักคือเพื่อตรวจสอบข้อมูลที่ได้รับระหว่างขั้นตอนการรวบรวมข้อมูลและจดบันทึก
4. ความพยายามที่จะจัดการและแสวงหาผลประโยชน์
ระยะการโจมตีของการทดสอบการเจาะ
ผู้ทดสอบการเจาะระบบรวบรวมข้อมูลทั้งหมดที่รวบรวมในกระบวนการก่อนหน้านี้เพื่อเป้าหมายเดียว: พยายามเข้าถึงระบบเป้าหมายในลักษณะเดียวกับที่แฮ็กเกอร์ที่เป็นอันตรายจริงๆ ทำ นี่คือเหตุผลว่าทำไมขั้นตอนนี้จึงสำคัญมาก เพราะเมื่อเข้าร่วมโปรแกรม Bug Bounty ผู้ทดสอบการเจาะระบบควรคิดเหมือนแฮกเกอร์ตัวจริง
ในขั้นตอนนี้ ผู้ทดสอบการเจาะระบบจะพยายามเจาะระบบโดยใช้ระบบปฏิบัติการที่ทำงานบนระบบเป้าหมาย พอร์ตที่เปิด และบริการที่ให้บริการบนพอร์ตเหล่านี้ ตลอดจนช่องโหว่ที่เป็นไปได้ อาจใช้ได้ขึ้นอยู่กับเวอร์ชัน เนื่องจากพอร์ทัลและแอปพลิเคชันบนเว็บประกอบด้วยโค้ดจำนวนมากและไลบรารีจำนวนมาก แฮกเกอร์ที่เป็นอันตรายจึงสามารถเข้าถึงการโจมตีได้มากขึ้น ในเรื่องนี้ ผู้ทดสอบการเจาะที่ดีควรพิจารณาความเป็นไปได้ทั้งหมด และปรับใช้เวกเตอร์การโจมตีที่เป็นไปได้ทั้งหมดที่ได้รับอนุญาตภายในกฎ
สิ่งนี้ต้องใช้ความเชี่ยวชาญและประสบการณ์อย่างจริงจังจึงจะสามารถใช้ช่องโหว่ที่มีอยู่ได้อย่างประสบความสำเร็จและยืดหยุ่น โดยไม่ทำลายระบบและไม่ทิ้งร่องรอยใด ๆ ในระหว่างการครอบครองระบบ ดังนั้นการทดสอบการเจาะในระยะนี้จึงเป็นขั้นตอนที่สำคัญที่สุด
5. ความพยายามในการยกระดับสิทธิพิเศษ
จุดแข็งของระบบถูกกำหนดโดยจุดอ่อนที่สุด หากแฮ็กเกอร์หมวกขาวสามารถเข้าถึงระบบได้ พวกเขามักจะเข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ต่ำ ในขั้นตอนนี้ ผู้ทดสอบการเจาะระบบจำเป็นต้องมีสิทธิ์ของผู้ดูแลระบบ โดยใช้ประโยชน์จากช่องโหว่ในระบบปฏิบัติการหรือสภาพแวดล้อม
จากนั้นพวกเขาจะตั้งเป้าที่จะเข้าควบคุมอุปกรณ์อื่นๆ ในสภาพแวดล้อมเครือข่ายโดยใช้สิทธิ์เพิ่มเติมที่พวกเขาได้รับและในท้ายที่สุดคือสิทธิ์ผู้ใช้ระดับบนสุด เช่น ผู้ดูแลระบบโดเมนหรือผู้ดูแลระบบฐานข้อมูล
6. การรายงานและการนำเสนอ
ผู้ทดสอบการเจาะรายงานผลการล่าแมลงและรับรางวัล
เมื่อการทดสอบการเจาะระบบและขั้นตอนล่าจุดบกพร่องเสร็จสมบูรณ์ ผู้ทดสอบการเจาะระบบหรือนักล่าจุดบกพร่องจะต้องนำเสนอช่องโหว่ด้านความปลอดภัยที่พบในระบบเป้าหมาย ขั้นตอนถัดไป และวิธีที่พวกเขาสามารถใช้ประโยชน์จากช่องโหว่เหล่านี้สำหรับองค์กรด้วยรายงานโดยละเอียด ซึ่งควรรวมถึงข้อมูลต่างๆ เช่น ภาพหน้าจอ โค้ดตัวอย่าง ขั้นตอนการโจมตี และช่องโหว่นี้อาจเกิดขึ้นได้อย่างไร
รายงานขั้นสุดท้ายยังต้องรวมคำแนะนำวิธีแก้ปัญหาเกี่ยวกับวิธีการปิดช่องโหว่ด้านความปลอดภัยแต่ละจุดด้วย ความอ่อนไหวและความเป็นอิสระของการทดสอบการเจาะยังคงเป็นปริศนา แฮกเกอร์หมวกขาวไม่ควรแบ่งปันข้อมูลที่เป็นความลับที่ได้รับในขั้นตอนนี้ และไม่ควรใช้ข้อมูลนี้ในทางที่ผิดด้วยการให้ข้อมูลที่เป็นเท็จ เนื่องจากโดยปกติแล้วจะผิดกฎหมาย
วิธีการทดสอบการเจาะ
การทดสอบภายนอก (การทดสอบการเจาะภายนอก)
การทดสอบการเจาะระบบภายนอกกำหนดเป้าหมาย "ทรัพย์สิน" ของบริษัทที่มองเห็นได้บนอินเทอร์เน็ต เช่น เว็บแอปพลิเคชัน เว็บไซต์ของบริษัท อีเมล และเซิร์ฟเวอร์ชื่อโดเมน (DNS ) เป้าหมายคือการเข้าถึงและดึงข้อมูลอันมีค่า
การทดสอบภายใน (การทดสอบการเจาะจากภายใน)
ในการทดสอบการเจาะข้อมูลภายใน ผู้ทดสอบที่สามารถเข้าถึงแอปพลิเคชันหลังไฟร์วอลล์จะจำลองการโจมตีโดยบุคคลภายใน การโจมตี นี้ไม่เพียงแต่เตือนถึงโอกาสที่พนักงานภายในอาจเป็นแฮกเกอร์ แต่ยังเตือนผู้ดูแลระบบให้ป้องกันไม่ให้พนักงานในองค์กรถูกขโมยข้อมูลการเข้าสู่ระบบหลังจากการโจมตีแบบฟิชชิ่ง
การทดสอบตาบอด (“การทดสอบตาบอด”)
ในการทดสอบแบบปกปิด ผู้ทดสอบจะได้รับเพียงชื่อของธุรกิจที่เป็นเป้าหมายเท่านั้น สิ่งนี้ทำให้เจ้าหน้าที่รักษาความปลอดภัยสามารถดูแบบเรียลไทม์ว่าการโจมตีแอปพลิเคชันจะดำเนินไปอย่างไรในทางปฏิบัติ
การทดสอบตาบอดสองครั้ง
ในการทดสอบแบบ double blind เจ้าหน้าที่รักษาความปลอดภัยไม่มีความรู้มาก่อนเกี่ยวกับการโจมตีที่กำลังจำลองอยู่ เช่นเดียวกับในโลกแห่งความเป็นจริง ไม่สามารถรู้การโจมตีล่วงหน้าเพื่อปรับปรุงการป้องกันได้เสมอไป
การทดสอบแบบกำหนดเป้าหมาย
ในสถานการณ์นี้ ทั้งผู้ทดสอบและเจ้าหน้าที่รักษาความปลอดภัยจะทำงานร่วมกันและประเมินการกระทำของกันและกันอย่างต่อเนื่อง นี่เป็นแบบฝึกหัดการฝึกอบรมที่มีคุณค่า โดยให้ผลตอบกลับแบบเรียลไทม์จากมุมมองของแฮ็กเกอร์แก่ทีมรักษาความปลอดภัย
การทดสอบการเจาะระบบและไฟร์วอลล์เว็บแอปพลิเคชัน
การทดสอบการเจาะระบบและ WAF เป็นมาตรการรักษาความปลอดภัยที่เป็นอิสระ แต่ให้ประโยชน์เสริม
สำหรับการทดสอบปากกาหลายประเภท (ยกเว้นการทดสอบแบบ blind และ double blind) ผู้ทดสอบสามารถใช้ข้อมูล WAF เช่น บันทึก เพื่อค้นหาและใช้ประโยชน์จากจุดอ่อนของแอปพลิเคชัน
ในทางกลับกัน ผู้ดูแลระบบ WAF จะได้รับประโยชน์จากข้อมูลการทดสอบปากกา เมื่อการทดสอบเสร็จสิ้น การกำหนดค่า WAF จะสามารถอัปเดตได้เพื่อป้องกันจุดอ่อนที่พบในระหว่างการทดสอบ
สุดท้ายนี้ การทดสอบปากกาตรงตามข้อกำหนดด้านการทดสอบความปลอดภัยหลายประการ ซึ่งรวมถึง PCI DSS และ SOC 2 ด้วย มาตรฐานบางอย่าง เช่น PCI-DSS 6.6 สามารถทำได้ผ่านการใช้ WAF ที่ได้รับการรับรองเท่านั้น
ชุดเครื่องมือแฮ็กเกอร์หมวกขาว
แฮกเกอร์หมวกขาวใช้การทดสอบปากกาเพื่อค้นหาข้อผิดพลาดและช่องโหว่
การแฮ็กอย่างมีจริยธรรมไม่ใช่งานที่ต้องใช้ทักษะเพียงอย่างเดียว แฮกเกอร์หมวกขาวส่วนใหญ่ (แฮกเกอร์ที่มีจริยธรรม) ใช้ระบบปฏิบัติการและซอฟต์แวร์พิเศษเพื่อทำให้การทำงานของพวกเขาง่ายขึ้น หลีกเลี่ยงข้อผิดพลาดที่เกิดขึ้นเอง
แล้วแฮกเกอร์เหล่านี้ใช้การทดสอบปากกาเพื่ออะไร? ด้านล่างนี้เป็นตัวอย่างบางส่วน
Parrot Security เป็นระบบปฏิบัติการบน Linux ที่ออกแบบมาเพื่อการทดสอบการเจาะระบบและการประเมินช่องโหว่ เป็นมิตรกับคลาวด์ ใช้งานง่าย และรองรับซอฟต์แวร์โอเพ่นซอร์สต่างๆ
ระบบปฏิบัติการแฮ็คสด
Live Hacking เป็นระบบปฏิบัติการ Linux เช่นกัน เป็นตัวเลือกที่เหมาะสมสำหรับผู้ที่ทำ Pentesting เนื่องจากมีน้ำหนักเบาและไม่ต้องใช้ฮาร์ดแวร์สูง Live Hacking มาพร้อมกับเครื่องมือและซอฟต์แวร์ที่บรรจุไว้ล่วงหน้าสำหรับการทดสอบการเจาะระบบและการแฮ็กอย่างมีจริยธรรม
Nmap เป็นเครื่องมือโอเพ่นซอร์สอัจฉริยะ (OSINT) ที่ตรวจสอบเครือข่าย รวบรวมและวิเคราะห์ข้อมูลเกี่ยวกับโฮสต์อุปกรณ์และเซิร์ฟเวอร์ ทำให้มีประโยชน์สำหรับแฮกเกอร์หมวกดำ เทา และขาว
Nmap ยังเป็นแพลตฟอร์มข้ามแพลตฟอร์มและทำงานร่วมกับ Linux, Windows และ macOS ดังนั้นจึงเหมาะสำหรับแฮ็กเกอร์ที่มีจริยธรรมมือใหม่
เว็บShag
WebShag ยังเป็นเครื่องมือ OSINT นี่คือเครื่องมือทดสอบระบบที่สแกนโปรโตคอล HTTPS และ HTTP และรวบรวมข้อมูลและข้อมูลที่เกี่ยวข้อง แฮกเกอร์ที่มีจริยธรรมใช้มันเพื่อทำการทดสอบการเจาะระบบภายนอกผ่านเว็บไซต์สาธารณะ
จะไปทดสอบการเจาะได้ที่ไหน?
การทดสอบปากกาบนเครือข่ายของคุณเองไม่ใช่ตัวเลือกที่ดีที่สุด เนื่องจากคุณอาจไม่ได้สะสมความรู้เชิงลึกเกี่ยวกับเครือข่ายนี้มากพอ ทำให้คุณคิดอย่างสร้างสรรค์และค้นหาช่องโหว่ที่ซ่อนอยู่ได้ยาก คุณควรจ้างแฮกเกอร์แฮกเกอร์อิสระหรือบริการของบริษัทที่ให้บริการทดสอบปากกา
อย่างไรก็ตาม การจ้างบุคคลภายนอกให้แฮ็กเข้าสู่เครือข่ายของคุณอาจมีความเสี่ยงสูง โดยเฉพาะอย่างยิ่งหากคุณให้ข้อมูลที่เป็นความลับหรือการเข้าถึงภายในแก่พวกเขา นี่คือเหตุผลที่คุณควรใช้ผู้ให้บริการบุคคลที่สามที่เชื่อถือได้ คำแนะนำบางส่วนสำหรับการอ้างอิงของคุณมีดังนี้:
HackerOne.com
HackerOne เป็นบริษัทในซานฟรานซิสโกที่ให้บริการการทดสอบการเจาะระบบ การประเมินช่องโหว่ และการทดสอบการปฏิบัติตามโปรโตคอล
ScienceSoft.com
ScienceSoft ตั้งอยู่ในเท็กซัส ให้บริการการประเมินช่องโหว่ การทดสอบปากกา การปฏิบัติตามข้อกำหนด และการทดสอบโครงสร้างพื้นฐาน
Raxis.com
Raxis มีสำนักงานใหญ่ในแอตแลนตา รัฐจอร์เจีย ให้บริการที่มีคุณค่าตั้งแต่การทดสอบปากกาและการตรวจสอบรหัสความปลอดภัย ไปจนถึงการฝึกอบรมการตอบสนองต่อเหตุการณ์ การประเมินช่องโหว่ และ การฝึกอบรมการป้องกันการโจมตี ทางวิศวกรรมสังคม