Skip to main content
Analisis Alur Serangan Email Phising di Universitas X
  1. blog/

Analisis Alur Serangan Email Phising di Universitas X

·2 mins·

(Jika ada kekeliruan, saya terbuka untuk koreksi dan diskusi lebih lanjut.)

Body email phishing
Sebagian body email phishing yang diterima mahasiswa

Serangan ini terjadi pada tanggal 6 Maret yang lalu. Di sini tidak dibahas bagaimana email bisa dikirim dan siapa pelakunya, melainkan alur yang terjadi ketika seorang korban masuk ke permainannya.

Diagram alur phishing
Diagram alur website phishing

Secara garis besar ada dua proses utama:

  1. Verifikasi kredensial korban
  2. Pengiriman data kredensial ke pelaku (dilakukan jika kredensial dikatakan valid oleh proses pertama)

Verifikasi Kredensial Korban
#

Ketika korban mengisi form pada halaman palsu (dalam diagram diberi kode FE), data email dan password akan dikirim ke endpoint /api/login. Endpoint ini kemudian meneruskan data ke endpoint login milik universitas dan menentukan apakah kredensial yang didapat dari FE valid atau tidak berdasarkan response dari endpoint login universitas. Berikut contoh respons yang dikembalikan oleh endpoint /api/login kepada FE.

Response valid
Response jika kredensial dianggap valid oleh /api/login
Response tidak valid
Response jika kredensial dianggap tidak valid oleh /api/login

Yang menarik di sini adalah bagaimana /api/login menentukan validitas kredensial: API login universitas selalu mengembalikan status code 200 bahkan ketika autentikasi gagal, sehingga /api/login tidak bisa bergantung pada kode status. Sebagai gantinya, /api/login menentukan validitas berdasarkan pesan error di dalam body respons.

Cukup cerdik, namun menjadi masalah ketika pihak universitas menambahkan fitur captcha pada halaman login. Karena request yang dikirimkan oleh /api/login tidak menyertakan captcha, respons error dari API login universitas akan menunjukkan masalah terkait captcha. Berdasarkan algoritma di atas, respons dari /api/login ke FE akan selalu bertipe success ketika fitur captcha diterapkan, meskipun data dari FE tidak valid.

Pengiriman Data Kredensial Korban ke Pelaku
#

Pengiriman data hanya dilakukan ketika kredensial dianggap valid oleh /api/login. Pengiriman ini dilakukan melalui bot Telegram; data yang dikirim berisi username, password, dan alamat IP korban.

Kode JavaScript
Potongan kode JavaScript yang berisi algoritma dan kredensial bot (kredensial sudah di-revoke saat tulisan ini dibuat)

Setelah pengiriman data ke Telegram pelaku berhasil, korban diarahkan ulang ke halaman login email milik universitas—mungkin pelaku berharap pengguna akan login seperti biasa dan tidak merasa curiga. Skema di atas relatif “bersih”: pelaku (seharusnya) hanya menerima kredensial yang terbukti valid. Namun pada praktiknya akun Telegram pelaku justru kena spam 🤣

Ada banyak pertanyaan menarik untuk digali lebih jauh, misalnya: mengapa targetnya akun mahasiswa? Apa yang ingin difarming pelaku? Apakah target sebenarnya lebih besar dari sekadar akun mahasiswa? Pertanyaan-pertanyaan ini belum terjawab, jadi tidak dibahas di sini 😅

Askarhabibulloh
Author
Askarhabibulloh