Pekan lalu, jagat web development dibikin jantungan. Sekitar 1,2 juta situs WordPress terkena imbas serangan supply chain (rantai pasok) yang teramat sunyi. Hebatnya, para admin situs ini sebenarnya tidak melakukan kesalahan apa-apa. Mereka tidak pasang plugin bajakan, dan sistem mereka pun sudah up-to-date. Tapi, dari balik layar, sebuah skrip jahat diam-diam membuat akun admin bayangan dan menanam backdoor.

Jujur aja, ini edan banget. Insiden yang diungkap pertama kali oleh tim keamanan Sansec pada 13 Juni 2026 ini masuk lewat plugin-plugin terpercaya. Tiga nama besar yang terdampak adalah OptinMonster, TrustPulse, dan PushEngage—semuanya dikelola oleh satu perusahaan yang sama, yakni Awesome Motive. Buat kamu yang sering mainan digital marketing, pasti tidak asing dengan plugin ini yang biasa dipakai buat pop-ups, notifikasi social proof, dan browser push messages.
Bagaimana Bencana Ini Terjadi Tanpa Disadari?
Skema serangannya terbilang jenius sekaligus mengerikan. Alih-alih merusak source code plugin yang diinstal di server korban, si peretas justru mencegat dari sumbernya langsung: Content Delivery Network (CDN) milik vendor. Setiap plugin tadi butuh memuat JavaScript SDK dari CDN resmi vendor agar bisa jalan. Nah, SDK inilah yang diracun.
Kode jahat tersebut disisipkan tepat di akhir file SDK yang sudah di-minify. Hasilnya? Plugin tetap berfungsi normal. Pop-up diskon tetap muncul, notifikasi tetap jalan, dan pemilik situs melihat websitenya baik-baik saja. Namun, saat seorang Administrator yang sah login ke dashboard WordPress dan membuka halamannya, mimpi buruk itu dimulai.
Anatomi Payload: 5 Fase Eksekusi Senyap
Peneliti dari Patchstack membongkar sampel payload ini dan menemukan bahwa peretas mendesainnya dalam beberapa tahapan yang sangat hati-hati agar tidak memicu alarm keamanan.
1. Menghindari Deteksi (Anti-Bot)
Sebelum bereaksi, skrip akan memastikan ia tidak sedang diuji di dalam sandbox peneliti atau crawler otomatis. Ia mengecek keberadaan navigator.webdriver, penanda headless browser seperti window._phantom dan window.__nightmare, serta ukuran jendela browser. Ia juga mengecek jejak admin WordPress lewat admin bar, path /wp-admin/, dan keberadaan cookie wordpress_logged_in_. Jika yang mengakses bukan admin sungguhan, skrip ini akan pura-pura mati. Ia juga menaruh penanda di browser agar tidak mengeksekusi ulang di mesin yang sama selama 24 jam.
2. Membajak Otoritas Admin
Sistem keamanan WordPress sejatinya dilindungi oleh token sekali pakai yang disebut nonce. Skrip nakal ini memanen nonce valid langsung dari halaman yang sedang dibuka admin (dari wpApiSettings, admin-ajax.php, atau halaman pembuatan user baru). Bermodalkan nonce dan login cookie milik admin, skrip kini bisa mengirim request yang dianggap sah oleh server.
3. Membuat Akun Siluman
Membawa hak akses dewa, ia mencoba membuat akun admin baru melalui empat rute berbeda secara berurutan hingga salah satunya tembus:
- Melalui REST API dengan POST ke
/wp-json/wp/v2/users. - Submit form biasa via
/wp-admin/user-new.php. - Pemanggilan AJAX ke
/wp-admin/admin-ajax.php. - Memuat iframe berukuran 1x1 piksel yang tersembunyi untuk mengeksekusi pembuatan user.
Akun yang ditanam bernama developer_api1 (dengan email [email protected]) atau nama acak berpola dev_xxxxxx. Gila-nya lagi, skrip ini membawa kamus kecil berisi pesan error "user already exists" dalam 20 bahasa berbeda untuk mendeteksi kesuksesan injeksi di berbagai lokalisasi WordPress!
4. Instalasi Backdoor
Sekarang punya akses pintu depan, peretas memasang pintu belakang (backdoor). Skrip mengunduh file ZIP dari server penyerang dan mengunggahnya sebagai plugin via /wp-admin/update.php. Agar tak mencolok, namanya disamarkan jadi "Content Delivery Helper" atau "Database Optimizer". Setelah aktif, plugin ini menghapus dirinya sendiri dari daftar plugin aktif, menyembunyikan user siluman dari user list, dan membungkam activity log. Sansec menemukan bahwa backdoor ini membuka web shell via parameter ?developer_api1_fm (untuk perintah sistem) dan ?developer_api1_eval (untuk eksekusi kode bebas).
5. Eksfiltrasi Data
Semua hasil eksploitasi kemudian disandikan menggunakan kunci XOR (jX9kM2nP4qR6sT8v) dan dikirim ke server komando tidio.cc. Agar tak terdeteksi firewall, lalu lintas ini dikamuflase dengan path ala Cloudflare seperti /cdn-cgi/....
Kenapa Firewall Susah Deteksi? Karena secara jaringan, yang melakukan request jahat ini adalah browser milik Administrator yang sah! Session-nya asli, IP-nya asli, dan nonce-nya valid. Sang admin di sini murni sebagai korban pembajakan sesi.
Siapa Pelakunya dan Seberapa Parah Dampaknya?
Atribusi dalam dunia keamanan siber itu pelik. Server tidio.cc didaftarkan pada 28 April 2026 (sekitar enam minggu sebelum serangan) menggunakan layanan Ultrahost. Nama domainnya sengaja dibuat mirip dengan layanan live chat populer, Tidio, untuk mengelabui mata analis jaringan.
Log deteksi internal Patchstack menunjukkan betapa organiknya serangan ini: request nakal tercatat datang dari 81 alamat IP berbeda yang tersebar di 13 situs. Sekitar 60% di antaranya berasal dari perangkat mobile, menegaskan bahwa eksekusi benar-benar menunggangi koneksi internet rumah dan seluler milik admin asli yang sedang iseng mengecek web mereka. Durasi serangannya bervariasi; OptinMonster dan TrustPulse mendistribusikan kode beracun ini selama kurang lebih 25 menit pada 12 Juni, sementara PushEngage terus bocor hingga 14 Juni.
Pihak Awesome Motive menduga pintu masuk awal penyerang berasal dari eksploitasi celah keamanan (CVE-2026-10795) pada plugin UpdraftPlus yang kebetulan terpasang di situs marketing mereka. Dari sana, peretas berhasil mencuri API Key untuk mengotak-atik file SDK di CDN. Sansec belum bisa mengonfirmasi klaim UpdraftPlus ini secara independen, mengingat perusahaan ini juga menaungi raksasa lain seperti WPForms (6 juta installs), All in One SEO (3 juta), dan MonsterInsights (2 juta). Beruntung, ketiganya belum terdeteksi ikut menelan pil pahit ini.
Tren supply chain ini makin mengkhawatirkan. Dalam hitungan bulan di tahun yang sama, kita melihat kasus serupa: plugin yang dibeli dari Flippa (EssentialPlugin) ditanami backdoor dorman sejak 2025 dan baru diaktifkan bulan April, serta pembaruan beracun dari Smart Slider 3 Pro. Belum lagi kasus Polyfill di tahun 2024 yang domainnya berpindah tangan ke pihak bermasalah.
Mitigasi: Apa yang Harus Dilakukan?
Kalau kamu sempat login ke situs WordPress-mu (yang memakai OptinMonster, TrustPulse, atau PushEngage) antara tanggal 12 hingga 14 Juni 2026, asumsikan situsmu sudah compromised. Memperbarui CDN vendor saat ini tak akan menghapus backdoor yang sudah telanjur tertanam. Lakukan langkah forensik mandiri berikut:
- Audit Akun Admin: Cek database (bukan cuma dari menu WP Admin karena disembunyikan). Buang segera akun
developer_api1atau yang berawalandev_xxxxxx. - Inspeksi Filesystem: Cek folder
wp-content/plugins/. Cari direktori asing seperticontent-delivery-helperataudatabase-optimizer. Grep/cari kode yang memuatdeveloper_api1_fm,developer_api1_eval, dan kuncijX9kM2nP4qR6sT8v. - Gunakan Server-side Perangkat Lunak Berbahaya Scanner: Jangan cuma andalkan plugin security. Pindai langsung dari level server.
- Rotasi Kredensial Total: Ganti semua password admin, API keys, kredensial database, serta segarkan Security Keys & Salts di dalam file
wp-config.php. - Blokir Jalur Komunikasi: Tambahkan aturan di tingkat jaringan atau DNS untuk memblokir trafik ke
tidio.cc.
Tragedi ini jadi pengingat keras buat kita. Situs bisa saja ditambal rapat, diurus dengan standar keamanan militer, tapi tetap remuk karena mengimpor skrip "pihak ketiga" saat admin sedang login. Plugin yang kamu instal bukan satu-satunya ancaman; skrip eksternal yang dipanggil oleh plugin tersebut memegang kunci kehancuran yang setara.