สวัสดีผู้อ่านทุกท่านครับพบกันอีกแล้วใน Weekly Article บน Medium ของ Datafarm วันนี้ผู้เขียนจึงอยากจะนำเสนอแหล่งความรู้ทางด้าน Cyber Security บน Website ที่เราคุ้นเคยกันดีอย่าง GitHub นั่นเองครับ
Capture The Flag (CTF) and Cyber Security Resources Collection
หลายคนอาจจะยังไม่ทราบว่า GitHub นั้นมีการรวบรวม Repository ที่มีความเกี่ยวข้องกับการเล่น Capture The Flag (CTF) และ Cyber Security เอาไว้เป็น Collection เพื่อให้ผู้ที่ต้องการศึกษาหาความรู้ทางด้าน Capture The Flag (CTF) และ Cyber Security สามารถค้นหาข้อมูลได้สะดวกมากยิ่งขึ้น
ในวันนี้ผู้เขียนก็จะมาแนะนำ Repository ที่เหมาะสำหรับเริ่มค้นศึกษา Cyber Security จาก Capture The Flag (CTF) and Cyber Security Resources Collection ของ GitHub ครับ
PayloadsAllTheThings
ใน Repository นี้จะเป็นการรวบรวม Payload ที่ใช้ในการทดสอบความปลอดภัยของระบบ และ Payload ที่ใช้ในการทำ Bypass เช่น SQL Injection Payload, XSS Injection Payload, XXE Injection Payload และ File Inclusion Payload เป็นต้น ซึ่งเราสามารถนำ Payload เหล่านี้มาใช้งานร่วมกัน Tool อื่น ๆ เพื่อศึกษา และค้นหาช่องโหว่ได้ง่ายขึ้น
Awesome-Hacking-Resources
ใน Repository นี้จะเป็นการรวบรวมแหล่งศึกษาเรื่อง Cyber Security จากช่องทางต่าง ๆ เช่น YouTube Channel, Course เรียน Cyber Security, Website รวบรวมโจทย์ CTF รวมถึง Write-up, Website ที่มี Lab ให้ทดลองเล่น CTF, แหล่งข้อมูล และโจทย์ Reverse Engineering และ Exploit Development, โจทย์ และแหล่งข้อมูล Malware Analysis, และข้อมูลวิธีการทดสอบเจาะระบบ เป็นต้น
SecLists
ใน Repository นี้จะเป็นการรวบรวม Wordlist ที่ใช้ในการทำ Brute-Force เช่น usernames, passwords, file extension, path ต่าง ๆ ของ Website, Directory, API รวมถึง Fuzzing Payload ต่าง ๆ และภายใน Repository นี้ยังมี Web Shell และ Backdoor ต่าง ๆ ให้เลือกนำไปใช้งานได้อีกด้วย
juice-shop
ใน Repository นี้จะเป็น Repository ของ Web Application OWASP Juice Shop ซึ่งใช้สำหรับการศึกษาช่องโหว่ต่าง ๆ ของ Web Application หรือใช้สำหรับทดสอบ Security Tool ต่าง ๆ ก็สามารถทำได้เช่นกัน
โดย juice-shop นั้นก็มีวิธีติดตั้งได้หลายวิธี ในบทความผู้เขียนจะยกตัวอย่างวิธีการติดตั้งมาสองวิธี
วิธีแรกลงจาก Sources โดยตรง
Requirement
- ติดตั้ง node.js (https://nodejs.org/en)
- ติดตั้ง git (https://git-scm.com)
Installation
- รันคำสั่ง git clone https://github.com/bkimminich/juice-shop.git บน terminal
- ไปที่โฟลเดอร์ที่เรา clone มา หรือ รันคำสั่ง cd juice-shop
- รันคำสั่ง npm install
- รันคำสั่ง npm start
- เปิด Browser และไปที่ http://localhost:3000
วิธีที่สอง Docker Container
Requirement
- ติดตั้ง Docker
Installation
- รันคำสั่ง docker pull bkimminich/juice-shop
- รันคำสั่ง docker run — rm -p 3000:3000 bkimminich/juice-shop
- เปิด Browser และไปที่ http://localhost:3000
juice-shop ยังมี Companion Guide Book สำหรับเริ่มต้นในการหาช่องโหว่ หรือศึกษาช่องโหว่ต่าง ๆ จาก juice-shop อีกด้วย
ดาวน์โหลดเป็นไฟล์ .pdf,.epub หรือ .mobi ได้ที่
https://leanpub.com/juice-shop
หรือสามารถอ่านออนไลน์ได้ที่
https://pwning.owasp-juice.shop
ซึ่งถ้าหากต้องการรัน juice-shop เพื่อโดยมีผู้ใช้งานหลาย ๆ คน และแยก instance ของแต่ละผู้ใช้ ผู้เขียนแนะนำให้ติดตั้ง multi-juicer แทน
multi-juicer
multi-juicer คือ juice-shop ที่สามารถสร้าง instance ใหม่ขึ้นมาได้เรื่อย ๆ ตามความต้องการของผู้ใช้งาน มีการ backup progress ที่ผู้ใช้งาน ใช้งาน juice-shop เมื่อ container มีการ restart นอกจากนี้ยังมีการ ลบ instance เก่า ๆ ที่ไม่ถูกใช้เองโดยอัตโนมัติอีกด้วย
Google CTF
ใน Repository นี้จะเป็นการรวบรวมโค้ดจาก Challenge ในรูปแบบต่าง ๆ จากงาน Google CTF ทั้งรอบ Qualify และรอบ Finals ในปี 2017 และตั้งแต่ปี 2018 เป็นต้นมาจะโฟลเดอร์ที่เพิ่มขึ้นมาคือ beginners และ Google CTF ของปี 2020 ยังมีเพียงโค้ดของรอบ Qualify เท่านั้น
PENTESTING-BIBLE
ใน Repository นี้จะเป็นการรวบรวมบทความเกี่ยวกับ Penetration Testing และ Cyber Security มากกว่า 2000 โดยรวบรวมเอาไว้เป็นไฟล์ PDF ตัวอย่างหัวข้อที่ถูกเก็บไว้ใน Repository นี้ เช่น BugBounty, Reconnaissance, Red Team Tips, Reverse Engineering, Privilege Escalation on Linux, Firewall (WAF) Evasion Techniques
awesome-ctf
ใน Repository นี้ ก็จะรวมรายชื่อ Tools ที่ใช้ในการสร้าง CTF ประเภทต่าง ๆ ได้แก่ Forensics, Platforms สำหรับ host CTF และ Web Challenge รวมถึงรายชื่อ Tools ที่ใช้ในการแก้ CTF Challenge ประเภทต่าง ๆ ได้แก่ Crypto, Bruteforcers, Exploits, Forensics, Networking, Reversing, Steganography, Web และยังมีรายชื่อ Website ที่ host Wargames อยู่อีกด้วย
Privilege-Escalation
ใน Repository นี้จะเป็นการรวบรวมรายชื่อเครื่อง VM Vulnhub และแบ่งประเภทเครื่องตามวิธีการ Previlege Escalation โดยแบ่งตามวิธียกระดับสิทธิดังนี้ Abusing Sudo Rights, SUID Bit, Kernel Exploit, Path Variable, Enumeration, MySQL, Cronjob, Wildcard Injection, Capabilities, Writable /etc/passwd file, Writable files or script, Buffer Overflow, Docker, Chkrootkit, Bruteforce, Crack /etc/shadow, NFS, JSON, Redis, LXD, All, Exim และ Apache2 Writable
จาก Repository นี้ หลาย ๆ คนอาจจะยังไม่รู้จัก Vulnhub ผู้เขียนจึงขออธิบายสั้น ๆ เพื่อให้เข้าใจว่า Vulnhub เป็นเว็ปที่ให้คนสามารถดาวน์โหลด Virtual Machine ที่ถูกออกแบบมาให้มีช่องโหว่ มาทดลองฝึกเจาะระบบ เพื่อฝึกฝนและสั่งสมประสบการณ์ ด้าน Cyber Security มีหน้าตา Website ตามภาพด้านล่าง
โดยสามารถคลิกเข้าไปที่รูปเพื่อดูรายละเอียดของ Virtual Machine เครื่องที่ต้องการจะดาวน์โหลดได้ โดยรายละเอียดจะบอกความยากของเครื่อง และ Virtual Machine นี้ถูกทดสอบบน Virtual Box หรือ VMWare และบางเครื่องจะมี จุดประสงค์ของเครื่อง เช่น เข้าไปอ่านไฟล์ root.txt, flag.txt หรือพยายามยกตัวเองเป็นสิทธิ์ root ให้ได้เป็นต้น
ทั้งหมดที่ผู้เขียนกล่าวไปข้างต้นก็เป็นตัวอย่าง Repository ที่น่าสนใจ จาก GitHub Capture The Flag (CTF) and Cyber Security Resources Collection เท่านั้น แต่บน GitHub นั้นจริง ๆ มี Repository มากมายที่เกี่ยวของกับ CTF และ Cyber Security แต่ไม่ได้ถูกเพิ่มเข้าไปใน Capture The Flag (CTF) and Cyber Security Resources Collection ตัวอย่างเช่น เครื่องมือที่เกี่ยวข้องกับ Cyber Security เช่น gobuster, testssl, Privilege Escalation Awesome Scripts SUITE,
WFUZZ, FFUF, masscan, unicornscan, zaproxy เป็นต้น