Writeup Kualifikasi Findit Ugm
Berikut adalah writeup tim kami Alakadarnya Pada tanggal 31 mei 2021 kami mengikuti kompetisi CTF FindIT yang di laksanakan oleh unvirsitas Gajah mada, dan berikut daftar tim yang mengikuti kompetisi ini, saya bermain bersama dua rekan saya yaitu bang rafi dan Takumi
CTF kali ini dilaksanakan selama 12 jam yaitu dimulai pukul 08:00 - 20:00, dan berikut challange yang berhasil kami selesaikan
Crypto
======================================
64
Diberikan sebuah file flag.txt, berisi base64 yang terus berulang. Untuk mempermudah menyelesaikan challange ini kita buat solver seperti berikut.
========================================== import base64 a = open("flag.txt",'r') r = a.read() print(r) ajar = base64.b64decode(r) for x in range(20): ajar = base64.b64decode(r) if ajar == "Find": break r = ajar print(ajar) r.close() ==========================================
Dan berikut output dari skrip
FindITCTF{n_t1m35_3NcoD3d_bA5364}
Solvable Random
Diberikan file encode.py:
Setelah melakukan beberapa percobaan penulis menyadari bahwa nilai return dari random.randrange(0, 26) akan selalu sama. Hal ini dikarenakan seed yang dipakai selalu sama yaitu “FINDIT”. Maka yang harus kita lakukan adalah mencari shift_key dari masing-masing karakter untuk melakukan decipher, dan ditemukanlah shift_key sebagai berikut: shift_key = [7, 4, 11, 12, 11, 25, 13, 8, 4, 0, 3, 6, 17, 0, 11, 1, 4, 0, 25, 7, 24, 0, 8, 22, 0] Solver:
FindITCTF{n0t_t0o_r4Nd0M}
Baby SHA
Diberikan file chall.py
Dan output.txt yang berisi output dari chall.py. Untuk menyelesaikan challenge ini kita perlu melakukan bruteforce dengan karakter-karakter ascii printable sebagai payloadnya. Payload ini akan di encrypt terlebih dahulu dengan enkripsi sha512 (enkripsi yang sama dengan cipher), lalu hasil enkripsi dari payload kita (current_encrypt), akan dibandingkan dengan current_cipher_value, jika hasilnya sama maka dapat dipastikan karakter tersebut adalah potongan dari flag. Solver:
FindITCTF{BAbY_S3cUr3_H4sh_4l90r17HmZ_256__}
Baby RSA
- Catatan: pada flag terdapat printable non ascii(range 255) character. Diberikan file chall.py
Dan output.txt yang berisi output dari chall.py. Permasalahan pertama adalah, N yang diberikan tidak lengkap / dipotong (diubah menjadi x). Jadi kita perlu melakukan bruteforce untuk menebak/mendapatkan 6 digit (bagian N) yang hilang
Bruteforce:
Kita sudah mendapatkan 6 bagian karakter/angka N yang hilang yaitu “133861”. Maka selanjutnya kita hanya perlu menempatkan digit-digit angka tersebut, ke tempat yang seharusnya (mengubah “x” menjadi digit-digit pada N_masked, dan diletakkan secara berurut) untuk mendapatkan nilai N. Setelah mendapatkan N, kita bisa melakukan “bruteforce” untuk mendapatkan karakter-karakter flag yang ada pada variabel C.(Variabel C mempunyai isi / data yang sama, dengan variabel C didalam file output.txt). Dengan catatan value c ** e % N harus sama dengan value x (index ke-n, dari variabel C).
*Catatan, dikarenakan penulis tidak tau pasti, batas / nilai maksimal dari karakter(non-ascii), maka penulis memasukkan range 100000. Decrypt:
FindITCTF{R1v357–5H4M1r–4dl3M4n_bF}
Forensic
======================================
Isyarat
Diberikan sebuah chall wav decoder berisi sandi morse lansung aja kita decode menggunakan tools online
FindITCTF{FindITCTF{84CKTOOLDD4YS}}
Snow
Diberikan sebuah file txt dari sini langsung saja kita menggunalkan tools stegsnow dengan perintah stegsnow -c txt.txt lalu akan muncul sebuah url
Lalu kita buka file tersebut dan kita download
Penulis mencoba string pada gambar ternyata terdapat sebuah file lalu lansung saja dibinwalk dan buka file flag
root@udin-virtual-machine:/media/udin/memory/ctf/find_it_2021/snow# binwalk -e -D=".*" file.jpg DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 JPEG image data, JFIF standard 1.01 16830 0x41BE Zip archive data, at least v2.0 to extract, compressed size: 47, uncompressed size: 45, name: flag.txt 17005 0x426D End of Zip archive, footer length: 22
FindITCTF{FindITCTF{573g4No_JU57_n33D_4_L177l3_3fFOr7}}
Osint
======================================
UGM IP Transit Provider
There are 2 ISP providing internet access to Universitas Gadjah Mada. One ISP acts as a main/default, and the other one acts as backup/failover. Could you find the AS number of main / default IP Transit / Internet Gateway provider for Universitas Gadjah Mada?
Diberi tau jika terdapat dua ip access provide pada univ gadjah mada, dari sini kita coba provider univ gadjah mada. setelah author melakukan osint dapat dikethaui ASN dari univ gadjah mada adalah berikut AS45705 dari sini tinggal kita cari asn tersebut dan cari provider as yang digunakan
FindITCTF{AS7713}
Sedia Kos
This photo was taken in somewhere near Yogyakarta City. Can you find the street name this photo was taken? (Don’t forget the flag format is FindITCTF{Street_Name})
Diberikan satu buah file gambar, di gambar tersebut terdapat tulisan di atap gedung “U”. Kami pikir itu adalah terusan tulisan “Universitas”. Lalu dilihat-lihat lagi gambarnya terdapat iklan “Sedia Kos” dengan domain www.rumahinggrisjogja.com. Berdasarkan iklan tersebut, kami berasumsi jalan pada foto tersebut berada di Jogjakarta di dekat Universitas. Jadi, kami mencoba menelusuri melalui Google Map.
Kami menemukan gedung dengan atap bertuliskan “UIN”. Dilihat dari warna dan fontnya, kami pikir memang itu gedungnya. Lalu kami mencoba melakukan penelusuran menggunakan Google Street di sekitaran kampus tersebut. Dan ditemukan tempatnya.
FindITCTF{Bimo_Kurdo}
Mega Chad
please reply to my DMs I love you so much . #megachad #model #sleekntears #aesthetic #fit #gym #gymlovers #lifestyle #doyouevenlift #photography #ironlovers #artist #art #ink #blackandwhite #drawing #draw #illustration #artistsofinstagram #instaart #portait #portugal
Diberikan satu buah gambar, lalu kami mencoba mencari gambar tersebut namun tidak membuahkan hasil. Akhirnya kami mencoba melakukan pencarian di Google dari deskripsi soal. Ditemukan 1 akun instagram dengan gambar sesuai chall. https://www.picuki.com/media/2251669267451661948
Terdapat 1 akun yang berkomentar 2 minggu yang lalu, yaitu strabarjo. Kami menelusuri akun tersebut. Dan ada IG Storynya.
Lalu kami lihat foto profilnya menggunakan https://www.instadp.com/, dapat flagnya.
FindITCTF{av3rA93_9AN_fAc3_X1x1X1}
Misc
======================================
Monalisis
Thank you ISIS practicum for giving me the idea to make this prob. Maybe you will come across this problem at a later date, with extra difficulty.
Diberikan 1 buah file .csv yang isinya seperti kode RGB. Jadi kami mencoba mengekstraknya lalu dirender dalam bentuk gambar. Untuk itu kami membuat script sederhana:
hasil output
FindITCTF{1S1s_1s_lYF3}
Pada akhir freeze berikut adalah posisi scoreboard yang kami raih
*scrore freze peserta bisa naik peringkat tanpa diketahui
Dan masih ada lgi dibawahnya tapi tidak dapat kami capture secara panjang, mohon maaf jika ada kesalahan dan kekurangan semoga ctf kali ini jadi pembelajaran bagi kami dan terus dapat berkembang