Python Penetration Testing - บทนำ
การทดสอบปากกาหรือการทดสอบการเจาะอาจหมายถึงความพยายามในการประเมินความปลอดภัยของโครงสร้างพื้นฐานไอทีโดยจำลองการโจมตีทางไซเบอร์ต่อระบบคอมพิวเตอร์เพื่อใช้ประโยชน์จากช่องโหว่
อะไรคือความแตกต่างระหว่างการสแกนช่องโหว่และการทดสอบการเจาะ? การสแกนช่องโหว่เพียงแค่ระบุช่องโหว่ที่ระบุไว้และการทดสอบการเจาะตามที่บอกไว้ก่อนหน้านี้คือความพยายามที่จะใช้ประโยชน์จากช่องโหว่ การทดสอบการเจาะช่วยในการตรวจสอบว่าการเข้าถึงโดยไม่ได้รับอนุญาตหรือกิจกรรมที่เป็นอันตรายอื่น ๆ เป็นไปได้ในระบบหรือไม่
เราสามารถทำการทดสอบการเจาะสำหรับเซิร์ฟเวอร์เว็บแอปพลิเคชันเครือข่ายไร้สายอุปกรณ์เคลื่อนที่และจุดอื่น ๆ ที่อาจเกิดขึ้นได้โดยใช้เทคโนโลยีแบบแมนนวลหรืออัตโนมัติ เนื่องจากการทดสอบการเจาะหากเราใช้ประโยชน์จากช่องโหว่ใด ๆ สิ่งเดียวกันนี้จะต้องถูกส่งต่อไปยัง IT และผู้จัดการระบบเครือข่ายเพื่อให้ได้ข้อสรุปเชิงกลยุทธ์
ความสำคัญของการทดสอบการเจาะ (ปากกา)
ในส่วนนี้เราจะเรียนรู้เกี่ยวกับความสำคัญของการทดสอบการเจาะ พิจารณาประเด็นต่อไปนี้ที่ควรทราบเกี่ยวกับความสำคัญ -
ความปลอดภัยขององค์กร
ความสำคัญของการทดสอบการเจาะสามารถเข้าใจได้จากจุดที่ให้ความมั่นใจกับองค์กรด้วยการประเมินความปลอดภัยขององค์กรนั้นโดยละเอียด
การปกป้องความลับขององค์กร
ด้วยความช่วยเหลือของการทดสอบการเจาะเราสามารถตรวจจับภัยคุกคามที่อาจเกิดขึ้นก่อนที่จะเผชิญกับความเสียหายใด ๆ และปกป้องความลับขององค์กรนั้น ๆ
การดำเนินการตามนโยบายความปลอดภัย
การทดสอบการเจาะสามารถทำให้เรามั่นใจได้เกี่ยวกับการนำนโยบายความปลอดภัยไปใช้ในองค์กร
การจัดการประสิทธิภาพเครือข่าย
ด้วยความช่วยเหลือของการทดสอบการเจาะระบบสามารถจัดการประสิทธิภาพของเครือข่ายได้ สามารถตรวจสอบความปลอดภัยของอุปกรณ์เช่นไฟร์วอลล์เราเตอร์ ฯลฯ
มั่นใจในความปลอดภัยขององค์กร
สมมติว่าหากเราต้องการใช้การเปลี่ยนแปลงใด ๆ ในการออกแบบเครือข่ายหรืออัปเดตซอฟต์แวร์ฮาร์ดแวร์ ฯลฯ การทดสอบการเจาะจะช่วยให้มั่นใจได้ถึงความปลอดภัยขององค์กรจากช่องโหว่ทุกประเภท
ใครเป็นนักทดสอบปากกาที่ดี?
ผู้ทดสอบการรุกคือผู้เชี่ยวชาญด้านซอฟต์แวร์ที่ช่วยองค์กรเสริมสร้างการป้องกันจากการโจมตีทางไซเบอร์โดยการระบุช่องโหว่ ผู้ทดสอบการเจาะสามารถใช้เทคนิคด้วยตนเองหรือเครื่องมืออัตโนมัติในการทดสอบ
ให้เราพิจารณาคุณสมบัติที่สำคัญต่อไปนี้ของเครื่องทดสอบการเจาะที่ดี -
ความรู้เกี่ยวกับการพัฒนาระบบเครือข่ายและแอปพลิเคชัน
ผู้ดูแลที่ดีต้องมีความรู้ในการพัฒนาแอปพลิเคชันการดูแลระบบฐานข้อมูลและระบบเครือข่ายเนื่องจากคาดว่าจะต้องจัดการกับการตั้งค่าการกำหนดค่าและการเข้ารหัส
นักคิดที่โดดเด่น
เพนเทสเตอร์ต้องเป็นนักคิดที่โดดเด่นและไม่ลังเลที่จะใช้เครื่องมือและวิธีการต่างๆในงานที่ได้รับมอบหมายเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด
ความรู้เกี่ยวกับขั้นตอน
ผู้ดูแลที่ดีต้องมีความรู้ในการกำหนดขอบเขตสำหรับการทดสอบการเจาะแต่ละครั้งเช่นวัตถุประสงค์ข้อ จำกัด และเหตุผลของขั้นตอน
เทคโนโลยีที่ทันสมัย
ผู้ดูแลต้องมีความทันสมัยในทักษะทางเทคโนโลยีของตนเนื่องจากเทคโนโลยีสามารถเปลี่ยนแปลงได้ตลอดเวลา
มีทักษะในการทำรายงาน
หลังจากดำเนินการทดสอบการเจาะสำเร็จแล้วผู้ทดสอบปากกาจะต้องกล่าวถึงผลการวิจัยและความเสี่ยงที่อาจเกิดขึ้นทั้งหมดในรายงานฉบับสุดท้าย ดังนั้นเขา / เธอต้องมีทักษะในการทำรายงานที่ดี
หลงใหลในความปลอดภัยทางไซเบอร์
คนที่หลงใหลสามารถประสบความสำเร็จในชีวิตได้ ในทำนองเดียวกันถ้าคน ๆ หนึ่งหลงใหลในหลักทรัพย์ทางไซเบอร์เขา / เธอก็สามารถเป็นนักทดสอบปากกาที่ดีได้
ขอบเขตการทดสอบการเจาะ
ตอนนี้เราจะเรียนรู้เกี่ยวกับขอบเขตของการทดสอบการเจาะ การทดสอบสองประเภทต่อไปนี้สามารถกำหนดขอบเขตของการทดสอบการเจาะ -
การทดสอบแบบไม่ทำลาย (NDT)
การทดสอบแบบไม่ทำลายไม่ได้ทำให้ระบบตกอยู่ในความเสี่ยงใด ๆ NDT ใช้เพื่อค้นหาข้อบกพร่องก่อนที่จะกลายเป็นอันตรายโดยไม่ทำอันตรายต่อระบบวัตถุ ฯลฯ ในขณะที่ทำการทดสอบการเจาะ NDT จะดำเนินการดังต่อไปนี้ -
การสแกนระบบระยะไกล
การทดสอบนี้จะสแกนและระบุระบบระยะไกลเพื่อหาช่องโหว่ที่อาจเกิดขึ้น
การยืนยัน
หลังจากพบช่องโหว่แล้วยังทำการตรวจสอบทุกสิ่งที่พบ
การใช้ระบบระยะไกลอย่างเหมาะสม
ใน NDT เครื่องทดสอบปากกาจะใช้ระบบรีโมตอย่างเหมาะสม สิ่งนี้ช่วยในการหลีกเลี่ยงการหยุดชะงัก
Note - ในทางกลับกันในขณะที่ทำการทดสอบการเจาะ NDT จะไม่ทำงาน Denial-of-Service (DoS) attack.
การทดสอบการทำลายล้าง
การทดสอบแบบทำลายล้างอาจทำให้ระบบตกอยู่ในความเสี่ยง มีราคาแพงกว่าและต้องใช้ทักษะมากกว่าการทดสอบแบบไม่ทำลาย ในขณะที่ทำการทดสอบการเจาะการทดสอบการทำลายจะดำเนินการดังต่อไปนี้ -
Denial-of-Service (DoS) attack - การทดสอบทำลายล้างทำการโจมตี DoS
Buffer overflow attack - นอกจากนี้ยังทำการโจมตีบัฟเฟอร์ล้นซึ่งอาจนำไปสู่ความผิดพลาดของระบบ
สิ่งที่ต้องติดตั้งเพื่อฝึกฝนการทดสอบการเจาะ?
เทคนิคและเครื่องมือทดสอบการเจาะควรดำเนินการในสภาพแวดล้อมที่คุณเป็นเจ้าของหรือได้รับอนุญาตให้เรียกใช้เครื่องมือเหล่านี้เท่านั้นเราต้องไม่ฝึกฝนเทคนิคเหล่านี้ในสภาพแวดล้อมซึ่งเราไม่ได้รับอนุญาตให้ทำเช่นนั้นเนื่องจากการทดสอบการเจาะโดยไม่ได้รับอนุญาตถือเป็นสิ่งผิดกฎหมาย
เราสามารถฝึกฝนการทดสอบการเจาะโดยการติดตั้งชุดการจำลองเสมือน - อย่างใดอย่างหนึ่ง VMware Player( www.vmware.com/products/player ) หรือOracle VirtualBox -
www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
นอกจากนี้เรายังสามารถสร้าง Virtual Machines (VMs) จากเวอร์ชันปัจจุบันของ -
กาลีลินุกซ์ ( www.kali.org/downloads/ )
กรอบการทดสอบเว็บซามูไร (http://samurai.inguardians.com/)
Metasploitable ( www.offensivesecurity.com/metasploit-unleashed/Requirements )