Minggu, 16 Juni 2024

Mengelabui Mekanisme Pendeteksi Browser CBT Dengan User Agent Spoofing

Menjaga konsistensi adalah hal yang sangat penting ketika aktivitas ujian berbasis komputer (CBT) dilakukan, salah satu caranya dengan membuat sebuah browser yang memiliki fungsi untuk itu dan inilah yang ditawarkan oleh exam browser.

Exam browser adalah browser yang digunakan untuk membuat lingkungan yang aman yang artinya browser ini memiliki fitur untuk membatasi segala hal yang dapat mengganggu konsistensi ujian seperti tindakan membuka tab lain untuk mencari jawaban, beralih ke aplikasi lain, dan sebagainya.

Namun bagaimana jika keamanan browser yang telah dirancang sedemikian rupa tersebut dapat dikelabui dengan cara yang tergolong sederhana?


Menemukan alamat web server

Tentu hal pertama yang dilakukan adalah dengan menemukan alamat web servernya. 

Dengan menangkap paket dan mencari frame yang memuat informasi tertentu di jaringan hal yang kita cari akan ditemukan.

Alamat web server


Mengakses alamat web server

Ternyata setelah menemukan alamat server yang terkait tidaklah cukup, karena terdapat mekanisme pendeteksi jenis browser yang digunakan ketika mengakses alamat tersebut.



Untuk mengetahui cara kerja pendeteksi ini kita hanya perlu tahu dari mana web server bisa mengidentifikasi tentang aplikasi, sistem operasi dan vendor yang kita gunakan.

Ya, dari user agent header!

Webserver CBT menggunakan header user agent untuk mengidentifikasi browser yang digunakan sewaktu mengakses alamatnya.

Jika nilai header yang telah ditentukan web server sama dengan nilai header browser yang mengakses, maka halaman login bakal ditampilkan. 

Namun jika tidak tampilkan pesan error 402.

Adapun gambaran besar alur pengecekannya kira-kira seperti gambar di bawah ini:



Kita hanya perlu menemukan nilai header user agent exambrowsernya untuk menipu fungsi pendeteksi ini yang mana seakan-akan web server mendeteksi kita menggunakan exambrowser dalam mengakses alamatnya. 


Masalah lain

Terdapat masalah ketika mencoba melihat paket yang lewat, di mana paket-paket ini terenkripsi dengan TLS.

Paket yang masih terenkripsi


Kita dapat mendekripsi paket yang ada dengan fitur Pre-Master Secret dari wireshark. 



Kemudian setelah terdekripsi paket HTTP/2 akan terlihat, dengan mengikuti stream paket tersebut, kita akan menemukan nilai header user agentnya. 

Paket yang telah terdekripsi


Menggunakan nilai user agent

Langkah terakhir dengan menyalin nilai header telah didapatkan ke browser yang kita gunakan, 

Contohnya di sini saya menggunakan Fitur Network Condition di Google Chrome, selanjutnya tinggal mengakses kembali alamat webserver dan akhirnya kita bisa mengelabui mekanisme ini dengan digantikannya pesan Error 402 dengan munculnya halaman login CBT.

Menyalin nilai header ke google chrome

Berhasil memuat halaman login CBT


Dampak yang terjadi

Hanya dapat mengakses ujian di luar exambrowser sebenarnya sudah merusak batasan yang seperti dijelaskan di atas. 

Karena peserta ujian dapat membuka tab baru untuk mencari jawaban, beralih ke aplikasi lain, mengunduh soal ujian, dsb.

Contoh dapat membuka tab baru


Penutup

Sebenarnya pada postingan ini saya ingin memperlihatkan bagaimana sebuah fungsi pendeteksinya dapat dikelabui dengan cara yang sangat sederhana.

Tidak ada komentar:

Posting Komentar

Postingan Lainnya

Death Bed Challenge: Petualangan Menemukan Lokasi Asli Sebuah Foto

Death bed merupakan salah satu challenge yang menarik, karena pada challenge ini kita tidak mencari suatu kerentanan pada suatu sistem, mela...