Secplayground Bloody XMAS CTF Event 2024 (DF only)
Greeting Everybody ✋✋✋ Link to Greeting Everybody ✋✋✋
สวัสดีครับทุกๆท่าน วันนี้ผมเป็นตัวแทนของทีมคนขี้คุกอย่าง อย่าซีเล็ง เดี๋ยวซู้ลิ่ง
มาเขียน Writeup ของงาน Secplayground Bloody XMAS CTF Event 2024 มาให้เพื่อนๆได้รับชมกันครับ ส่วนตัวผมเล่น CTF ของ Secplayground ทุกปีครับ ปีนี้ก็ค่อนข้างสนุกเลย มีซาวน์ Santa เวลาได้ First Blood ด้วย แต่ผมรู้สึกว่า ให้เวลาทำนานไปหน่อยครับ ให้เวลาตั้ง 4 วัน😅
รายชื่อคนขี้คุกในทีมครับ 🤣
Okay ครับ สำหรับ Writeup ที่เพื่อนๆ จะให้ดูต่อจากนี้ ผมนำเสนอแค่ในส่วนของ DF(Digital Forensic) นะครับ เนื่องจากได้พูดคุยกับทางเพจพันธมิตร Chicken_0248แล้วว่าเค้าจะทำในส่วน IR ทั้งหมด
DF มีจำนวนทั้งหมด 11 ข้อครับ
Writeup Link to Writeup
Santa_Message
Link to Santa_Message
ข้อ 1. Dr.Eye is the best developer in our Santa company. Normally, She works with the team by storing code on the internet and setting it to private, sharing it only with team members. Before She disappeared, She left behind an audio clip, which contains a secret, stored in the same place where She keeps the source code. Based on the data from Dr.Eye’s device, we need help analyzing and identifying the website where the secret audio clip is stored, then decrypt it to extract the secret message from the clip. 30 pts.
สำหรับข้อนี้จะได้เป็นชุด Live forensic ของ KAPE มาครับ
จากโจทย์ระบุว่าให้พวกเราช่วยระบุเว็บไซต์ที่เก็บ secret audio clip ไว้ เลยนึกออกว่าต้องค้นใน History ของ Web browser ซึ่งในโจทย์นี้จะใช้เป็นตัว Google Chrome
ผมใช้ Hindsight GUI ในการทำโจทย์ครับ
ไฟล์ History จะอยู่ที่ Path
…\C\Users\windows\AppData\Local\Google\Chrome\User Data\Default
เจอสิ่งที่น่าสนใจ
เพื่อให้ง่ายต่อการวิเคราะห์ ให้ Export เป็น xlsx ครับ เมื่อค้นไปสักพักจะพบว่ามีประวัติการเข้า repo github ที่น่าสนใจคือ https://github.com/eye9997/Santa_messageเข้าไปดูต่อกันเลย
มีไฟล์เสียงมาให้น่าจะเป็น secret audio clip ตามที่โจทย์ว่าไว้
โหลดไฟล์เสียงมาเก็บไว้ก่อน จากนั้นเมื่ออ่าน README.md พบว่า ให้ข้อมูลบางอย่างมาคือ
แสดงว่าทางโจทย์อยากให้เราใช้ Video-Steganographyในการถอดบางอย่างจากไฟล์ .wav
python RunStartHere.py
รัน RunStartHere.py แล้วใส่ LSB กับ Byte ที่ได้มาจาก repo Santa_message จากนั้นจะได้เป็นไฟล์ outputdecoded_audio.txt ออกมา
flag มาแล้ววว
Flag : forensic{santa_2024}
สำหรับ ข้อ 2-5 The Snowman’s Secret Message#1-4
ตอนนี้รอน้อง แนคบางขวางแดนสาม
ทำ Writeup มาให้เนื่องจากแบ่งงานกันทำครับ
ส่วนข้อ 6 The Snowman’s Secret Message#5
ทำไงก็ทำไม่ได้ครับ No Clue 😂
เอาหล่ะ ไปข้อต่อไปกันเลย
Malware Infection#1
Link to Malware Infection#1
ข้อ 7. The browser history is an important part of identifying where the malware was downloaded. Please investigate the browser history to find the full URL from which the malware was downloaded (e.g., www.secplayground.com/malware.exe). 10 pts.
โจทย์ให้ EnCase Image file (E01) มาขนาด 15 GB โยนเข้า Autopsy ทันที
สำหรับข้อนี้โจทย์บอกว่า browser history เป็นส่วนสำคัญในการระบุตำแหน่งของมัลแวร์ โอเครู้แล้วว่าต้องไปค้นที่ตรงไหนก่อน
รัน Autopsy เสร็จ เช็ค “Web History” เจอ repo github ที่น่าสงสัย
ลองเข้าไปดู repo
MinecraftCrack.exe ดูแล้วกลิ่นแปลกๆ
โหลดไฟล์ MinecraftCrack.exe ออกมาแล้วโยนเข้า Virustotal ทันที
โอเคคคค ชัดเลยยย Virustotal
ปิด Autopsy ทันที เพราะว่าคงไม่ได้ใช้ต่อแล้วเท่าที่อ่านโจทย์ ข้อ 8-9 มา
ส่วนข้อนี้คำตอบจะใช้เป็น url ที่โหลดไฟล์มา
Flag : forensic{https://github.com/taipun/Minecraft/blob/main/MinecraftCrack.exe}
Malware Infection#2
Link to Malware Infection#2
ข้อ 8. A malicious file often communicates with an attacker-controlled server, known as a Command and Control (C2) server, to facilitate malicious activities. Please identify the IP address of the C2 server and the port used by the malicious file to communicate with it (e.g., 1.1.1.1:443). 30 pts.
โยนเข้า Any.run ต่อเพื่อเช็ค process Any.run
จากนั้นนั่งเช็ค Connection ที่เกิดขึ้นกับ Sandbox
เมื่อเช็คแล้วจะพบว่ามี Connect ไปยัง 20[.]188[.]121[.]243 port 9999
Flag : forensic{20.188.121.243:9999}
Malware Infection#3
Link to Malware Infection#3
ข้อ 9. From the malware file, find the key that the malware uses to encrypt files, by using the decryption function. 50 pts.
สำหรับข้อนี้ตอนแรกพยายามนั่งแงะไฟล์อยู่นานแต่งงครับ 55555+ เลยนึกวีธีง่ายๆ ออก ก็คือมัลแวร์ตัวนี้มันมี Original ไฟล์อยู่ครับ ถ้าดูจาก Virustotal ก็คือ SilverClient.exe
Search ชื่อไฟล์กับอากู๋ ก็เจอ IOC ของ Triage
ดูว่ามัลแวร์นี้ทำงานยังไง ได้ที่ส่วนนี้ Behavior
เมื่อเลื่อนลงมาเป็นตรงส่วน Malware Config ก็จะพบ decrypted_key
สรุปก็คือโจทย์ข้อนี้ใช้ decrypted_key มาตอบครับ
Flag : forensic{-|S.S.S|-}
malware infected
Link to malware infected
ข้อ 10. We found information about a malware that affected Santa’s work computer. Santa downloaded a file to work with, which caused the machine to get infected with the malware. We are tasked with identifying the type of malware from the network packet we intercepted, and then using this information to locate documents related to the same type of malware on the machine. The response should be in the form of the MD5 hash of the related document files. 10 pts.
สำหรับข้อนี้เป็นเฉลยของน้อง เก่งมิตินาว
ครับ
เริ่มในตอนแรกจะได้รับไฟล์ .ZIP ข้างในมีไฟล์ OVA กับ PCAPNG
VMware
เราต้องมาวิเคราะห์กันก่อนว่า OVA ไฟล์คืออะไรซึ่งมันก็คือ Open Virtual Appliance ครับ:ไฟล์ OVA เป็นฟอแมตไฟล์ มาตรฐานสำหรับ Virtual Machine ถูกสร้างขึ้นมาเพื่อความง่ายในการใช้งาน Virtual Machine ระหว่างผู้ให้บริการแต่ละเจ้า เพื่อให้เป็นมาตรฐานเดียวกันนั่นเอง ดังนั้นเราจะนำเข้าไฟล์นี้สู้โปรแกรมที่ชื่อว่า VMware เพื่อวิเคราะห์กันครับ
และเมื่อลองใช้งานเจ้า VM ตัวนี้แล้วก็จะรู้ว่ามันค่อนข้างช้าและมีปัญหาติดขัดค่อนข้างมาก
7-Zip
จึงได้เปลี่ยนวิธีด้วยการ วิเคราะห์ สิ่งที่เป็น ผลผลิตจากไฟล์ OVA แทนนั่นก็คือไฟล์ VMDK (Virtual Machine Disk) ซึ่งเป็นรูปแบบไฟล์ที่ใช้สำหรับเก็บข้อมูลของดิสก์เสมือน (virtual disk) ที่ใช้ใน ซอฟต์แวร์จำลองเครื่องเสมือน (virtualization software) นั่นเอง โดยเราสามารถที่จะ Extract ova ออกมาให้เป็นไฟล์ VMDK ได้ด้วยโปรแกรม 7-Zip
เราจะได้ไฟล์หลักๆมา 3 ไฟล์จากการ Extract OVA ด้วย 7-Zip
Autopsy
แต่ในที่นี้เราจะ Focus ไปที่ ไฟล์ VMDK กันนะครับ โดยจะทำการวิเคราะห์ไฟล์นี้ด้วยการใช้เครื่องมือที่ชื่อว่า Autopsy เพื่อวิเคราะห์ไฟล์ที่มีลักษณะคล้ายกับ Hard disk (ซึ่งโปรแกรมนี้มันถนัดมาก) กันต่อ
Recent Documents
จะพบได้ว่ามี Artifact มากมายใน vmdk นี้แต่เนื่องจากโจทย์นั้นได้แนะมาว่าไฟล์เอกสารที่เราต้องต้องการค้นหานั้นถูกดาวน์โหลดมาดังนั้นเราจะมาวิเคราะห์กันที่การทำงานล่าสุดกัน
Extract File
ชัดเจนแล้วว่าไฟล์ที่น่าสงสัยนี้คือ “008653065299f1e96ecd195fe23948cc3976210bc8d58ba0e1456db17270154d” ให้ตาม path ของไฟล์ Extract ไฟล์นี้ออกมาต่อกันเลย
โยนไฟล์เข้า Virustotal
ให้เรานำไฟล์ที่น่าสงสัยนี้ไปตรวจสอบด้วย Virustotal จะได้ Hash ของไฟล์มาในรูปแบบ md5
And finally, the flag Become
Flag : forensic{e5d7a2dd2aafaa4e55c303c3533a36be}
สำหรับ ข้อ 11 The file was left behind
ตอนนี้รอน้อง แนคบางขวางแดนสาม
ทำ Writeup มาให้เนื่องจากแบ่งงานกันทำครับ
End Link to End
Writeup ของเพจพันธมิตร ไปตามอ่านได้ครับ
Secplayground Bloody XMAS CTF Event 2024 (DF only)
© Mirthz | CC BY-SA 4.0