Quishing: saat phishing bersembunyi di balik kode QR
“Pindai kode ini untuk menandatangani dokumen.” Kalimatnya tampak tidak berbahaya, begitu juga kotak kecil hitam-putih itu. Padahal di balik kode QR tersebut sering tersembunyi halaman login palsu. Teknik ini punya nama: quishing, gabungan dari “QR” dan “phishing”. Mari kita lihat mengapa teknik ini begitu ampuh, dan bagaimana membongkar lalu melaporkan situs yang bersembunyi di baliknya.
Apa itu quishing?
Kode QR tidak lain adalah teks yang ditulis dalam kotak-kotak kecil. Biasanya teks itu berupa alamat web. Saat dipindai, ponsel membaca teks tersebut dan menawarkan untuk membuka halamannya.
Quishing memakai skenario phishing klasik, tetapi mengganti tautan yang bisa diklik dengan kode QR:
- dokumen yang “perlu ditandatangani” atau “dibagikan kepada Anda”;
- autentikasi dua faktor yang “harus diaktifkan ulang sebelum malam ini”;
- paket yang tertahan, tilang, pengembalian dana.
Quishing juga muncul di luar email: stiker yang ditempel di atas kode QR asli pada mesin parkir, stasiun pengisian daya, atau menu restoran. Prinsipnya tetap sama: membuat orang memindai, lalu membuat orang mengetik.
Mengapa kode QR bisa lolos dari jaring
Filter email sangat andal dalam satu hal: membaca teks pesan, menemukan tautan, dan memeriksa ke mana tautan itu mengarah. Namun kode QR bukan tautan, melainkan gambar. Bagi filter yang tidak bisa mendekodenya, email itu… sama sekali tidak berisi tautan. Email tersebut malah tampak lebih bersih daripada pesan biasa.
Sebagian filter kini sudah bisa membaca kode QR. Para penipu menyesuaikan diri dengan mempersulit pembacaannya:
- kode QR ditaruh di lampiran PDF, bukan di badan pesan;
- kode digambar dengan tabel sel berwarna atau dengan karakter, bukan sebagai gambar;
- kode dipotong menjadi dua gambar yang ditempel berdampingan, atau sedikit dibuat miring.
Bagi mata manusia, tidak ada yang berubah: ponsel membaca kode itu tanpa kesulitan. Bagi robot, itu satu teka-teki lagi. Logika petak umpet yang sama dijelaskan dalam panduan Phishing: cara penipu meloloskan email mereka.
Lompatan besar: dari komputer ke ponsel
Kekuatan sebenarnya dari quishing ada di tempat lain: teknik ini membuat kita berganti perangkat. Email tiba di komputer yang sering dilindungi perusahaan: filter web, antivirus, pemeriksaan tautan. Tetapi untuk memindai, kita mengeluarkan ponsel. Dan di sanalah semuanya berubah:
- ponsel sering kali milik pribadi, tersambung lewat 4G atau 5G, di luar jaringan dan perlindungan perusahaan;
- layarnya kecil: alamat halaman terpotong, bahkan tersembunyi;
- kita login dengan cepat, karena kebiasaan, di sela dua pekerjaan.
Dengan kata lain, jebakan tidak terpasang di tempat para penjaga berdiri. Halaman quishing sering dirancang khusus untuk ponsel. Dan banyak di antaranya adalah halaman “perantara” yang mampu menembus autentikasi dua faktor: itulah topik panduan AiTM: saat phishing mencuri sesi Anda, bukan hanya kata sandi.
Membaca alamat tersembunyi… tanpa membukanya
Untuk menganalisis kampanye quishing, langkah pertama adalah mengubah kode QR menjadi teks, tanpa pernah mengunjungi halamannya. Ada beberapa cara:
- Kamera ponsel biasanya menampilkan alamat sebelum membukanya. Kita baca saja, jangan diketuk.
- Aplikasi pembaca kode QR yang diatur untuk menampilkan teks tanpa membuka peramban.
- Di komputer, kita ambil tangkapan layar kode tersebut lalu membacanya dengan dekoder luring, misalnya alat gratis
zbarimg:
$ zbarimg capture.png
QR-Code:https://sho.rt.example/x7Kp
Kini kita punya alamat seperti alamat lainnya. Simpan baik-baik: itulah barang buktinya.
Mengenali domain dan infrastrukturnya
Alamat web dibaca sedikit seperti alamat pos yang ditulis terbalik. Nama yang penting, yaitu domain, berada tepat sebelum “/” pertama setelah https://. Semua yang ada di sebelah kirinya bisa dipilih bebas oleh pemiliknya.
https://login.docs-m1crosoft.example/auth
Di sini domainnya adalah docs-m1crosoft.example, bukan Microsoft. Kata “login” di awal tidak membuktikan apa pun. Jebakan yang sama pada microsoft.com.verification.example: domain aslinya adalah verification.example. Ada domain yang bertindak lebih jauh dengan memakai huruf dari aksara lain yang mirip huruf kita: lihat Punycode dan homograf: saat domain palsu mirip dengan yang asli.
Setelah domain ditemukan, kita cari siapa yang bisa bertindak. Tiga pihak selalu muncul:
- Registrar adalah “catatan sipil” nama domain: perusahaan tempat domain itu dibeli. Registrar bisa menangguhkan domain, sehingga semua halaman yang memakainya ikut mati. Kita menemukannya lewat pencarian RDAP atau WHOIS atas domain tersebut, yang juga menunjukkan tanggal pembuatannya: domain yang dibuat tiga hari lalu untuk sebuah “bank” adalah pertanda sangat buruk.
- Hosting adalah pemilik gedung: perusahaan yang servernya menampilkan halaman. Hosting bisa menghapus halaman atau mematikan server.
- CDN (seperti Cloudflare) adalah meja resepsionis di depan gedung: CDN menyajikan halaman menggantikan server dan menyembunyikan alamat aslinya. CDN menerima laporan, bisa menampilkan peringatan, dan meneruskan keluhan ke hosting.
Apa yang dilakukan jika kode QR mengarah ke beberapa domain?
Ini sangat sering terjadi: kode QR tidak langsung menuju halaman jebakan, melainkan ke rantai pengalihan. Penyingkat tautan, lalu layanan sah yang disalahgunakan untuk mengalihkan ke tempat lain, kadang pemeriksaan “Apakah Anda manusia?”, dan akhirnya halaman login palsu.
Setiap mata rantai punya penanggung jawabnya sendiri, dan setiap mata rantai bisa dilaporkan:
- Halaman akhir lebih dulu: domainnya (ke registrar) dan servernya (ke hosting atau CDN).
- Mata rantai pertama berikutnya, yang tertulis di kode QR. Ini titik lemah penipu: kode QR yang sudah dicetak atau dikirim tidak bisa diubah lagi. Jika tautan pertama ini diputus, semua kode yang sudah tersebar menjadi tidak berguna.
- Para perantara terakhir: penyingkat tautan biasanya memblokir tautan penyalahgunaan dengan sangat cepat, dan situs sah yang dijadikan batu loncatan sangat berkepentingan untuk tahu.
Kita catat seluruh rantai, lengkap dengan tanggal dan jam: penipu sering mengganti tujuan akhir, dan laporan yang bertanggal membantu tim yang menerimanya.
Melaporkan kampanye dengan Baitback
Kode QR tidak membuat email itu lenyap: pesannya dikirim oleh sebuah server milik penyedia hosting. Kita tempelkan sumber lengkap email ke Baitback: alat ini menemukan server pengirim, hostingnya, dan alamat pelaporannya, memeriksa SPF, DKIM, dan DMARC, lalu menyiapkan pesan laporan yang siap dikirim. Untuk memahami apa yang diceritakan baris-baris header itu, lihat Bagaimana email berpindah dari pengirim ke penerima.
Alamat hasil dekode kode QR juga dilaporkan ke registrar, hosting, atau CDN yang sudah dikenali di atas, serta ke platform perlindungan peramban yang diingatkan oleh Baitback (Google Safe Browsing, Microsoft, Netcraft…). Dalam beberapa jam, halaman itu bisa diblokir bagi jutaan pengguna.
Bagaimana jika kita sudah memindai dan mengetik kata sandi?
Jangan panik, tetapi jangan menunda. Dari perangkat tepercaya, kita ganti kata sandi akun yang bersangkutan, gunakan opsi “keluar dari semua sesi” jika tersedia, dan beri tahu tim TI jika itu akun kantor. Mengganti kata sandi saja tidak selalu cukup: panduan tentang serangan AiTM menjelaskan alasannya.
- Kode QR hanyalah alamat yang ditulis dalam kotak-kotak kecil: ia layak dicurigai sama seperti tautan.
- Kode QR sering lolos filter karena tampak seperti gambar, bukan tautan.
- Ia memindahkan kita dari komputer yang terlindungi ke ponsel yang kurang diawasi dan berlayar lebih kecil.
- Kita mendekodenya untuk membaca alamat tanpa membukanya, lalu memisahkan domain asli, tepat sebelum “/” pertama.
- Setiap mata rantai (domain, server, pengalihan) bisa dilaporkan, begitu pula emailnya sendiri.