Apa yang Harus Dilakukan jika Terinfeksi Spam SEO di WordPress

Diterbitkan: 2021-05-17

Di Jetpack, menangani berbagai jenis ancaman dan serangan web adalah bagian dari rutinitas kami. Sebagian besar waktu, itu berkisar dari mengumpulkan file berbahaya dan menemukan vektor serangan, hingga memberikan bantuan untuk memulihkan situs web dari cadangan terbaru. Namun terkadang kita memasuki dimensi berbeda dari serangan yang benar-benar kreatif, dimensi infeksi ulang yang tidak dapat dijelaskan — kita memasuki ... zona senja.

Oke, saya mungkin terlalu dramatis, tapi bersabarlah saat saya mengatur adegan untuk kisah misteri ini. Siap? Bergabunglah dengan saya dalam perjalanan ke alam hantu, spam, dan mesin pencari ini.

Perilaku jahat

Kami menemukan situs web yang berada di bawah jenis serangan yang sangat menarik. Ini pertama kali muncul sebagai email yang dikirim oleh Google Search Console: URL yang tidak umum (dan URL yang sangat mencurigakan, dengan URL yang dapat diklik di dalamnya) terdaftar sebagai halaman dengan pertumbuhan teratas.

Gambar yang menunjukkan spam yang dimasukkan ke dalam URL
Halaman dengan pertumbuhan teratas Alat Mesin Pencari Google

Pemilik situs web agak kesal karena perilaku seperti ini sering kali disebabkan oleh infeksi, tetapi Jetpack tidak mendeteksi atau memperingatkan mereka tentang apa pun. Plus, halaman-halaman ini bahkan tidak ada di situs web ketika mereka memeriksanya, tetapi tetap diindeks oleh Google. Zona senja semakin intensif .

Saat kami memeriksa file mencurigakan yang mungkin terlewatkan oleh Jetpack Scan (tidak ada alat keamanan yang mendeteksi 100% ancaman), segalanya menjadi semakin aneh. Inti WordPress dan plugin tetap utuh: tidak ada file atau skrip yang disuntikkan pada database. Beberapa plugin usang tidak memiliki perbaikan keamanan apa pun, WordPress tertinggal satu versi (5.6), dan pembaruan terbaru tidak mencantumkan perbaikan keamanan besar. Tidak ada yang mencurigakan sama sekali. Tidak ada tersangka biasa, tidak ada bukti serangan; belum, kok.

Langkah logis berikutnya adalah memeriksa log akses. Mungkin itu bisa menjelaskan misteri ini. Akankah kita mendapati bahwa kita menghadapi serangan zero-day, atau bahwa kita akhirnya menemukan bukti untuk teori multiverse, dan situs web ini hanya terinfeksi di Universe #1337? Untuk log!

Kode untuk permintaan spam
Permintaan untuk spam aneh ini
Permintaan spam aneh lainnya. Mengapa Bing menyukainya?
Sepertinya Bing juga menyukainya… Tapi kenapa?

Seperti yang Anda harapkan: tidak ada yang aneh, selain banyak permintaan ke halaman spam itu seperti yang Anda lihat di tangkapan layar. Dan mereka semua mengembalikan `200 OK`. Jadi, halaman itu ada di suatu tempat dalam kontinum ruang dan waktu, atau ... tunggu sebentar ... apakah Anda melihatnya sekarang?

Semua halaman tersebut menunjuk ke lokasi yang sama: `/?s=`, artinya mesin pencari (masalahnya diketahui oleh Google, tetapi permintaannya berasal dari Bing) sedang mengindeks halaman hasil pencarian. Dan mengapa demikian? Crawler tidak melakukan pencarian di halaman, sejauh yang kami tahu, bukan?

Paradoks pengindeksan

Dasar-dasar cara kerja mesin pencari cukup mudah jika Anda berkecimpung dalam bisnis situs web. Ada robot (atau skrip otomatis) yang merayapi halaman web, mengindeks kontennya, melakukan beberapa keajaiban, dan menyimpan sumber daya yang dapat diminta di suatu tempat di cloud.

Dengan mengingat hal itu, kami menggali log sedikit lebih banyak untuk melihat apakah ada permintaan tersebut yang memiliki petunjuk lain, seperti perujuk, tetapi tidak berhasil sama sekali. Semua permintaan yang dicatat berasal dari mesin pencari. Untungnya, Google Search Console memiliki salah satu halaman rujukan di salah satu log.

Ulasan Google Search Console dari halaman
Alat Search Console Google memberikan beberapa petunjuk untuk kami.

Sekarang saya pikir sudah waktunya untuk mengganti topi Twilight Zone kami dengan topi CSI dan menggali beberapa tulang situs web untuk diletakkan di bawah mikroskop.

Untuk mata yang terlatih, mudah untuk melihat bahwa URL halaman perujuk milik situs web yang disusupi; untungnya, kami memiliki mata yang terlatih! Direktori `index.php` tidak masuk akal dan mungkin ditambahkan untuk membingungkan pemilik situs web. Selanjutnya, diikuti oleh direktori acak lain dan file PHP dengan nama acak, yang mungkin merupakan loader yang mendapatkan muatan akhir: `cargese4/cca442201.htm`, yang juga acak. Semua ini adalah karakteristik dari infeksi malware link-farm.

Pencarian cepat di Google untuk melihat apa yang diindeks untuk situs perujuk mengkonfirmasi bahwa itu memang terinfeksi dan melayani spam SEO untuk sementara waktu. Situs ini untuk perusahaan makanan di India tetapi menawarkan penawaran SUV di Jepang — ya, itu spam.

Hasil pencarian bahasa Jepang untuk serangan spam
Permintaan pencarian membawa spam dalam bahasa Jepang di situs India.

Tapi, tidak ada hasil yang ditautkan ke situs web teman kami, jadi saya memutuskan untuk mencari apakah situs lain terpengaruh oleh perilaku aneh yang sama.

Untuk mencari lebih banyak korban serangan spam ini, kami, hanya untuk tujuan pendidikan, menggunakan pengetahuan Google-fu kami untuk membuat kueri penelusuran yang akan mengembalikan situs yang diakhiri dengan .edu, yang memiliki `/?s=` di URL, dan kata "beli" di judulnya. Dan kami mendapat 22 hasil. Yang cukup untuk berburu kita.

Hasil pencarian untuk pil spam
Menggunakan situs .edu dan .gov untuk memeriksa infeksi spam menyaring domain (seperti .com) yang telah dibuat hanya untuk pertanian tautan.

Ini adalah bukti bahwa situs yang dilaporkan bukan satu-satunya yang terpengaruh; tampaknya menjadi masalah yang lebih luas. Kami merenungkan apa yang bisa membuat Google mengindeks halaman-halaman itu. Bagaimana Googlebot menjangkau mereka? Langkah selanjutnya: pemeriksa backlink.

Hasil dari pemeriksaan backlink
Hasil dari pemeriksaan backlink

Ada beberapa alat online yang menyediakan laporan tentang backlink ke situs web; yang kami gunakan dalam penelitian ini adalah Ahrefs, tetapi alat lain dapat mencapai hasil yang sama. Beberapa halaman pencarian berbahaya tercantum dalam hasil, mengonfirmasi bahwa kami berada di jalur yang benar.

Memilih salah satu situs web tersebut untuk memeriksa apa yang sedang terjadi, kami melihat hampir 5.000 komentar spam, seperti yang dapat Anda lihat di tangkapan layar berikutnya (mereka harus memeriksa Jetpack Anti-spam). Setiap komentar ditautkan ke halaman pencarian situs web dengan spam dalam kueri.

Bagian komentar yang menautkan ke hasil spam
Komentar yang menautkan ke spam

Menangkap kelinci putih

Seperti yang saya sebutkan sebelumnya, robot mesin pencari tidak melakukan kueri di halaman situs web. Tapi, jika menemukan tautan ke sana, itu akan diikuti. Dan jika halaman tidak memberi tahu skrip otomatis bahwa halaman tertentu tidak dapat diindeks, itu akan menambahkannya.

Contoh spam yang disuntikkan
Kamu yang lama menyuntikkan spam

Ini adalah metode cerdas untuk "menyuntikkan" spam ke situs web untuk mengirim spam ke hasil mesin telusur dan meningkatkan peringkat halaman situs melalui pertanian tautan yang mudah dilakukan.

Sekarang setelah kita memahami masalahnya, bagaimana kita memberi tahu bot mesin pencari untuk menghindari mengikuti tautan ke halaman pencarian (atau hanya menolak untuk mengindeksnya)? Cara terbaik adalah membuat perubahan pada WordPress Core, yang akan membantu melindungi seluruh komunitas (jika Anda ingin melaporkan bug atau ingin berkontribusi dengan kode, silakan bergabung dengan kami).

Untuk menghindari pengerjaan ulang yang tidak perlu, kami memeriksa jejak WordPress Core dan menemukan masalah ini yang diselesaikan pada versi 5.7 tetapi sayangnya tidak berhasil masuk ke changelog sebagai masalah keamanan.

Saya akan mengutip penulisnya, yang menjelaskan masalah ini lebih baik daripada yang saya bisa (terima kasih atas laporannya):

Spammer web mulai menyalahgunakan fitur pencarian situs tersebut dengan mengirimkan istilah spam dan nama host dengan harapan dapat meningkatkan peringkat pencarian situs spammer.

Para spammer menempatkan tautan ini di wiki terbuka, komentar blog, forum, dan kumpulan tautan lainnya, mengandalkan mesin pencari yang merayapi tautan mereka, dan kemudian mengunjungi dan mengindeks halaman hasil pencarian yang dihasilkan dengan konten berisi spam.

Serangan ini secara mengejutkan cukup meluas, mempengaruhi banyak situs web di seluruh dunia. Meskipun beberapa CMS dan situs yang didukung oleh kode yang ditulis khusus mungkin rentan terhadap teknik ini, berdasarkan penyelidikan awal, tampaknya — setidaknya di ruang .edu — platform web yang paling ditargetkan sejauh ini adalah WordPress.”

Ini tidak mengherankan ketika lebih dari 41% situs terbesar di web adalah situs WordPress.

Menutup kasus

Ada beberapa pelajaran baik yang bisa dipetik dari kejadian ini:

  1. URL yang ditampilkan di Laman Berkembang Teratas tidak tersanitasi dengan baik, jadi URL spam yang Anda lihat dipisahkan oleh emoji sebenarnya dapat langsung diklik (hai teman Google, terserah Anda); pengguna yang tidak sadar dapat mengkliknya dan mengakses konten yang tidak diinginkan.
  2. Beberapa penyesuaian diperlukan oleh Google untuk menghindari pengindeksan halaman yang jelas-jelas berisi spam. Berdasarkan laporan alat, beberapa halaman yang jelas dirayapi dan tidak diindeks, sementara spam ditambahkan.
  3. Penyerang akan memanfaatkan celah terkecil di sistem Anda dan kami harus waspada setiap saat.
  4. Selalu mendengarkan orang dan memahami masalah mereka. Jika kami hanya memeriksa log dari alat kami sendiri, kami tidak akan mengetahui masalah ini atau dapat membantu memperbaiki situs mereka.
  5. Perbarui perangkat lunak Anda. Selalu.

Di Jetpack, kami bekerja keras untuk memastikan situs web Anda terlindungi dari jenis kerentanan ini. Untuk tetap selangkah lebih maju dari ancaman baru, lihat Jetpack Scan, yang mencakup pemindaian keamanan dan penghapusan malware otomatis.

Dan tip topi untuk Erin Casali karena menyoroti masalah ini dan membantu penyelidikan.