Peretas
/ ~8 menit membaca / bukan peretas, pada akhirnyaDaftar Konten
Pengenalan
Kita sering kali ketika mendengar ada peretas mungkin menduga, "oh, dia yang suka ngacak-ngacak medsos orang", atau, "dia yang hobinya masuk kedalam sistem dan mengambil data-data didalamnya", dst.
Kenyataannya itu benar, karena yang sering kita dengar mungkin adalah tindak kejahatan yang dilakukan seseorang yang menyebut dirinya seorang peretas. Tindakan ini biasa digolongkan sebagai peretas black hat.
Kita sudah tahu sedikit tentang peretas 'topi hitam'. Mungkin akan timbul pertanyaan seperti, "kalau ada peretas black hat, berarti ada dong lawannya (peretas white hat)?" Jawabannya adalah ada, dan itu yang akan menjadi topik pembahasan kali ini.
Apa sih peretas itu
Berbicara mengenai peretas, jadi apa sih peretas itu? merujuk pada Wikipedia, peretas adalah seorang ahli komputer yang menggunakan pengetahuan teknis nya untuk mencapai suatu tujuan atau mengatasi kendala, dalam sistem komputerisasi dengan cara non-standar.
Dalam praktiknya, peretasan bisa menggunakan cara apa saja; tidak peduli itu cara yang legal atau pun ilegal. Peretas, dalam hal ini golongan 'topi putih', lebih menggunakan cara-cara yang legal (tapi non-standar) untuk masuk ke dalam sistem targetnya tanpa merusak sistem hingga down, mengambil data yang tidak dibenarkan, dst. Teknik ini dinamakan ethical-hacking.
Jadi bisa dianalogikan seperti: seseorang yang asing datang ke sebuah rumah, lalu seseorang itu berkeinginan masuk ke dalam rumah itu. Berhubung pintu depan terkunci, maka tugas orang itu adalah bagaimana masuk tanpa melakukan tindakan yang bisa merugikan pemilik rumahnya. Maka orang itu mencoba mencari tahu kombinasi dari kunci pintu itu, dan setelah melalui beberapa percobaan akhirnya pintu berhasil dibuka dan orang itu pun, karena 'topi putih', hanya sekedar meninggalkan 'message' untuk pemilik rumah dan memberitahu kalau dia berhasil masuk dan bagaimana cara mengatasinya. Setelah itu, dia menutup pintu lalu menguncinya kembali, dan meninggalkan rumah tanpa membawa barang-barang si pemilik rumah.
Untuk lebih jelas mengetahui bagaimana proses step-by-step seorang peretas bekerja, maka ada kompetisi yang dinamakan Capture the flag.
Capture the flag
Capture the flag (CTF) adalah jenis kompetisi keamanan informasi khusus [sumber: https://ctftime.org/ctf-wtf]. Intinya adalah kita disuruh mencari dan mengumpulkan format tulisan khusus, biasa disebut flag, untuk menambah poin dan menang dalam kompetisi ini.
Dalam kompetisi ini peserta dibagi dalam beberapa tim yang berjumlah kira-kira 1-3 orang. Dalam kasus yang lain bisa lebih dari itu. Materi yang diujikan pun bisa beragam, biasanya: cryptography, stego, binary analysis, reverse engineering, web security, dsb.
Untuk menemukan flag kita dituntut untuk menyelesaikan suatu masalah, mulai dari yang mudah sampai yang kompleks, yang sudah disiapkan sebelumnya oleh dewan juri. Flag pada umumnya akan ditemui dengan format seperti: the_flag{muda_h_buk4n_4y78721ki1} .
Setelah kita mengetahui apa itu Capture the flag, mari kita coba sekarang.
Pengantar CTF
Saya asumsikan anda sedang menggunakan pc/laptop dalam proses ini. Jika tidak, maka silahkan disimak dan disimpan untuk nanti.
Oke, silahkan buka inspect elements, lalu cari flag nya dengan cara (masih di dalam inspect elements) Ctrl+F, lalu ketikkan kata kunci my_flag, jika benar maka akan ketemu, dan itu flag pertama anda.
Setelah itu apa? Biarkan saja, atau Flag bisa di submit di kolom komentar di bawah, atau terserah anda mau ditaruh dimana wkwkw.
Selanjutnya ada sebuah string terenkripsi dengan base64 bXlfZmxhZ3toZXJlX3RoM19zM0Nvbl9kX2ZsQV85XzFzSmkyfQ==. Kata kunci flag-nya adalah: ada yang disebut base64 decode.
Jika anda sudah bisa mengetahui isinya, maka itu adalah flag anda yang kedua. Mantap.
Gitu aja? mudah sekali, ya. Eitss dalam prakteknya jauh lebih rumit. Kita masih sampai pada bagian pengantarnya saja, belum yang 'beneran', yang lebih menantang.
CTF lanjutan
Kita akan masuk ke soal yang agak rumit yang akan kita pecahkan bersama-sama.
Kunjungi https://2019shell1.picoctf.com/problem/12284.
Ketika sudah mengunjungi laman tersebut, kira-kira ada yang aneh?
Silahkan anda masuk dengan username & password terserah anda. Jika sudah masuk maka kita akan disajikan dengan halaman home:

Sekarang sudah merasa ada yang aneh? Jika sudah, mungkin akan timbul pertanyaan di benak kita, "kok bisa masuk?" Dari sini kita harus mulai curiga dengan si pembuat soal. Berhasil masuk tapi kok tidak ada flag untuk kita? Mari kita telusuri bersama sumber persoalannya.
Pertama, kita harus pastikan tidak ada 'kotak misteri' yang harus kita pecahkan terlebih dahulu saat di halaman awal.

Kedua, perhatikan perilaku laman ketika ketika berhasil masuk tanpa ada validasi input, peringatan, ataupun yang lainnya dari browser.

Pada lingkaran nomor 1 kita diberitahu bahwa kita berhasil melakukannya dan flag sebenarnya sudah ada disini tapi tidak nampak dalam pandangan kita.
Pada lingkaran nomor 2 si pembuat soal seakan memberi sinyal kepada kita bahwa flag yang sedang kita cari bukan di halaman ini, tidak untuk saat ini. Kita diminta memanipulasi sesuatu untuk memunculkan flag nya, dan itu mungkin sudah kita sadari ketika sudah melihat kedua lingkaran yang saling berkaitan. Secara tidak langsung si pembuat soal mengajak kita untuk mengidentifikasi isi dari halaman saat ini.
Maka yang kita telusuri pertama kali adalah elements pada HTML.

Apakah ada yang aneh? Apakah si pembuat soal meninggalkan pesan atau sesuatu? Hm... Saya rasa tidak ada keanehan.
Langkah selanjutnya, kita akan mengecek browser cookie, untuk melihat apakah si pembuat soal meninggalkan clue atau apapun yang membantu.

Pada application, buka bagian Cookies, dan klik alamat url yang ada disitu.
Perhatikan gambar dibawah ini

Titik terang mulai muncul. Si pembuat soal sudah memberikan kita clue untuk mendapatkan flag yang kita cari.
Sadar atau tidak username dan password yang kita masukkan tadi berada di dalam situ (username & password)? Lalu kita juga 'dikasih tahu' oleh si pembuat soal kalau kita itu bukan admin, benar? Maka jika kita bukan admin dan flag itu ada disini maka kita butuh akses admin untuk membuat flag itu muncul. Maka cara termudah untuk membuat kita bisa mempunyai akses admin adalah mengubah value dari admin yang sebelumnya False menjadi true True.

"Sudah diubah halamannya kok masih munculin yang sama?" Karena kita mengubahnya pada bagian client maka kita harus memberi tahu server kalau kita sudah mengubah value dari admin dan biarkan server memproses permintaan kita dengan cara me-refresh halaman.
Dengan kita me-refresh halaman, client akan mengirim Cookies kepada server, lalu server membaca kita sebagai admin (karena kita ubah value dari admin) dan jika berhasil maka server akan mengirimkan flag yang kita cari kepada client, dan client akan menampilkannya kepada kita.
Hasilnya:

Kesimpulan
Setelah kita mengetahui sedikit dari bagaimana peretas itu bekerja, dan bagaimana kita memposisikan diri sebagai 'peretas' dengan sedikit bermain CTF yang baru saja kita selesaikan bersama. Semoga memberikan kita wawasan baru yang bisa membantu kita lebih mengenal dan lebih berhati-hati dengan peretasan, dan bagaimana feel menjadi peretas melalui CTF.
To beat a hacker you have to think like one.
Jika anda tertarik untuk berlatih atau belajar CTF, seperti contoh yang kita selesaikan diatas, bisa kunjungi https://2019game.picoctf.com, atau https://www.geeksforgeeks.org/top-10-cyber-hacking-competitions-capture-the-flag-ctf/.
Terimakasih.