Server

Serangan Adware via .htaccess

Bukan pertama kalinya beberapa server kami mendapatkan serangan dengan teknik yang berbagai macam jenis, bentuk, dan dampaknya. Pagi ini sempat kaget karena semua website yang ada dalam server Gili Air kami diarahkan ke situs iklan ketika diakses dari perangkat mobile. Saat ditelusuri ternyata semua file .htaccess nya telah disusupi semua, untuk mendeteksi perangkat mobile berdasarkan HTTP_USER_AGENT dan selanjutnya melakukan redirect ke alamat luxurytds[dot]com.

.htaccess malware inject
.htaccess malware inject

Gambar diatas merupakan isi .htaccess di salah satu web yang terinfeksi,  kombinasi regex hampir mencakup semua kemungkinan user agent dari perangkat mobile. Si attacker memang niat sekali!

Membersihkan semua file .htaccess yang terinfeksi tidak menyelesaikan masalah, sewaktu-waktu file tersebut dapat terinfeksi kembali oleh suatu trigger. Trigger yang dimaksud bisa jadi disisipkan juga dalam file sistem yang terkait dengan sebuah halaman website. Beberapa kata kunci yang sering saya temukan dalam script PHP yang terinfeksi malware adalah:

  • eval(
  • eval(base64_encode(
  • $GLOBALS[ (perlu analisis lagi)

Saya membuat script PHP untuk melakukan scanning secara rekursif terhadap public_html, ini sangat membantu utnuk melakukan analisa dan melakukan pembersihan. Biasanya akan banyak file terinfeksi yang ditemukan, mau tidak mau itu harus dibersihkan semua.

Sayangnya kata kunci diatas termasuk obsolete, karena attacker sudah memiliki trik lain untuk mengelabui sistem pencarian berdasarkan kata kunci yang sering digunakan script malware.

Alias untuk fungsi script
Alias untuk fungsi script

Dari gambar diatas, base64_decode disimpan dalam bentuk string sebagai variabel. Tebak saja yang dilakukan adalah langsung memanggil fungsi tersebut melalui variabel dimana string base64_decode tersebut disimpan.

Saya perlu waktu satu-dua hari untuk menelusuri jejak-jejak script malware yang ada pada server. Melakukan analisa, pengecekan, dan restorasi kepada tiap script (file) yang terinfeksi.

Proses scanning
Proses scanning

Ini hanya sebagian kecil dari pekerjaan seorang Sys Admin, menjaga performa dan fungsionalitas tetap berjalan dengan normal. Saya bukan seorang Sys Admin, tapi sialnya selalu mendapat masalah seperti ini.

Ada satu momen ketika hal yang seharusnya disembunyikan malah dapat terlihat dengan gamblang, sakit!

Backdoor file manager web
Backdoor file manager web

What would you do next? Nothing!

Mungkin tidak banyak membantu, namun beberapa hal yang saya coba lakukan untuk sedikit menghindari terjadinya serangan yang sama berikut patut untuk dicoba:

Disable file upload (php.ini)

Kebanyakan serangan yang terjadi adalah dengan memanfaatkan celah beberapa fitur yang ada pada website, sehingga memungkinkan attacker untuk meng-upload scriptscript berbahaya kedalam server kita.

Block IP

Saya juga membuat script PHP untuk melakukan scanning terhadap file logs untuk mencari IP address yang paling banyak melakukan request. Secara logika akan sangat jarang seorang user melakukan request sampai ribuan kali, jadi kemungkinan besar itu adalah percobaan serangan (brute force). Block IP address  tersebut dari sisi server.

Pray…

Perbanyak berdoa dan ibadah, iya itu aja!

Satu Komentar

Tinggalkan Balasan