Web Anda Diblokir Google karena Malware? Cek VPS Anda!

Kali ini saya akan posting mengenai kasus malware yg menyerang web sehingga sampai terblokir oleh Google dan tidak dapat diakses kembali. Postingan ini akan lebih spesifik ke platform WordPress yg terinstal pada VPS. Yup, Linux VPS ataupun dedicated server. Jadi bagi anda yg wordpress-nya diduga kena malware namun masih pakai shared hosting, postingan ini bisa anda jadikan sebatas informasi berguna saja hehehe.

WordPress adalah cms yg teramat sangat populer, dengan menggunakan WordPress anda tidak saja hanya mempunyai sebuah blog semata tetapi bisa mengubahnya menjadi toko online, ecommerce, directory, classified ads, dan web keren lainnya dg mudah dan murah. Karena kepopulerannya itulah WordPress juga menjadi sasaran eksploit, hacking dan injeksi malware. Pernahkah anda membuka suatu web tetapi muncul sebuah warning mencolok dg bunyi “Reported Attack Page!” ?

malware vps

Atau malah web anda sedang mengalaminya? Wah gawat itu… gawat dan berbahaya. Pindah hosting ga serta merta selesai perkara, menghapus 1 atau 2 file yg dicurigai sebagai malware juga tidak akan secepat itu menghentikan masalah. Bisa jadi script malware sudah terinjek ke file-file wordpress anda dalam jumlah banyak. Sebelum reputasi anda nyungsep dan profit anjlok anda harus sesegera mungkin cleanup vps anda dari malware tsb.

Berdasarkan pengalaman saya membersihkan malware pada vps client, gejala yg muncul jika terkena malware diantaranya:

  1. Tampilan web rusak atau tidak sebagaimana mestinya
  2. Login ke wp-admin (dashboard) tidak bisa karena error dengan adanya peringatan beberapa file tertentu terhapus
  3. Loading web terasa lambat dan apabila diperhatikan dengan teliti tampak redirect ke suatu domain asing, domain ini akan menjalankan suatu file misal bernama jquery.min.php
  4. Muncul direktori atau file yg tidak anda kenal. Misalnya file dengan nama acak contoh: mvuwthg.php, bi4ofgwrb.php, nbetuykd.php dan jg file dengan nama “samaran” misal: license.php, wp-log.php, mail.php, lndex.php (L lowercase bukan i… bukan index.php) dll yang aslinya dalam WordPress TIDAK pernah ada file tsb. Perhatikan contoh ini, aneh kan? Banyak sekali file mail.php di banyak folderwp kena malware
  5. Trafik mulai menurun
  6. File wp-config.php tersusupi script malware di bagian paling bawah wp-config kena malware lagi
  7. Gejala yg paling terlihat tentu saja domain anda di-blacklist Google seperti gambar paling atas. Atau server anda suspended karena alasan melakukan spam dan udp flood. Gejala yg saya sebut nomor 5 ini mungkin menandakan malware yg sudah parah, bisa sampai ke tahap root compromised

Jika anda menemui anomali seperti itu dan juga keanehan lain apapun, beberapa langkah berikut bisa anda segera jalankan:

  1. Cek web anda di Sucuri web malware scanner (link), jika ada deteksi malware, blacklist, defacement atau injected spam maka vps anda benar dalam bahaya. Jangan langsung panik bro, perhatikan dengan baik result scanner sucuri tsb. Jika ada malware, cek payloadnya, nama filenya dan scriptnya, ini berguna untuk bekal melakukan pembersihan malware
  2. Cek web anda di Google safe browsing status (link). Jika dinyatakan berbahaya maka Google akan memberikan beberapa informasi berguna misalnya nama domain yg jadi redirect di web anda (redirect domain ini muncul di script yg saya screenshot di nomor 4 ini)
  3. Login as root ke server anda,
  4. Jika sucuri mendeteksi injeksi script malware seperti ini malware di header maka artinya ada script malware yg terinjek biasanya ke header.php atau footer.php WordPress anda. Sekali lagi penting untuk mengamati dan memahami hasil apa yg ditampilakn sucuri scanner
  5. Setelah anda login root ke console, pindahlah ke direktori domain atau public_html yg letaknya berbeda-beda untuk tiap setup. Misal jika pake Webuzo maka anda harus masuk ke /home/xxxxxx/public_html, jika setup dengan centminmod maka masuk ke /home/nginx/domains, jika setup LAMP/LEMP biasanya ada di /var/www/
  6. Command sederhana ini akan mencari file-file yg terinjek script malware seperti gambar nomor 4: grep -irl 'document.referrer!==undefined' . (file yg terinfeksi akan muncul) lihat contoh ini header injected malware
  7. Trus bagaimana jika semua file tsb sudah terkena malware? Anda harus buka filenya satu persatu dengan file editor favorit anda vim, nano atau lainnya kemudian delete script tsb. Letaknya persis di atas syntax </head>. Jika anda meng-host banyak domain dan dengan 1 theme, maka mudahlah karena anda hanya perlu clean satu file dan copykan ke direktori domain lainnya
  8. Bagaimana jika ada file aneh dalam jumlah banyak seperti mail.php di atas? Pastikan file tsb memang bukan bagian dari WordPress dan bukan file yg memang anda upload, jika sudah bertebaran di banyak direktori, contoh command berikut mampu menghapuskan semuanya find -type f -name 'mail.php' -exec rm '{}' \;
  9. Malware dan php backdoor biasa mengencoding scriptnya menggunakan base64_decode. Masih di dalam direktori domain gunakan command berikut utk menemukan file dg base64_decode: grep -irl base64_decode .
  10. Wow nongol banyak ini malware semua? Hey tenang…. tidak semua file dg base64_decode adalah malware. Beberapa file/script legit memang menggunakan base64 jadi anda harus cermat dan teliti. Di dalam wordpress sendiri beberapa file memang menggunakan base64_decode dan ini bukan malware, yaitu:

    wordpress aman

  11. Jika menemukan file di luar itu, cobalah buka dengan file editor atau tampilkan dg command cat. Apabila isinya semua adalah karakter acak-acakan maka segera delete file tsb. Saya beri 2 contoh penampakanbackdoor base64_decode malware
  12. File apapun yg mencurigakan cek saja dg file editor atau tampilkan dg cat, lalu copy beberapa karakter string yg ada dan gunakan untuk menemukan file sejenis dg command grep. Contoh, perhatikan gambar 10 di atas. Saya akan copy beberapa karakter untuk menemukan file dg encoding yg sama di dalam direktori domain: grep -irl XvD9oyjPilj .
  13. Langkah selanjutnya, instal aplikasi Linux Malware Detect (LMD), jalankan: wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
  14. Setelah terdownload, ekstraklah: tar -xf maldetect-current.tar.gz
  15. Pindah ke direktori cd maldetect-1.5/ (nama direktorinya bisa beda versi saat anda instal, jadi silakan cek dulu)
  16. Jalankan installernya ./install.sh dan tunggu sampai beres
  17. Edit konfigurasi LMD, dari pada pusing dg banyak baris, backup saja file aslinya mv /usr/local/maldetect/conf.maldet /usr/local/maldetect/conf.maldet.asli
  18. Lalu buat config dg file editor kesukaan anda, misal vim /usr/local/maldetect/conf.maldet
  19. Dan isikan dengan:
  20. Save
  21. Instalasi LMD selesai namun jangan jalankan scanning malware dahulu, untuk mempercepat scanning manfaatkan scanner engine clamav. Instal jika pada VPS Debian apt-get install clamav. Pada Centos, buatlah file repo vim /etc/yum.repos.d/dag.repo dan isikan dengan:

    Save file tsb. Jalankan yum update -y dan lanjut yum install clamd -y
  22. Ingat bahwa kita tidak akan scanning menggunakan clamav ini, tetapi hanya memanfaatkan scanner engine-nya saja karena LMD mampu mengintegrasikan diri dg scanner engine clamav untuk proses scanning yg jauh lebih cepat. Target scanning adalah direktori dimana domain anda dan file WordPress berada. Letaknya bisa beda-beda tergantung setup. Saya akan beri contoh scanning public_html di sebuah VPS yg menggunakan panel Webuzo maldet -a /home/hantu/public_html (sekali lagi target scan sesuaikan dg letak direktori web di VPS anda masing-masing)
  23. File yg jadi tersangka malware akan langsung dikarantina oleh LMD. LMD ini mempunyai setup cronjob untuk scan otomatis harian, bagaimana kisahnya? Silakan dioprek sendiri.
  24. Selesai scanning LMD akan menampilkan hasilnya, contoh: files 9023, malware hits 7, cleaned hits 0, time 566s yg artinya ada 7 file malware berhasil ditangkap. Untuk lihat detail report anda bisa jalankan baris terakhir yg nongol setelah scan, yg kira-kira seperti ini maldet --report 160609-0503.3238
  25. Dari maldet –report tsb anda bisa lihat file apa sajakah yg ternyata malware atau backdoor.

Well, kira-kira begitulah teman-teman… Saya akan beri saran: jangan langsung puas dengan scan LMD tsb, meski detection rates cukup bagus untuk menangkap malware dan backdoor yg ditanam hacker (atau script kiddies), masih banyak script jahat yg lolos. Sebagai contoh saja, file header yg terkena script malware pada contoh di atas justru tidak akan terdeteksi oleh aplikasi Linux Malware detect ini.

Langkah-langkah yg saya share di sini hanya sebatas panduan dan gambaran umum saja, tidak bisa anda jadikan patokan pasti begini atau begitu dan pasti clean 100%. Membersihkan malware membutuhkan imajinasi dan kreatifitas tinggi serta semangat ngoprek yg besar. Anda harus punya curiosity dan kejelian mengamati sesuatu.

Jika server anda sudah root compromised, ini artinya malware sudah parah.. tidak hanya aktif pada WordPress tetapi bisa dibilang sudah menguasai server, menjalankan aplikasi ilegal dengan kuasa root tanpa sepengetahuan anda dan menyebabkan damage yg lebih serius (udp flood, denial of service…) Jika anda menderita level ini, segera backup database, selamatkan wp-config.php dan wp-content (pastikan clean), delete semua plugins dan theme yg anda instal, lalu sewa VPS baru, setup baru, instal WordPress baru dan restore kembali aset online anda tsb…

Setelah yakin VPS anda bersih dan WordPress anda aman, anda bisa minta review ulang ke Google supaya blacklist diangkat dan supaya domain anda dapat segera diakses khalayak ramai kembali. Review ini bisa anda minta lewat akun Google webmaster tool atau disebut juga Google search console. Sekali lagi hanya minta review jika sudah benar bersih bukan karena dugaan saja. Google akan segera menghilangkan warning tsb dalam hitungan jam dan email menggembirakan akan anda terima seperti yg saya kerjakan untuk salah seorang client saya ini:wordpress tidak blacklist

Asyikkkk… Web kembali up, semua lancar dan orderan mengalir lagi!!! Hehehehe….

Catatan: Sucuri malware scanner dan Google safebrowsing status tidak selalu memberi hasil realtime. Jadi meski anda yakin sudah clean hasil scan kedua web tsb tidak serta merta akan menyatakan clean atau safe. Hal ini tidak masalah dan anda tidak perlu panik.

Okay semoga sharing ini bermanfaat bagi anda semua dan semoga orderan anda lancar terus. Cheers!!!!

Kata kunci pencarian:
  • acakan mail
  • mengatasi web vps terkena malware

Latest Comments

  1. kakmad June 9, 2016
    • admin June 10, 2016

Leave a Reply