Luna B.
3 min readDec 18, 2022

[Write up] CTF ของรายการ Women Thailand Cyber Top Talent 2022 — First round #1

.

ฤกษ์งามยามดีมาเขียนรีวิว + แนวทางการทำโจทย์ CTF ของรายการ Women Thailand Cyber Top Talent 2022 รอบแรก

ก่อนอื่น ต้องขอขอบพระคุณทีมงานที่ได้จัดรายการสนุกๆแบบนี้ขึ้นมา

กิจกรรมนี้ แบ่งเนื้อหาของโจทย์ออกเป็น 2 part คือ Cyber attack และ Incident respond โดยเราเลือกทำ part Cyber attack ที่เราถนัด และนำมาเขียนรีวิวเป็นแนวทางคราวๆ แบบ คร๊าวว คราวว

โจทย์ทั้งมี 10 ข้อ มีเวลาให้ 2 ชั่งโมง … ใช่แล้วค่ะ ทั่นผู้โช๊ม 2 ชั่วโมงเท่านั้นนนนน

แอบคิดเล่นๆว่า ถ้าอินเตอร์เน็ตแย่หน่อย แค่ nmap all port ก็หมดเวลาแย้ว T-T … ไม่เป็นไร ไหนลองดูซิ๊

ต้องรู้อะไรก่อน — ขอแนะนำว่า ต้องรู้พื้นฐานการใช้งาน tool รวมถึง command line ต่างๆ สักเล็กน้อย แต่ถ้าไม่รู้ ไม่เป็นไรค่ะ เรามีอากู๋ ผู้เป็นที่พึ่งพาของชาวเราอยู่แล้ว อยากรู้อะไร ถามอากู๋ ไม่ต้องถามอัลดุล … เอ้ย ไม่ใช่!

Tool เบื้อต้น — Burp suite, Kali linux (แล้วแต่คนถนัด), John the Ripper, Keepass, และอื่นๆตามความเหมาะสมหน้างาน

ภาษา Programming — PHP, Python แล้วแต่ความถนัดและความเหมาะสมหน้างานอีกเช่นกัน

Note: โจทย์แบ่งออกเป็น 2 Series โดยข้อ 2- 5 และ 6–10 ซึ่ง 2 กลุ่มนี้ จะเป็นเรื่องเดียวกัน เป็นเรื่องราวต่อเนื่องกัน ต้อได้ข้อแรกก่อน ถึงจะได้ข้อถัดๆไป โดยโพสนี้ จะเขียนถึง part แรกก่อนละกัน

อ่ะ เริ่มเลอ !

#1

Question:

โรงแรม Cyberspace เพิ่งติดตั้งเว็บไซต์ใหม่เป็น Wordpress CMS ที่ URL https://cyberspace-hotel.ctf.p7z.pw/ และมีการป้องกัน Search Engine ในการเข้าถึงหน้าเว็บหนึ่งเอาไว้ โดยเก็บไว้ให้ผู้บริหารที่ใช้โทรศัพท์บางรุ่นที่เข้าได้เท่านั้น คุณในฐานะแฮกเกอร์มือดี ลองหาว่า (1) หาไฟล์ชื่อ robots.txt ในเว็บซึ่ง Search Engine ใช้ในการตรวจสอบ (2) ตรวจสอบดูว่ามีการใช้ค่า User-Agent อะไร? (3) ลองเข้าถึงไฟล์ของผู้บริหารนั้นให้หน่อย (เนื้อหาข้างในไฟล์มีค่า FLAG)

How to:

  • Robot.txt — สังเกตุว่า มันบอกอะไรกับเราบ้าง
  • Keyword ที่ต้องใช้เพื่อแก้โจทย์ตรงนี้ — User-agent, Disallow

ลองผิดลองถูกจนกระทั่ง …

#2

Question:

โรงแรม Cyberspace เพิ่งติดตั้งเว็บไซต์ใหม่เป็น Wordpress CMS ที่ URL https://cyberspace-hotel.ctf.p7z.pw/ มีผู้ใช้งาน 2 คนในเว็บ เหมือนว่าผู้ใช้งานชื่อ longcat จะตั้งรหัสผ่านไม่ปลอดภัย เป็นค่าเดียวกับข้อมูลที่เปิดเผยเป็นสาธารณะ ให้ลองหารหัสผ่านของ longcat และใช้เข้าสู่ระบบที่ /wp-login.php

สามารถลองหาเองด้วยการอ่านเนื้อหา หรือใช้โปรแกรม cewl ก็ได้

Guide:

  • คุ้ยข้อมูลที่เกี่ยวข้องกับ longcat จากหน้าเว็บ
  • เดา Keyword ที่ได้มาทาย Password คุณ logcat
  • ใบ้ให้อีกหน่อย “เขาเป็นทาสแมว แงวววว”

ถ้าคุณเดินมาถูกทาง คุณจะพบกับสิ่งนี้ เวลาส่ง Flag ห้ามพิมผิดน๊า

#3

Question:

พบว่ามีผู้ใช้งานใน เว็บไซต์โรงแรม Cyberspace มีการใส่ข้อความคอมเมนต์ เป็นข้อความเข้ารหัสซ่อนเอาไว้อยู่ ให้ลองถอดรหัสด้วยเว็บ https://gchq.github.io/CyberChef/ ดูจะพบความลับที่ซ่อนอยู่

* ต้องผ่านโจทย์ข้อ 2 ก่อนถึงจะทำข้อ 3 ได้

Guide:

  • Tool ชื่อว่า CyberChef ของดีย์ ไปลอง ๆ

เมื่อคุณอยู่ที่หน้า management ของ server คุณจะเจอกับข้อมูลหน้าตาแบบนี้

และเมื่อคุณใช้ CyberChef เขาจะเสริฟ Flag ร้อนๆให้คุณทันที

#4

Question:

มีไฟล์เซิร์ฟเวอร์ของโรงแรม อยู่ที่ Domain ชื่อ ftp.ctf.p7z.pw แต่ไม่แน่ใจว่าอยู่ที่ Port หมายเลขอะไร ให้ลองหาและใช้รหัสผ่านจาก โจทย์ข้อ 3 ในการเข้าถึงดูจะพบข้อความลับซ่อนอยู่

* ต้องผ่านโจทย์ข้อ 3 ก่อนถึงจะทำข้อ 4 ได้

Guide:

  • Nmap all port หา service FTP
  • ใช้รหัสที่ได้จากการถอดรหัสในข้อ 3
  • Command ที่ต้องรู้ คือ ชุดคำสั่งย้าย file จาก service FTP
get [file name]

Flag ที่ได้จะหน้าตาประมาณนี้

#5

Question:

พบว่าในไฟล์เซิร์ฟเวอร์มีไฟล์ของ Password Manager ชื่อ KeePass อยู่ ไฟล์นี้ใช้ในการเก็บรหัสผ่าน ให้ลองใช้โปรแกรม keepass2john ในการแปลงไฟล์เป็นข้อความสำหรับการนำไปแคร็ก และใช้โปรแกรม john หรือ hashcat แคร็กรหัสผ่านออกมา

* รหัสผ่านอยู่ในไฟล์ rockyou.txt และมีคำว่า happy อยู่ในรหัสผ่าน สามารถใช้ grep หรือวิธีการอื่น ๆ เอาเฉพาะรหัสผ่านที่มีคำว่า happy มาถอดได้

* หลังจากได้รหัสผ่านมาแล้วสามารถใช้ โปรแกรม KeePass เปิดไฟล์ดังกล่าวได้ จะพบ FLAG

* ต้องผ่านโจทย์ข้อ 4 ก่อนถึงจะทำข้อ 5 ได้

Guide:

  • กำยาดม แล้วสูดลึกกกก ๆ
  • เทคนิคที่ใช้แก้โจทย์ข้อนี้คือ Crack password โดย tool ต่างๆ
  • คำสั่งที่น่าลอง คือคำสั่ง tool พวก Keepass2john, john the ripper หรือใครถนัด Hashcat ก็ได้เหมือนกัน
  • แนะนำว่า ควร Grep เอาเฉพาะ คำว่า Happy จาก wordlists Rockyou — สร้างเป็น wordlists อีกชุดนึง เอาไป Brute force เพื่อประหยัดเวลา
  • Tool อะไรก็ได้ที่เอาไว้อ่าน file .kdb (เราใช้ KeepassX)

คำเตือน !!!

เนื้อหาด้านล่าง มี Spoil หากไม่อยากโดน Spoil โปรดหลับตา แล้วเลื่อนผ่านไป

.

.

.

Spoil step คราวๆ ช่วง Brute force password

1. สร้าง  Wordlists ใหม่ 
grep happy /usr/share/wordlists/rockyou.txt > CTF-Wordlists.txt

2. แปลง file xxx.kdb เป็น xxx.txt
keepass2john KeepassHash.kdb > KeepassHash.txt

3. Brute force โดย
john --wordlist= CTF-Wordlists.txt KeepassHash.txt

ถ้าไม่มีอะไรผิดพลาด Flag ที่ 5 จะแสดงออกมาตามภาพนี้เลยจ้า

เย่ !!! ครบ 5 ข้อ จบ Part แรก ของ Series นี้

Part ถัดไปกำลังตามมาอีกไม่นาน … To be Continue