Thailand CTF 2019 – What is a URL Again (Write-up)
ในข้อนี้โจทย์มีชื่อว่า What is a URL Again สามารถดาวน์โหลดโจทย์ได้ที่ลิงค์นี้ >>> What is a URL Again.zip
ทำการแตกไฟล์ออกมา จะได้ไฟล์ memdump.mem ออกมา อันนี้ไม่ต้อง file ก็น่าจะรู้นะว่าไฟล์อะไร แฮ่! 🤣
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/1.png?resize=628%2C219&ssl=1)
ลอง binwalk ดูซะหน่อยว่ามีไรบ้าง … 🧐
เพียบ… 😵
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/2.png?resize=740%2C279&ssl=1)
ในที่นี้เราจะใช้ volatility ในการวิเคราะห์ข้อมูล เนื่องจากเป็น Volatile Data (สงสัยถามกู๋โลดนะครับ 🤣)
ขั้นแรกลองรัน Imageinfo ดูก่อนเพื่อดูข้อมูลคร่าวๆของไฟล์ memdump ไฟล์นี้$
volatility -f memdump.mem Imageinfo
ซึ่งต่อไปเราต้องระบุ Windows Profile ด้วย โดยในที่นี้จะใช้ Win7SP1x64
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/3.png?resize=740%2C257&ssl=1)
ต่อไปจะทำการลิสต์ process ทั้งหมดขึ้นมา โดยเราสามารถใช้ได้หลายคำสั่ง เช่น pslist, psscan, pstree, psxview ในที่นี้ใช้ psxview เนื่องจากดูเป็นระเบียบมากกว่าตัวอื่น ไม่รกดี 😅$ volatility -f memdump.mem --profile=Win7SP1x64 psxview
จากทุก Process ที่มี มีตัวที่น่าสนใจที่สุดคือ notepad.exe PID: 2892
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/4.png?resize=740%2C464&ssl=1)
ไหนลองเช็คซิ ว่าเปิดไฟล์อะไรอยู่หรือเปล่า 🧐
SECRET!! !!!! น่าสนใจๆ 🤔
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/5.png?resize=740%2C163&ssl=1)
งั้น Dump เฉพาะในส่วนของ notepad ออกมาละกัน ก่อนอื่นต้องรู้หมายเลข PID ของ Notepad ก่อน ซื่งจะอยู่ในขั้นตอนก่อนหน้าที่ได้ทำการลิสต์ process ซึ่งก็คือ 2892$ volatility -f memdump.mem --profile=Win7SP1x64 memdump -p 2892 --dump-dir .
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/6.png?resize=740%2C194&ssl=1)
ไฟล์ลองค้นด้วยชื่อไฟล์ที่เราเจอจากขั้นตอนก่อนหน้าซิ (SECRET!!.txt) 🧐
เอ๊ะ SeCrEtHeRe แพทเทิร์นคุ้นๆแฮะ 🤔 ซึ่งมีทั้งหมด 3 ชุดด้วยกัน
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/7.png?resize=740%2C473&ssl=1)
จะเห็นได้ว่ามันคือ Url escape (encode) นั่นเอง แต่จะสังเกตได้ว่า ค่าแรกสุด % จะหายไป ซึ่งก็แค่เติมลงไปให้เรียบร้อย แล้วไปทำการ unescape/decode ให้เรียบร้อย
![](https://i1.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/8.png?fit=604%2C130&ssl=1)
หลังจากการทำ Url unescape เราก็จะได้ค่าเลขฐานสองมา ซึ่งจะเห็นได้ว่า 2 ชุดแรกค่าเหมือนกัน งั้นเราก็จะโฟกัสแค่ค่าแรกพอ อันหลังไม่ใช่แน่นอน (ขออนุญาตรวบรัด 🤣)
![](https://i1.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/9.png?fit=604%2C78&ssl=1)
ให้เราไปทำการแปลงให้เป็น string ซึ่งจะได้ผลลัพท์ทีเป็น Base64 ออกมา c2hvcnR1cmwuYXQvaXRHVTI=
![](https://i1.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/10.png?fit=604%2C218&ssl=1)
ให้ทำการ Decode Base64 จะได้เป็นลิงค์อันนึงออกมา
$ echo c2hvcnR1cmwuYXQvaXRHVTI= | base64 -d
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/11.png?resize=695%2C130&ssl=1)
ลองเอาไปเช็คก่อนซิว่าลิงค์จริงๆคืออะไร แอบฝังอะไรมาให้หรือเปล่า 😆
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/12.png?resize=740%2C243&ssl=1)
เอ๊ะ ไฟล์ Flag.zip 🤔
ให้ทำการโหลดมาโลด ว่าแต่คิดว่าจะเปิดดู Flag ได้เลยมั้ย?
แน่นอนว่า.. ไม่มีทาง!! 🤣
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/13.png?resize=740%2C308&ssl=1)
ลองแตกไฟล์ดูซิ
แน่นอนว่าติดรหัสผ่าน 😂
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/14.png?resize=590%2C164&ssl=1)
รหัสแตกไฟล์อยู่ไหนนนนนน 😭
งั้นลอง grep notepad dump file ดูเลยแล้วกัน เริ่มง่ายๆที่
pass, password, P@ssw0rd … ไม่เจอ 😢
งั้นลองใช้ Grep with regex ซิ$ strings 2892.dmp| grep -i -P "^P@.?.?.?.?.?d"
เย่! P@S5w0rDH3rE มันต้องเป็นรหัสแตกไฟล์แน่ๆ !!!
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/15.png?resize=740%2C446&ssl=1)
ไหนลองแตกไฟล์ซิ ใช่รหัส P@S5w0rDH3rE มั้ยนะ 🤔
ก็ยังไม่ใช่ … 😢
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/14.png?resize=590%2C164&ssl=1)
ไปคุ้ยใน raw เลยละกัน ลอง Search ด้วยคำที่ได้มาเมื่อกี้ดู
เอ๊ะ Magic Bytes คุ้นๆแฮะ 🤔
แน่นอนว่ามันคือ Magic Bytes ของไฟล์ JPEG ทีนี้จะรู้ได้ไงว่าตั้งแต่ตรงไหนถึงตรงไหน?
ก็เลื่อนดูไปเรื่อยๆไงล่ะ 😂
เห็นอะไรมั้ยครับ?
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/16.png?resize=655%2C561&ssl=1)
จะเห็นว่าเมื่อเลื่อนไปเรื่อยๆ จะมีข้อมูลอีกชุดที่ดูแล้วไม่น่าใช่ข้อมูลของรูปแน่ๆ FixedButton อะไรไม่รู้ 😵
ดังนั้นเราจึงเอาเฉพาะแค่ตรง offset ประมาณ 0C992400 ถึงประมาณ 0C992EC0
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/17.png?resize=624%2C276&ssl=1)
ไหนมาเช็ค Magic Bytes ดูอีกรอบซิว่าถูกต้องหรือเปล่า 🧐
![](https://i2.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/18.png?fit=604%2C182&ssl=1)
ไฟล์รูปภาพที่ได้มา จะเห็นว่ามีข้อความอยู่ด้านใน และแน่นอนว่ามันคือรหัสผ่านสำหรับการแตกไฟล์
38nVw%Z_#jdtZ>M?
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/19.jpg?resize=227%2C67&ssl=1)
ทำการแตกไฟล์ด้วยรหัสผ่านที่ได้มาจากรูปในขั้นตอนก่อนหน้า
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/20.png?resize=466%2C170&ssl=1)
ได้ Flag มาแล้วจ้าาาา
THCTF{@!Th1S_ls_A-f1Ag!@}
จอบอ. 😁
Thailand CTF 2019 – In the Picture (Write-up)
ในข้อนี้โจทย์มีชื่อว่า In the picture สามารถดาวน์โหลดโจทย์ได้ที่ลิงค์นี้ >>> In the picture.zip
Ps. ขออภัยด้วย Flag ไม่ได้เรียงกันนะครับ 😅
ทำการแตกไฟล์ In the picture.zip
เมื่อทำการแตกไฟล์ออกมา จะได้รูปภาพมา 1 รูป …
![](https://i1.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/Question.jpeg?fit=604%2C403&ssl=1)
ลองเข้าไปส่องข้างในดูหน่อยซิ 🧐
เมื่อใช้คำสั่ง binwalk ส่องดูข้างใน จะพบว่ารูปภาพโดนยัดไฟล์ rar เข้ามา
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_1.png?resize=679%2C243&ssl=1)
ให้ทำการดึงไฟล์ rar ออกมาโดยใช้คำสั่ง binwalk -e Question.jpeg เราก็จะได้ไฟล์ rar ที่ต้องการออกมา
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_2.png?resize=675%2C274&ssl=1)
ไหนลอง extract ดูซิ …
ติด password จ้าาา ☹️
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_3.png?resize=626%2C210&ssl=1)
ลองไปส่งไฟล์รูปอีกทีซิ รอบนี้ใช้คำสั่ง strings Question.jpeg เพื่อดูว่ามีการแอบยัดข้อความอะไรมาหรือเปล่า
แล้วก็โป๊ะเชะ!! DPa$$w0rd:SheepInTheBigCity 😍
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_4.png?resize=589%2C335&ssl=1)
นำรหัสผ่านที่ได้เมื่อกี้ไปแตกไฟล์โลด 😁
จะได้ไฟล์ออกมาอีก 3 ไฟล์ (ยังไม่จบอีก 😢)
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_5.png?resize=624%2C323&ssl=1)
ลองเช็คไฟล์ทั้ง 3 ไฟล์ซิ ว่าเนื้อแท้มันคือไฟล์อะไร
จะเห็นว่าไฟล์แรกเป็นไฟล์รูป (.jpg) ไฟล์ที่สองเป็นไฟล์เสียง (.wav) ส่วนไฟล์สุดท้ายเป็น data ไว้เดี๋ยวมาเช็คกันอีกที … 😅
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_6.png?resize=740%2C160&ssl=1)
ก่อนอื่นทำการเปลี่ยนนามสกุลให้ 2 ไฟล์แรกก่อน hint1.zip เป็น hint1.jpg และ hint2.zip เป็น hint2.wav
ลองส่องไฟล์ hint3.zip จะพบว่าส่วน header มีคำว่า NG !!!
และแน่นอนครับ มันคือไฟล์รูปภาพ 😄
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_7.png?resize=740%2C212&ssl=1)
ให้เราไปแก้ค่า Hex โดยการเพิ่ม 89 50 ไป offset แรกสุด
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_8.png?resize=622%2C183&ssl=1)
เปลี่ยนนามสกุลไฟล์ให้เป็น .png ซะ
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_9.png?resize=638%2C141&ssl=1)
รูปภาพที่ได้ … 🧐
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_10.png?resize=740%2C416&ssl=1)
ทีนี้กลับมาดู hint2 ลองแมวมาดูหน่อยซิ 🧐
Nothing …
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_11.png?resize=740%2C147&ssl=1)
งั้นโยนเข้า Audacity หน่อยเป็นไง 😅
เอ๊ะ… Morse Code แน่ๆ 🤔
![](https://i2.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_12.png?fit=604%2C143&ssl=1)
และแน่นอนมันคือ Morse Code เมื่อทำการ Translate ออกมาจะได้คำว่า PLAYSOME
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_13.png?resize=455%2C281&ssl=1)
ส่วน hint1 นั้น ..
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_14.jpg?resize=265%2C190&ssl=1)
ลองแมวดูซิ เห็นอะไรแว๊บๆ 🧐 🤔
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_15.png?resize=740%2C186&ssl=1)
ถ้าดูดีๆมีเครื่องหมาย { ก็น่าจะเป็น ROT13 แน่ๆ งั้น decode โลด
จะได้คำว่า TH{lets ออกมา
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/ThailandCTF_-In_the_picture_16.png?resize=604%2C111&ssl=1)
เมื่อเอาคำใบ้ทั้ง 3 คำมารวมกันก็จะได้ Flag ออกมา
TH{letsPLAYSOME_CtF!$} เอาไปแก้ format ให้ถูกต้องเป็นอันเรียบร้อย
จอบอ. 😁
Thailand CTF 2019 – Android (Write-up)
ในข้อนี้โจทย์มีชื่อว่า Android สามารถดาวน์โหลดโจทย์ได้ที่ลิงค์นี้ >>> Android.zip
ขั้นแรกให้ทำการแตกไฟล์ออกมาก่อน โดยใช้คำสั่ง unzip Android.zip จะได้โฟลเดอร์ Android_ ออกมา
โดยข้างในโฟลเดอร์ก็จะพบอยู่ 3 ไฟล์ ได้แก่ android.zip (password protected), .git และ README.md
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_1.png?resize=471%2C194&ssl=1)
จุดที่น่าสนใจคือ .git ทำให้ทราบได้ว่าใช้ version control ซึ่งจะเก็บประวัติในการแก้ไขโค้ดของเรา อ่านเพิ่มเติมคลิกที่นี่
ให้เราทำการรันคำสั่ง git log เพื่อดูประวัติการ Commit เพราะโดยปกติแล้ว แต่ละครั้งเมื่อเราทำการ Commit จะมีการใส่ Comment ไว้ด้วย เพื่อที่จะได้ทราบว่าเราได้ทำอะไรไปบ้าง
จุดที่น่าสนใจมีอยู่ 2 commit คือ
– update (สนใจก่อนการ delete key) : 33d78b5cbb94854ff228172e7dd0159564157655
– delete website : 20929d7d0ff6d4fc99fdc25d6196f80f49d0582b
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_2.png?resize=646%2C624&ssl=1)
Checkout #1
ทำการรันคำสั่ง git checkout 33d78b5cbb94854ff228172e7dd0159564157655 เพื่อทำการย้อนกลับไปก่อนมีการ delete key
เมื่อทำการเรียกดูรายชื่อไฟล์ จะพบว่ามีไฟล์ aws_s3.key โผล่ขึ้นมา
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_3.png?resize=740%2C419&ssl=1)
เมื่อทำการดูไฟล์ข้างใน จะพบค่าค่านึง อันนี้ขอรวบลัดเลยละกัน ไม่ต้องไปรันใน aws console หรือเขียน api ให้ยุ่งยาก เพราะจริงๆมันคือค่า hex นี่เอง
เมื่อทำการ decode ก็จะได้ค่าดังนี้ Th@iL@nDCTF2Ol9
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_3.1.png?resize=740%2C130&ssl=1)
เมื่อนำรหัสที่ได้มาแตกไฟล์ android.zip ปรากฏว่ารหัสผิด 😢
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_3.2.png?resize=740%2C306&ssl=1)
Checkout #2
คราวนี้เรามาดูอีก Commit ที่เกี่ยวกับ Website อะไรสักอย่าง เช่นเดิมครับ ให้รันคำสั่ง git checkout 20929d7d0ff6d4fc99fdc25d6196f80f49d0582b เพื่อย้อนกลับไปก่อนการลบ website
จะเห็นว่ามีโฟลเดอร์ web โผล่ขึ้นมา
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_4.png?resize=740%2C418&ssl=1)
เมื่อเข้าไปดูในโฟลเดอร์ web จะพบไฟล์ index.html ให้เราทำการเปิดไฟล์ครับ เพื่ออ่าน source code ด้านใน
เห็นอะไรมั้ยครับ 😏
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_4.1.png?resize=740%2C562&ssl=1)
คล้ายๆอันแรกเลย จากค่า aws_access_key_id และ aws_secret_access_key ให้เราทำการ decode ออกมาครับ อันนี้แล้วแต่ความสะดวกเลย ส่วนตัวผมใช้ perl script ครับ
เมื่อ decode ออกมาก็จะได้ค่าดังนี้ Th@iLanDCTF2Ol9_P@ssCode
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_4.2.png?resize=740%2C107&ssl=1)
นำมาเป็นรหัสแตกไฟล์ android.zip ครับ ถูกต้องสักที เย้ 😄
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_4.3.png?resize=740%2C324&ssl=1)
รวบรัดอีกแล้ว 😆 ไม่ต้องคิดอะไรมากครับ โจทย์นี้คือจะให้เราทำการ Crack Android Pattern ครับ
รันคำสั่งเพื่อค้นการไฟล์ gesture.key โลดครับ จะใช้คำสั่งใน linux (find,grep) หรือถ้าใช้ Windows ก็ search ผ่าน Explorer ได้เลยครับ
ข้อดีของโจทย์นี้คือ จะมี Script สำหรับ Crack Pattern มาให้แล้ว ตามผลลัพท์ที่ 2 ครับ
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_5.png?resize=616%2C136&ssl=1)
รันสคริปต์ aplc.py เพื่อทำการ Crack Pattern โลดครับ 😄
$ data/data/com.android.crackkey/androidpatternlock/aplc.py data/system/gesture.key
เท่านี้เราก็จะได้ Flag ออกมา 😎
THCTF{6304852}
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2019/09/thailand_ctf_2019_android_6.png?resize=740%2C424&ssl=1)
จอบอ. 😁
Thailand CTF 2018 – My password collection (Write-up)
ในข้อนี้โจทย์มีชื่อว่า My password collection สามารถดาวน์โหลดโจทย์ได้ที่ลิงค์นี้ >>> disk.zip
ขั้นแรกให้ทำการแตกไฟล์ออกมาก่อน โดยใช้คำสั่ง unzip disk.zip จะได้ไฟล์ disk.dd ออกมา
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/2.png?resize=481%2C188&ssl=1)
ลองเช็คประเภทของไฟล์ดูก่อน โดยใช้คำสั่ง file disk.dd
จะเห็นได้ว่า Partition เป็น MSDOS ซึ่งจากประสบการณ์ ใช้ 7Zip แตกไฟล์ในคอมพิวเตอร์โดยตรงเลยง่ายกว่า 555+
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/3.png?resize=547%2C315&ssl=1)
เมื่อแตกไฟล์ใน Windows ด้วย 7Zip ก็จะได้ไฟล์ประมาณนี้
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/4.png?resize=545%2C150&ssl=1)
ไฟล์ข้างในแต่ละ Folder ก็จะได้ประมาณนี้
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/5.png?resize=382%2C312&ssl=1)
ทำการไล่เช็คประเภทของไฟล์ใน Document (เนื่องจากไม่มี .extension ทำให้ไม่ทราบได้ว่าเป็นไฟล์ประเภทอะไร)
โดยใช้คำสั่ง for f in Documents/*; do file $f; done
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/6.png?resize=681%2C93&ssl=1)
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/7.png?resize=634%2C114&ssl=1)
จะเห็นได้ว่าน่าสนใจทุกไฟล์เลย 55+ แต่เราจะทำการเช็ค 2 ไฟล์กันก่อน คือไฟล์ g ที่เป็นไฟล์ pdf และไฟล์ w ที่เป็น textfile
เมื่อดูข้อมูลใน textfile จะพบข้อความ VyAtMzAwClAgMApSIDI= ซึ่งแน่นอนว่ามันคือ base64 หลังจาก decode ก็จะได้ผลลัพธ์ตามรูปด้านบน
กลับไปดูอีกไฟล์ที่เป็น pdf ซึ่งจริงๆมันเป็นคำใบ้ในการเอา key ในขั้นต่อไป (จำรูปภาพ และ filters ด้านล่างไว้ให้ดีๆ 😁)
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/8.png?resize=740%2C458&ssl=1)
ไปดูที่อีกโฟลเดอร์บ้าง ในโฟลเดอร์ Pictures นั่นเอง เห็นอะไรแปลกๆมั้ยครับ 🙃
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/9.png?resize=740%2C199&ssl=1)
ใช่เลยครับ รูปแรกนี่แหละ เมื่อลองเปิดรูปดู จะเห็นว่าเหมือนมีข้อความโดนหมุนเป็นเกลียวอยู่!
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/10.png?resize=640%2C425&ssl=1)
จำไฟล์ pdf ที่เปิดก่อนหน้าได้ไหมครับ นั่นแหละ! มันคือคำใบ้!! อ้อ textfile อักอัน
ก่อนอื่นให้เปิดรูปด้วย Gimp ก่อนครับ จากนั้นไปที่ Filters → Distorts → Whirl and Pinch เพื่อจะทำการหมุนภาพกลับ
ซึ่งไม่ต้องไปงมให้เมื่อยว่าแต่ละค่าต้องหมุนไปที่เท่าไหร่ เพราะมันบอกไว้แล้วใน textfile ที่เป็น base64
จะได้ 4XAktWZ3tH7AHsO9
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/11.png?resize=740%2C311&ssl=1)
กลับไปดูใน Documents อีกรอบ จะเห็นว่าเหลืออีก 2 ไฟล์คือ f: openssl และไฟล์ p: Keepass
โดยไฟล์ f เป็น Encryption file แล้วจะแกะยังไง ในเมื่อไม่มี passphase 😂
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/12.png?resize=681%2C93&ssl=1)
งั้นกลับไปดูอีกไฟล์กันก่อน อันนี้ยอมรับว่าไม่รู้จัก เท่าที่ไปถามอากู๋มา ได้ความว่าเป็น Password Management ซึ่งส่วนตัวรู้จักแค่ Dashlane, 1Password และ Lastpass 555+
ทำการโหลด Keepass แล้วเปิดไฟล์ p โลดดดด ซึ่งจะเจอหน้าถามหา Master Password = =”
ลองเอา key ที่ถอดมาได้จากรูปภาพใส่ดู แล้วก็โป๊ะเชะ!
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/13.png?resize=653%2C291&ssl=1)
ด้วยความที่ไม่เคยใช้ ก็เลยลองเอาเมาส์ไปชี้เล่นๆดู เอ๊ะตรงนี้คืออัลไล (,__, )a เก็บไว้ก่อน
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/14.png?resize=476%2C187&ssl=1)
ลองดับเบิลคลิกเข้าไปดูใน Text file ซะหน่อย จะเห็นว่าตรงช่อง Notes: มันว่างๆเหมือนไม่มีอะไร แต่ทำไมมันยาวววววว 😶
เมื่อเลื่อนไปดูล่างสุด เหมือนจะเจอ key อีกแล้ว แต่มันไม่ใช่ flag !!!
UzE0f6Sb2ZvUtvsD
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/15.png?resize=489%2C513&ssl=1)
ตอนนี้ใน Documents ก็เหลือไฟล์เดียวแล้ว คือไฟล์ f: openssl
จากที่บอกข้างต้นว่ามันเป็น Encryption data ต้องใช้ key ในการ Decryption ซึ่งแน่นอนเหลือ key เดียวแล้วที่ยังไม่ได้ใช้ และเพิ่งแกะออกมาได้
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/16.png?resize=681%2C93&ssl=1)
ซึ่งในการ Decryption ต้องรู้ก่อนว่าใช้ Algorithm อะไร และแน่นอนว่ามันคือ AES-256-CBC ที่โจทย์ได้ทำการใบ้ไว้ใน Keepass
เมื่อทำการ Decrypt แล้วก็จะได้ Flag ออกมา 😎
THCTF{Uu5AzrJD3mMKDG0z}
![](https://i0.wp.com/blog.sornram9254.com/wp-content/uploads/2018/11/17.png?resize=705%2C111&ssl=1)
จอบอ. 😁
Pixel (RGB) – game.rop.sh & I-SECURE CTF
Ref: https://twitter.com/sornram9254/status/770222358179278848
ไม่ใช่ Write-up ละเอียดๆเท่าไหร่นะครับ
เพราะผมเองก็เพิ่งเข้าใจเหมือนกัน
ตอนแรกก็งงว่าโจทย์อะไร มีแต่ตัวเลขเป็นหมื่นๆบรรทัด ถถถถ+
ต้นคลิปเกือบจะพูด game-rop-dot-org แล้ว ถถถ+
Images and Pixels
https://processing.org/tutorials/pixels/
Fanpage : http://fb.me/sornram9254Fan
Facebook : http://fb.me/sornram9254
https://blog.sornram9254.com