มาเล่าหลังไปเรียน MUICT-depa Penetration Testing รุ่น 2

สำหรับ Course นี้เป็น 2 วัน โดยจัดในรูปแบบ online ผ่าน WebEx Meeting (รู้สึกว่าดีขึ้นอย่างเห็นได้ชัด เมื่อก่อนโคตรกระตุก) โดยการสอนมีทั้ง Lecture + Lab เล็กๆ ครับ จดมาตามนี้ครับ

Lecture Note

  • CIA และจุดไหนที่เราควรป้องกัน อันนี้เจอใน Chat น่าสนใจ CIA is dead, long live CIANAPS (ลองหาดูจะเป็น Confidentiality / Integrity / Availability / Non-repudiation / Authentication / Privacy เหลือตัวสุดท้าย)
  • Security Team - Red (Attack) / Blue (Defense)
  • Vulnerabilities Assessment vs Penetration Testing
    • VA เน้นหา Risk based on CVE or type of attack โดยใช้ Tools มาช่วย ซึ่งทำได้ถี่มากขึ้น แต่มีโอกาศเกิด false positives ได้
    • PT เน้นทำตาม Goal ที่กำหนด โดยมี VA มาเป็นส่วนหนึ่ง และมีการลองทำ Exploitation จริง + Step การทดสอบ โดยทำจากคนในองค์กร รู้ไส้ใน หรือใช้ คนนอก เพื่อแก้ปัญหา Conflict of Interest ก็ได้
- Penetration Framework
  • มีหลายค่ายอย่าง OWASP / NIST / PCI DSS / PTES
  • โดยใน PTES มี ดังนี้
    • Pre-engagement Interactions - สัมภาษณ์ + กำหนด Scope และ Planning
    • Intelligence Gathering
    • Threat Modeling >> มี Blog ที่ไปฟังมาเหมือนกันลองตามได้ [OWASP] สรุป Secure Design: Threat Modelling
    • Vulnerability Analysis
    • Exploitation
    • Post Exploitation - ขยายผล Hacker สร้างมูลค่ามากขึ้น / Pen Tester ดูผลกระทบที่อาจจะเกิดขึ้นได้
    • Reporting - Executive Summary / สรุป Finding ที่ได้มา ระดับความรุนแรง และบอก Step + Remediation (การป้องกัน ลดความเสี่ยงอย่างน้อย 1 วิธี)
    • NOTE: กลุ่มตัวหนา มีอธิบายเพิ่มใน Course
  • อันนี้ดีย์
- Information Gathering (PTES-Intelligence Gathering)
  • OSINT Framework - Organization Footprint (จัดหมวด Keyword ต่างๆ รวมเป็น Category สนใจเรื่องๆไหน และควรจะดูอะไรต่อไป
  • โดย Information Gathering มี 2 แบบ
    • Passive - หาข้อมูลทั่วไปขององค์กร เช่น มีกี่ Domain เป็นต้น หรือจะลองใช้ Search Engine ดูมาหา Organization Footprint เพิ่ม เช่น Shodan.io หรือ Google (แบบ Advance) ว่ามีอะไรออกไปโลก Internet แล้วบ้าง
    • Active - เข้าไปหาตรงๆ เพื่อให้ได้ข้อมูล เช่น Host / Service / Fingerprint โดยใช้ Tools เช่น whois / nslookup / nmap เป็นต้น จากนั้นเอาข้อมูลที่ได้ไปหา เช่น จาก Fingerprint ของ Application / OS มี CVE อะไรที่เกี่ยวข้องบ้าง
- Vulnerability Analysis
  • Vulnerability = ช่องโหว่ ของ App / System / Network
  • Step
    1. Catalog assets & resources in a system << น่าจะมีมาตั้งแต่ Information Gathering
    2. ตรวจสอบ Policy / Standard ว่าต้องทำขนาดไหน มีความถี่เท่าไหร่
    3. Vulnerability Assessment - ตรวจสอบ Vulnerability ทั่วไป ที่ดูจาก Database CVE / NIST โดยใช้ Tool มาช่วย อย่าง nmap / Nikto / OpenVAS / Nessus เพื่อ
      • identify potential vulnerabilities / potential threats ที่พบอาจจะใช้งานจริงไม่ได้ และ not to compromise a system
      • หรือ เอามายืนยันว่าที่ทำ Hardening ครบถ้วนตาม Guideline แล้ว
    4. หลังจากพบ Vulnerability เอามากำหนดความเสี่ยง ให้คะแนนจาก CVSS และแนวทางป้องกัน
- Exploitation
  • Application - Memory buffer overflow
  • Web Application - ที่ได้ลองใน Lab SQL injection / Cross site scripting (XSS) เบื่องต้นไป ถ้าจะป้องกันต้องมาดู
Ref: OWASP updates top 10 list with decades old security risk in #1 spot | TechRepublic
  • Network Vulnerabilities
    • จับข้อมูลจาก Packet มาทำ Analysis
    • Network Sniffing
      • Active เข้าไปตรงๆ เช่น Spoofing / Wormhole / Modification / Denial of Services (DoS) / Replay Attack
      • Passive อ่านทุก Package ไม่ต้องสนใจว่าส่งหาตัวเองตาม mac address / broadcast หรือไม่ แต่ต้องไปปรับ Mode ของ NIC เป็น promiscuous mode
    • พวก Wireless จะมีท่ายากเพิ่ม เพราะมี Channel ของความถี่วิทยุเข้ามา รวมถึงมาดูว่า Wi-Fi Authentication WEP / WPS / WPA / WPA2 มีปัญหาอะไร ที่ทำให้ Hacker ไปทำให้เกิดกระบวนการ De-authentication และต่อไป Evil Twin
    • ลอง Attack อันนี้ อจ จะ Demo ARP Spoofing
  • Host Vulnerabilities
    • จาก Network มาดูเก็บข้อมูลจาก Service ที่ Run เปิด Port ไว้ และลองหา Exploit ที่มีเพื่อมา Hack เข้าเป้าหมาย จาก metasploit ซึ่งถ้าทำสำเร็จใช้ meterpreter ทำ Post Exploitation ต่อไป
    • หรือ ถ้าไม่มี Exploit ใช้ Tool SETOOLKIT สร้าง Payload สำหรับทำ Social Engineering และให้เป้าหมายเปิดช่องมาเอง
  • System Hacking - ใน Course จะสอนในส่วนของ Cracking credentials Windows / Linux เรื่อง Password ผมว่าถ้าพูดยาวๆน่าจะได้หลายวันนะ
- Post Exploitation
  • ขยายผล เพื่อ Local privilege escalation / Local information gathering / Lateral movement / Pivoting / Persistence / Covering your tracks (ทำลายหลักฐาน)
  • โดยมี Tools metasploit framework ใน Kali Linux

Tools ที่ใช้

  • Kali Linux - Linux ที่รวม Tools สำหรับด้าน Security เลยมั้ง อาทิ เช่น nmap / wireshark / Burp Suite และตัวที่เจ๋งมาอย่าง metasploit framework เป็น Tool ที่ให้ค้นหา Explolit > Use > Attack > และ ทำ post-Exploitation
    เหมือนมี Virtual Lab ให้ลองด้วยนะ APNIC Academy / Hands-on Virtual Labs (เห็น อจ ลองให้คนที่ติดไปใช้ตัวนี้แทน)
  • metasploitable - เหยื่อให้ทดสอบ เป็น Windows Server ที่ใช้ตอน Lab กับ metasploit framework เพื่อหาทางเข้า และ privilege escalation
  • Web Dojo - ลองใช้คู่กับ Burp Suite Community Edition ใน Kali มาลองเล่น

สำหรับการเตรียม Lab

  • ทาง Course ลง Virtual Box และ VM Kali Linux / metasploitable 3 (Windows Server 2008) / Web Dojo สำหรับผมมี Set ที่คอมตัวเองด้วย แต่ก็กลัวว่าจะกระตุก เพราะไม่รู้ว่า WebEx แดก Resource แบบ Zoom ไหม
  • เลยมี Idea Setup Lab บน Azure VM อีกอันครับ โดยต้องเอา VM แบบ XXXV3 และเลือก OS Windows 10 และลง Virtual Box ในนั้นครับ ถ้าใครอยากลองดูจาก
  • เท่าที่ลองมาบน Azure VM ตัว VM metasploitable 3 จะตายบ่อยมาก 5555 แต่ก็ใช้งาน Lab ได้

สรุป

  • เรียน Course นี้ได้เติมเต็มมากๆ เพราะพวก Tool อย่าง OpenVAS คือ แบบว่าทำตาม Blog How to เพราะลูกค้าให้ทำ VA ให้ด้วย เพราะ TOR มีเขียน แต่ก็เขียนไปแบบงงๆ
  • รวมถึงที่ได้ไปฟัง มีลองทำ Lab ด้วยตัวเองสักทีแบบ 101 หลังจากฟังๆดูๆคนอื่นทำมา ลองเห็น Pattern การโจมตี ซึ่งน่าจะช่วยในแง่ของ Design / Develop ต้องไปปรับบางอย่างให้มันสอดคล้องด้วยครับ
  • TA ช่วยเหลือดีครับ มีเมาส์หลังไมค์ด้วย 555
  • ปล มีน้องมาแนะนำตัว https://dropctf.live/ เดี๋ยวคงต้องหาเวลาว่างๆไปลองศึกษาด้วย
    Update 2022-09-17 มีอีกแหล่งแนะนำ secplayground.com มีส่วนให้ลองเล่นฟรีก่อนด้วย

Reference


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.