PENnmapburpweb appAPIinfraauthorized probeswritten scope

การทดสอบการเจาะ

12 นาทีอ่านความปลอดภัย

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

เนื้อหาบทความฉบับเต็มมีให้เป็นภาษาอังกฤษด้านล่าง

Penetration การทดสอบ เป็นแนวทางปฏิบัติที่ได้รับอนุญาตในการพยายามโจมตีระบบขององค์กรเพื่อระบุจุดอ่อนด้านความปลอดภัย ผู้ทดสอบปากกาดำเนินการภายใต้ข้อตกลงเป็นลายลักษณ์อักษรซึ่งกำหนดขอบเขตสิ่งที่ได้รับอนุญาต สิ่งใดที่ไม่ได้รับอนุญาต และประเภทของการรายงานที่ตามมา การทดสอบโดยไม่ได้รับอนุญาต — แม้ว่าจะมีเจตนาดี — ถือเป็นกิจกรรมทางอาญาในรูปแบบการฉ้อโกงทางคอมพิวเตอร์ในเขตอำนาจศาลส่วนใหญ่

ขั้นตอนของการทดสอบปากกา

  1. Scoping. กำหนดสิ่งที่อยู่ในขอบเขต (เครือข่ายเฉพาะ แอปพลิเคชัน กรอบเวลา) สิ่งที่ไม่ (ระบบที่มีความสำคัญต่อการผลิต ข้อมูลของบุคคลที่สาม) เทคนิคใดบ้างที่ได้รับอนุญาต (วิศวกรรมสังคม ใช่/ไม่ใช่ DoS ใช่/ไม่ใช่) บันทึกไว้เป็นลายลักษณ์อักษร
  2. Reconnaissance. การรวบรวมข้อมูล OSINT, การแมปเครือข่าย, การสแกนพอร์ต, การระบุบริการ
  3. การระบุช่องโหว่ การสแกนหาช่องโหว่ที่ทราบ, การตรวจสอบตรรกะของแอปพลิเคชันที่กำหนดเอง, การระบุการกำหนดค่าที่ไม่ถูกต้อง
  4. Exploitation. พยายามที่จะแสดงให้เห็นว่าช่องโหว่สามารถถูกเอาเปรียบได้ ไม่ใช่แค่ "สิ่งนี้อาจไม่ดี" แต่ "นี่คือสิ่งที่ผู้โจมตีจะทำ"
  5. Post-exploitation. เมื่อได้รับการเข้าถึงครั้งแรกแล้ว ให้สำรวจสิ่งที่ผู้โจมตีสามารถทำได้ เช่น การเคลื่อนไหวด้านข้าง การเข้าถึงข้อมูล การเพิ่มระดับสิทธิ์ หยุดลงเมื่อตรงตามวัตถุประสงค์ของการทดสอบ
  6. Reporting. การค้นพบโดยละเอียดพร้อมขั้นตอนการทำซ้ำ การจัดอันดับความรุนแรง คำแนะนำในการแก้ไข
  7. Re-test. การตรวจสอบที่แก้ไขงาน หลังจากที่องค์กรมีเวลาจัดการกับสิ่งที่ค้นพบ

Common ประเภทการทดสอบ

  • การทดสอบการเจาะระบบภายนอก โจมตีองค์กรจากอินเทอร์เน็ตสาธารณะ คนนอกสามารถเห็น สแกน และใช้ประโยชน์อะไรได้บ้าง?
  • การทดสอบการเจาะระบบภายใน สมมติการเริ่มต้น (แล็ปท็อปของพนักงานที่ถูกบุกรุก, คนวงในที่ประสงค์ร้าย) ผู้โจมตีสามารถเข้าถึงอะไรจากที่นั่นได้?
  • การทดสอบแอปพลิเคชันบนเว็บ มุ่งเน้นไปที่แอปเฉพาะ — การแทรก SQL, XSS, ข้อบกพร่องด้านตรรกะทางธุรกิจ, จุดอ่อนในการตรวจสอบความถูกต้อง
  • การทดสอบแอปพลิเคชันบนมือถือ APK/IPA แบบวิศวกรรมย้อนกลับ, การจัดการรันไทม์, API การแสวงหาประโยชน์
  • API การทดสอบการเจาะ มุ่งเน้นไปที่เลเยอร์ API — ข้อบกพร่องในการอนุญาต การเปิดเผยข้อมูล การเลี่ยงขีดจำกัดอัตรา
  • การประเมินการกำหนดค่า Cloud การกำหนดค่าที่ไม่ถูกต้องเฉพาะของ AWS/Azure/GCP — บัคเก็ต S3 ที่เปิดเผย, IAM ที่อนุญาตมากเกินไป, สาธารณะ Lambda.
  • การประเมินไร้สาย การทดสอบความปลอดภัย Wi-Fi
  • การทดสอบการเจาะระบบทางกายภาพ พยายามที่จะเข้าถึงทางกายภาพ - การปิดท้าย การล็อค วิศวกรรมสังคมที่แผนกต้อนรับ
  • การประเมินวิศวกรรมสังคม แคมเปญฟิชชิ่ง พยายามชักจูงพนักงาน

กล่องดำ vs กล่องสีเทา และกล่องสีขาว

  • กล่องดำ ผู้ทดสอบรู้เพียงว่าผู้โจมตีจากภายนอกจะทำอะไร สมจริงแต่ช้า
  • กล่องสีเทา มีข้อมูลที่จำกัด (ข้อมูลประจำตัวบัญชี แผนภาพเครือข่าย) พบบ่อยที่สุดในทางปฏิบัติ
  • White box. การเข้าถึงแบบเต็ม รวมถึงซอร์สโค้ด เอกสารประกอบสถาปัตยกรรม ข้อมูลประจำตัวของผู้ดูแลระบบ ละเอียดที่สุด; พบปัญหาเกี่ยวกับเครื่องมืออัตโนมัติและการทดสอบภายนอกอาจพลาด

เฟรมเวิร์กวิธีการ

  • OWASP คู่มือการทดสอบความปลอดภัยบนเว็บ เฟรมเวิร์กที่ครอบคลุมสำหรับการทดสอบแอปพลิเคชันเว็บ
  • NIST SP 800-115. คู่มือทางเทคนิคของรัฐบาลสหรัฐฯ สำหรับการทดสอบความปลอดภัย
  • OSSTMM. คู่มือวิธีการทดสอบความปลอดภัยแบบโอเพนซอร์ส
  • PTES. Penetration Testing Execution Standard.
  • MITRE ATT&CK. ไม่ใช่วิธีการต่อกัน แต่เป็น กรอบกลยุทธ์เทคนิคขั้นตอนที่ใช้อย่างมากในการปฏิบัติการของทีมสีแดง

เครื่องมือของการค้า

  • การลาดตระเวน: nmap, Masscan, Shodan, theHarvester, Recon-ng
  • การทดสอบเว็บ: Burp Suite (มาตรฐานอุตสาหกรรม), OWASP ZAP, sqlmap
  • เฟรมเวิร์กการสำรวจ: Metasploit, Cobalt Strike (มาตรฐานทีมสีแดง), Empire, Sliver
  • Wireless: Aircrack-ng, Wifite, hcxdumptool
  • การโจมตีด้วยรหัสผ่าน: Hashcat, John the Ripper
  • ระบบปฏิบัติการ: Kali Linux คือ การกระจายมาตรฐานรวมเครื่องมือมากมาย

Pen การทดสอบกับการสแกนช่องโหว่

มักจะสับสน; แตกต่างที่สำคัญ:

  • Vulnerability scan — เครื่องมืออัตโนมัติที่แสดงรายการปัญหาที่ทราบ ราคาถูก รวดเร็ว สามารถวิ่งรายสัปดาห์ได้ พลาดข้อบกพร่องด้านตรรกะทางธุรกิจ ช่องโหว่ที่เชื่อมโยงกัน เวกเตอร์ทางวิศวกรรมสังคม
  • Penetration test — ผู้ทดสอบโดยมนุษย์พร้อมวิธีการที่สร้างสรรค์ มีราคาแพง ใช้เวลานาน พบปัญหาที่สแกนเนอร์พลาด โดยทั่วไปจะเป็นรายปีหรือรายครึ่งปี

โปรแกรมรักษาความปลอดภัยสำหรับผู้ใหญ่จะใช้ทั้งสองอย่าง — การสแกนอัตโนมัติเพื่อความครอบคลุมอย่างต่อเนื่อง การทดสอบปากกาเป็นระยะเพื่อความลึก

Certifications

  • OSCP (Offensive Security Certified Professional) — เป็นมาตรฐานที่ใช้งานได้จริง การทดสอบแบบลงมือปฏิบัติจริงตลอด 24 ชั่วโมงกับห้องปฏิบัติการที่มีช่องโหว่
  • OSCE3 — เว็บแอปขั้นสูง, การใช้ประโยชน์จาก Dev, การรับรองไร้สายจาก Offensive Security
  • GPEN, GWAPT, GXPN — การรับรอง SANS GIAC
  • CEH (Certified Ethical Hacker) — ข้อมูลรับรองระดับเริ่มต้น มีทฤษฎีมากกว่า OSCP.
  • PNPT (Practical Network Penetration Tester) — การทดสอบภาคปฏิบัติของ TCM Security

OSCP เป็นข้อมูลประจำตัวที่ต้องการมากที่สุดโดยการทดสอบปากกาที่มีชื่อเสียง บริษัท

การทดสอบเลเยอร์ทางกฎหมายและจริยธรรม

Pen โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษรถือเป็นอาชญากรรมในเขตอำนาจศาลส่วนใหญ่ — US CFAA, UK Computer Misuse Act, กฎหมายที่คล้ายกันในที่อื่น แม้จะได้รับอนุญาตก็ตาม การคืบคลานของขอบเขตอาจทำให้เกิดปัญหาทางกฎหมายได้ การอนุญาตเป็นลายลักษณ์อักษร (บางครั้งเรียกว่า "จดหมายปลอดจากคุก") คือการคุ้มครองทางกฎหมายของผู้ทดสอบ

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

สิ่งที่องค์กรควรคาดหวังการทดสอบปากกา

A โดยทั่วไปรายงานจะประกอบด้วย:

  • บทสรุปผู้บริหารสำหรับความเป็นผู้นำที่ไม่ใช่ด้านเทคนิค
  • ผลการวิจัยที่มีการจัดอันดับความรุนแรงด้วยคะแนน CVSS
  • ขั้นตอนการทำซ้ำโดยละเอียดสำหรับการค้นพบแต่ละรายการ
  • ภาพหน้าจอและหลักฐานการพิสูจน์แนวคิด
  • การแก้ไขเฉพาะ คำแนะนำ
  • ข้อสังเกตโดยรวมเกี่ยวกับมาตรการรักษาความปลอดภัย

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

คำถามที่พบบ่อย

เราควรทดสอบปากกาบ่อยแค่ไหน?
จังหวะทั่วไป: ทุกปีสำหรับท่าทางทั่วไป หลังจากการเปลี่ยนแปลงครั้งใหญ่ (แอปพลิเคชันใหม่ ยกเครื่องสถาปัตยกรรม) และตามที่กำหนดโดยการปฏิบัติตามข้อกำหนด (PCI-DSS กำหนดให้ต้องมีการทดสอบปากกาประจำปีสำหรับสภาพแวดล้อมของผู้ถือบัตร)
การทดสอบปากกากับทีมสีแดง — อะไรคือความแตกต่าง?
การทดสอบปากกามีขอบเขตเพื่อค้นหาช่องโหว่ให้ได้มากที่สุดในเป้าหมายที่กำหนดไว้ การมีส่วนร่วมของทีมสีแดงจำลองการโจมตีในโลกแห่งความเป็นจริงที่เฉพาะเจาะจงตั้งแต่ต้นทางถึงปลายทาง (การเข้าถึงครั้งแรก การเคลื่อนไหวด้านข้าง การกรอง) เพื่อทดสอบความสามารถในการตรวจจับและการตอบสนอง ทีมสีแดงกว้างกว่า ยาวกว่า และมักจะซ่อนตัวมากกว่า ดูบทความทีม <a href="/learning/red-team-blue-team">red ของเรา </a>
บริษัทเล็กๆ คุ้มค่ากับการทดสอบปากกาหรือไม่?
ขึ้นอยู่กับว่ามีอะไรเป็นเดิมพัน SMB ในการจัดการข้อมูลลูกค้า การรับชำระเงิน หรือการดำเนินงานในอุตสาหกรรมที่ได้รับการควบคุมจะได้รับประโยชน์ ไซต์เครื่องโบรชัวร์ที่ไม่มีข้อมูลผู้ใช้จะได้รับประโยชน์น้อยลง ค่าใช้จ่ายมีตั้งแต่ไม่กี่พันสำหรับขอบเขตแคบไปจนถึงหลักหมื่นสำหรับครอบคลุม
การทดสอบปากกาสามารถค้นหาช่องโหว่ทุกประการได้หรือไม่
ไม่ พวกเขาค้นหาสิ่งที่ค้นพบได้ในเวลาที่มนุษย์จัดสรรไว้ด้วยเครื่องมือที่พวกเขาใช้ การทดสอบแบบจำกัดเวลาพลาดสิ่งต่างๆ การทดสอบที่ละเอียดเพียงพอนั้นแพงเกินกว่าจะรันบ่อยครั้ง ผสมผสานกับการสแกนอย่างต่อเนื่องและค่าหัวบั๊กสำหรับการครอบคลุมแบบเลเยอร์
ผู้ทดสอบปากกาจำเป็นต้องทำลายสิ่งของหรือไม่?
บางครั้ง. การแสดงผลกระทบมักต้องมีการแสวงหาประโยชน์อย่างแท้จริง ผู้ทดสอบที่มีชื่อเสียงจะสื่อสารก่อนดำเนินการทำลายล้าง ใช้การจัดเตรียมเมื่อเป็นไปได้ และบันทึกทุกอย่าง เอกสารขอบเขตควรระบุขีดจำกัดการดำเนินการทำลายล้างไว้ล่วงหน้า
อธิบายการทดสอบการเจาะ: สิ่งที่ผู้ทดสอบปากกาทำได้จริง