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 )