แนะนํา 10 เครื่องมือ Open Source สําหรับทดสอบความปลอดภัยเว็บไซต์
16 พฤศจิกายน 2023
สำหรับองค์กรที่ใช้งาน Web Application ไม่ว่าจะเป็นพัฒนาขึ้นมาเอง หรือว่าจัดซื้อมาใช้งาน ความปลอดภัยจากการโดนโจมตีถือเป็นสิ่งที่ต้องคำนึงถึง ไม่ว่าการโจมตีมาจากความเสี่ยงที่เกิดจากช่องโหว่ของแอปพลิเคชันเอง หรือว่า ช่องโหว่จาก Library ที่แอปพลิเคชันนั้นเรียกใช้ การมีเครื่องมือที่ใช้สำหรับสแกนช่องโหว่ จึงช่วยสร้างความมั่นใจให้กับนักพัฒนา หรือ เจ้าหน้าที่ที่ดูแลรับผิดชอบในการดูแลระบบได้เป็นอย่างดี บทความนี้จึงได้รวบรวม 10 เครื่องมือ Open Source Security Testing สำหรับตรวจสอบช่องโหว่ Web Applications เพื่อเป็นประโยชน์ให้แก่ผู้ที่สนใจและกำลังมองหาวิธีในการเช็คความปลอดภัย ไม่ว่าจะเป็นตอนตรวจรับแอปพลิเคชัน หรือว่าจะใช้เพื่อทดสอบกับระบบที่พัฒนาขึ้นมาเอง รวมไปถึงผู้ที่สนใจ Open Source Penetration Testing Tool สำหรับเจาะช่องโหว่ที่ไม่ได้เป็นเครื่องมือสำหรับ Black Hat Hacker เพียงอย่างเดียว แต่ยังช่วยให้ White Hat Hacker สามารถทดลองเจาะระบบเพื่อตรวจสอบและป้องกันช่องโหว่ได้อีกด้วย
1. Zed Attack Proxy (ZAP)
OWASP Zed Attack Proxy (ZAP) เป็นเครื่องมือสำหรับสแกนและตรวจสอบช่องโหว่ของเว็บแอปพลิเคชันพัฒนาจาก OWASP (The Open Web Application Security Project) ซึ่งเป็นมูลนิธิไม่แสวงหาผลกำไรที่ทำงานเพื่อปรับปรุงความปลอดภัยของ Web Application ชื่อดังเจ้าของ OWASP Top Ten โดย ZAP เป็น Tool แบบ Open source สำหรับทำ Penetration test เพื่อค้นหาช่องโหว่บนเว็บแอปพลิเคชันตาม OWASP Top Ten พัฒนาโดยภาษา Java ส่งผลให้สามารถทำงานได้บนทุกระบบปฏิบัติการไม่เว้นแม้บน Raspberry Pi ใช้งานง่าย และ ZAP ยังสามารถใช้เป็น Proxy สำหรับการทดสอบหน้าเว็บด้วยตนเอง ช่องโหว่ที่ Zed Attack Proxy (ZAP) สามารถตรวจสอบได้เช่น:
- Cookie not HttpOnly flag
- Missing anti-CSRF tokens and security headers
- Private IP disclosure
- Session ID in URL rewrite
- SQL injection
- XSS injection
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- Automatic scanning
- Multi-platform
- Rest-based API
- Support for authentication
- Uses traditional and powerful AJAX spiders
ZAP จึงเหมาะสำหรับนักพัฒนาเว็บแอปพลิเคชันผู้ดูแลระบบ และนักเจาะระบบ ที่ต้องการตรวจสอบและค้นหาช่องโหว่บนเว็บแอปพลิเคชัน โดยเข้าไปดูรายละเอียดเพิ่มเติมได้ที่: https://www.zaproxy.org/
Link สำหรับ Download : www.zaproxy.org/download
2. Wfuzz
Wfuzz: The Web fuzzer¶เป็นแอปพลิเคชันที่พัฒนาโดยภาษา Python โดยเป็นเครื่องมือที่ใช้สำหรับการประเมินความปลอดภัยของเว็บแอปพลิเคชันโดยอัตโนมัติและสามารถช่วยรักษาความปลอดภัยเว็บแอปพลิเคชันโดยการค้นหาและใช้ประโยชน์จากช่องโหว่ของเว็บแอปพลิเคชัน ทำงานแบบไม่ผ่าน GUI interface และใช้งานได้ผ่าน Command Line เท่านั้น โดยช่องโหว่ที่ Wfuzz สามารถตรวจสอบได้เช่น:
- LDAP injection
- SQL injection
- XSS injection
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- Authentication support
- Cookies fuzzing
- Multi-threading
- Multiple injection points
- Support for proxy and SOCK
เครื่องมือนี้ จึงเหมาะสำหรับนักพัฒนาเว็บแอปพลิเคชันและนักเจาะระบบที่ต้องการตรวจสอบ และค้นหาช่องโหว่บนเว็บแอปพลิเคชันสามารถเข้าชมได้ที่: https://wfuzz.readthedocs.io/en/latest/
3. Wapiti
Wapiti เป็นอีกหนึ่งเครื่องมือที่สแกนเว็บแอปพลิเคชันแบบ Open Source พัฒนาด้วย Python ใช้ตรวจสอบช่องโหว่ด้านความปลอดภัยของเว็บแอปพลิเคชันโดยไม่ต้องการข้อมูลเชิงลึก (Black-box) ไม่ต้องเรียนรู้จากซอร์สโค้ด โดยจะค้นหาช่องโหว่จากเว็บแอปเพื่อหาสคิร์ปต์และฟอร์มที่น่าจะ inject ข้อมูลได้ ทำงานเสมือน Fuzzer ตัวหนึ่งใส่ Payload ต่าง ๆ เข้าไปว่าจะทำงานยังไง และใช้โจมตี HTTP ได้ทั้ง GET และ POST โดยช่องโหว่ที่ Wapiti สามารถตรวจสอบได้เช่น:
- Command Execution detection
- CRLF injection
- Database injection
- File disclosure
- Shellshock or Bash bug
- SSRF (Server Side Request Forgery)
- Weak .htaccess configurations that can be bypassed
- XSS injection
- XXE injection
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- ใช้การ Authentication ที่แตกต่างกัน รวมถึง Kerberos และ NTLM
- สามารถใช้ Brute Force directory และ ไฟล์ใน Web Server เป้าหมายได้
- ทำงานคล้าย fuzzer
- รองรับการโจมตีทั้งในรูปแบบ GET และ POST
ผู้ที่สนใจสามารถศึกษาเรียนรู้ข้อมูลเพิ่มเติมได้ที่: https://wapiti-scanner.github.io/
4. W3af
W3af เป็นตัวสแกนและเจาะช่องโหว่เว็บแอปพลิเคชันแบบ Open Source ซึ่งจะให้ข้อมูลเกี่ยวกับช่องโหว่ที่ตรวจพบและวิธีการอุดช่องโหว่เบื้องต้นได้ โดยโปรแกรมนี้ถูกพัฒนาโดยใช้ภาษา Python และใช้งานได้ผ่านทั้ง GUI และ Command Line โดยช่องโหว่ที่ W3af สามารถตรวจสอบได้เช่น:
- Blind SQL injection
- Buffer overflow
- Cross-site scripting
- CSRF
- Insecure DAV configurations
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- Authentication support
- Easy to get started with
- Offers intuitive GUI interface
- Output can be logged into a console, a file or email
ผู้ที่สนใจสามารถศึกษาเรียนรู้ข้อมูลเพิ่มเติมได้ที่: http://w3af.org/
5. SQLMap
SQLMap เป็นหนึ่งในตัวสแกนและเจาะช่องโหว่เว็บแอปพลิเคชันแบบ Open Source ที่ได้รับความนิยมตัวหนึ่งที่ใช้ในการวิเคราะห์ช่องโหว่ SQL Injection รวมถึงสามารถโจมตีได้ถ้าเกิดเว็บที่ทำการทดสอบนั้นมีช่องโหว่ และยังมีฟีเจอร์มากมายให้เลือกใช้ รวมถึงสามารถแก้ไขหรือเพิ่ม payload ในกรณีที่เจอเคสที่ซับซ้อนที่ SQLMap ไม่สามารถโจมตีหรือวิเคราะห์ช่องโหว่ได้โดย default และยังถูกนำมาใช้ในทดสอบระบบความปลอดภัยของเว็บไซต์ โดยช่องโหว่ที่ SQLMap สามารถตรวจสอบได้เช่น:
- Boolean-based blind
- Error-based
- Out-of-band
- Stacked queries
- Time-based blind
- UNION query
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- Automates the process of finding SQL injection vulnerabilities
- Can also be used for security testing a website
- Robust detection engine
- Supports a range of databases, including MySQL, Oracle, and PostgreSQL
ผู้ที่สนใจสามารถศึกษาเรียนรู้ข้อมูลเพิ่มเติมได้ที่: https://github.com/sqlmapproject/sqlmap
6. SonarQube
SonarQube เป็นแอปพลิเคชันที่พัฒนาโดย Java ใช้สำหรับการตรวจสอบ Code เช่น bug , ช่องโหว่ และคุณภาพของ Code อีกทั้งยังสามารถทำเป็นศูนย์กลางในการเก็บผลในการตรวจสอบจากเครื่องต่าง ๆ ได้ ซึ่งสามารถติดตั้งได้ในหลาย OS ไม่ว่าจะเป็น Windows, Linux หรือ MacOS ก็ตาม SonarQube สามารถใช้ในการวิเคราะห์ภาษาที่ใช้ในการพัฒนาได้มากถึง 20 ภาษา โดยช่องโหว่ที่ SonarQube สามารถตรวจสอบได้เช่น :
- Cross-site scripting
- Denial of Service (DoS) attacks
- HTTP response splitting
- Memory corruption
- SQL injection
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- Detects tricky issues
- DevOps integration
- Set up analysis of pull requests
- Supports quality tracking of both short-lived and long-lived code branches
- Offers Quality Gate
- Visualize history of a project
ผู้ที่สนใจสามารถศึกษาเรียนรู้ข้อมูลเพิ่มเติมได้ที่: https://www.sonarsource.com/products/sonarqube/
7. Nogotofail
Nogotofail คือ Network Traffic Security Testing Tool จาก Google ออกแบบมาเพื่อช่วยให้นักพัฒนาและนักวิจัยด้านความปลอดภัยตรวจสอบและแก้ไขการเชื่อมต่อ TLS/SSL ที่อ่อนแอ โดยช่องโหว่ที่ Nogotofail สามารถตรวจสอบได้เช่น:
- MiTM attacks
- SSL certificate verification issues
- SSL injection
- TLS injection
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- ใช้งานง่าย
- ไม่หนักเครื่อง (Lightweight)
- Deploy ง่าย
- สามารถตั้งให้เป็น router, proxy หรือ VPN server ได้
ผู้ที่สนใจสามารถศึกษาเรียนรู้ข้อมูลเพิ่มเติมได้ที่: https://github.com/google/nogotofail
8. IronWasp
IronWasp เป็นอีกหนึ่งเครื่องมือสแกน Open Source ที่มีประสิทธิภาพมากตัวนึง เพราะสามารถเปิดเผยช่องโหว่ของเว็บแอปพลิเคชันได้มากกว่า 25 ภาษา นอกจากนี้ยัง Iron Wasp สามารถ detect false ได้ทั้ง positive และ negative โดยช่องโหว่ที่ IronWasp สามารถตรวจสอบได้เช่น:
- Broken authentication
- Cross-site scripting
- CSRF
- Hidden parameters
- Privilege escalation
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- Extensible via plugins or modules are written in C#, Python, Ruby, or VB.NET
- GUI-based
- Report generation in HTML and RTF formats
ผู้ที่สนใจสามารถศึกษาเรียนรู้ข้อมูลเพิ่มเติมได้ที่: https://github.com/Lavakumar/IronWASP
9. Grabber
Grabber เป็นแอปพลิชันที่ใช้งานได้แบบไม่ต้องติดตั้ง เหมาะสำหรับ สแกนเว็บแอปพลิเคชันขนาดเล็ก รวมถึง Webboard และเว็บไซต์ส่วนตัว ถือเป็นเครื่องมือทดสอบความปลอดภัยที่สะดวกสบาย ทำงานแบบไม่มี GUI interface และเขียนด้วยภาษา Python และสนับสนุน JS code analysis โดยช่องโหว่ที่ Grabber สามารถตรวจสอบได้เช่น:
- Backup files verification
- Cross-site scripting
- File inclusion
- Simple AJAX verification
- SQL injection
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- Generates a stats analysis file
- Simple and portable
- Supports JS code analysis
ผู้ที่สนใจสามารถศึกษาเรียนรู้ข้อมูลเพิ่มเติมได้ที่: https://github.com/amoldp/Grabber-Security-and-Vulnerability-Analysis-
10. Arachni
Arachni เป็น Ruby framework ที่ช่วยในการทดสอบความปลอดภัยของเว็บแอปพลิเคชันสมัยใหม่ ใช้งานได้ฟรี รองรับทั้งระบบปฏิบัติการ Windows, MacOS X, และ Linux ช่องโหว่ที่ Arachni สามารถตรวจสอบได้เช่น:
- XSS injection
- SQL injection
- Code injection
- File inclusion variants
- Invalidated redirect
- Local and remote file inclusion
โดยมีคุณสมบัติเด่นเพิ่มเติม ดังนี้:
- Instantly deployable
- Modular, high-performance Ruby framework
- Multi-platform support
ผู้ที่สนใจสามารถศึกษาเรียนรู้ข้อมูลเพิ่มเติมได้ที่: https://ecsypno.com/pages/arachni-web-application-security-scanner-framework
จาก 10 เครื่องมือ Open Source สําหรับทดสอบความปลอดภัยเว็บไซต์ที่รวบรวมมาไว้ในบทความข้างต้นนี้คงเป็นประโยชน์ไม่มากก็น้อยให้กับผู้ที่กำลังเริ่มต้นศึกษาเกี่ยวกับการทดสอบระบบ และต้องการตรวจสอบค้นหาช่องโหว่บนเว็บ หรือผู้ที่สนใจทางด้านนี้ สามารถเรียนรู้และลงมือทำได้ด้วยตัวเองผ่านเครื่องมือนี้ได้
แต่ถ้าท่านไหนไม่สะดวกทดสอบระบบด้วยตัวเอง ทาง NT cyfence มีบริการ Vulnerability Assessment ช่วยตรวจสอบช่องโหว่ของระบบ ตั้งแต่ช่องโหว่ในกระบวนการทำงานของระบบ เซิร์ฟเวอร์ และเครือข่าย ไปจนถึงอุปกรณ์รักษาความปลอดภัย ทำให้คุณได้ทราบถึงช่องโหว่ภายในองค์กร และนำไปสู่การแก้ไขปรับปรุงได้อย่างถูกจุด อันเป็นการลดความเสี่ยงจากภัยคุกคามที่อาจเกิดขึ้น หากองค์กรหรือหน่วยงานที่มีทีมดูแลระบบอยู่แล้วแต่ยังอยากเพิ่มความปลอดภัยขั้นสูงสุด NT cyfence ยังมีบริการที่ช่วยดูแลและเฝ้าระวังระบบให้คุณแบบเรียลไทม์ด้วยบริการ Cybersecurity Monitoring ที่เป็นบริการที่เฝ้าระวังภัยคุกคามทางด้านไซเบอร์ และความปลอดภัยของระบบเทคโนโลยีสารสนเทศผ่านศูนย์ปฏิบัติการ Cybersecurity Operations Center (CSOC) โดยมีผู้เชี่ยวชาญที่มากประสบการณ์ (Security Analyst) ในการวิเคราะห์ภัยคุกคามทางด้านไซเบอร์ แจ้งเตือนเหตุการณ์ภัยคุกคาม รวมถึงแนวทางในการจัดการ การแก้ไขปัญหาเบื้องต้นให้กับคุณ
สำหรับผู้ที่สนใจบริการเพิ่มเติมบริการด้าน Cybersecurity สามารถติดต่อ NT cyfence ได้ทาง https://www.cyfence.com/contact-us/ หรือโทร 1888 เรามีทีมงานผู้เชี่ยวชาญพร้อมให้คำแนะนำ และเป็นที่ปรึกษาความปลอดภัยด้านสารสนเทศอย่างครบวงจร
ที่มา : blognone , techtalkthai ,hackr,
บทความที่เกี่ยวข้อง