Mitigasi Malware di Web Server dan Cara Membersihkannya

Malware selalu menjadi hal yang merepotkan. Umumnya pembuat malware tidak membuat malware untuk sekedar ajang pamer layaknya defacement. Malware dibuat demi tujuan yang lebih besar dan masif, dan biasanya tidak berjalan secara sendiri-sendiri melainkan menjadi sebuah network atau perkumpulan.

Discovery

Disuatu pagi tiba-tiba salah satu website yang kami kelola menunjukkan tampilan yang aneh.

Awal Permasalahan Malware

Awal Permasalahan Malware

Melihat pesan error seperti ini tentunya yang langsung terpikir adalah memeriksa source code-nya, ada yang tidak beres. Setelah diperisa ternyata benar script-nya telah disisipi oleh malware.

Sisipan malware untuk men-trigger sesuatu

Sisipan malware untuk men-trigger sesuatu

Sisipan malware

Sisipan malware di file index.php milik WordPress

Di tahap ini kita bisa meningkatkan asumsi kita terkait dampak lainnya, bagaimana jika yang telah disisipi tidak hanya file index.php ini saja? untuk memastikannya maka perlu dilakukan pencarian lebih dalam.

Mencari potongan string dalam satu atau lebih dokumen dapat menggunakan perintah berikut:

grep -rnw . -e '@include "'

Mencari script yang terinfeksi

Mencari script yang terinfeksi

Dari hasil pencarian kita menemukan dua script yang telah terinfeksi, yakni index.php dan wp-settings.php.

Recovery

Untuk membersihkannya kita perlu membuka script tersebut dengan vim atau nano, kemudian menghapus secara manual bagian yang terinfeksi tersebut. Opsi lain yang bisa diusahakan adalah dengan cara mengupload ulang script tersebut dari versi aslinya, misalnya dari repository atau sumber lainnya.

Cleaning

Sampai sini kita sudah melakukan memperbaiki script yang terdampak oleh infeksi malware. Membersihkan malware dari server tidak cukup hanya dengan menghapus file-file yang terdampak saja, namun pembersihan dilakukan sampai ke akar atau induknya.

Tahapan selanjutnya adalah memastikan kejadian yang sama tidak terulang kembali. Dari sudut pandang hacker, saat malware yang dibuat sudah berhasil masuk dan dieksekusi kedalam sebuah sistem, hacker umumnya akan membuat jalur pintas alternatif untuk memudahkan akses kembali di kemudian hari.

Dari hasil discovery sebelumnya kita bisa mencoba memahami apa yang dilakukan potongan code tersebut. Malware umumnya disisipkan dalam bentuk yang sukar untuk dibaca atau pahami. Itulah sebabnya hampir semua malware yang disisipkan kedalam script tertanam dalam bentuk obfuscated atau setidaknya dalam bentuk base64encode. Dalam kasus ini kami mendapatkan sisipan dalam bentuk base64encode, sehingga cukup mudah untuk di-decode.

Tool untuk decode tersedia cukup banyak secara online, salah satunya malwaredecoder.com. Berikutnya cukup paste potongan malware pada tool tersebut kemudian kita aman mendapatkan target dari yang dijalankan oleh malware.

 

Hasil decode

Hasil decode

Dari tool tersebut kami mendapat bahwa yang dieksekusi adalah .2980a2fe.ico. Setiap script index.php dijalankan maka secara otomatis induk malware ini juga akan dieksekusi. Selanjutnya adalah mencari induk ini yang sudah tersebar didalam server.

find . -type f -name ".*.ico"

Yang menarik adalah nama yang digunakan induk ini cukup random sehingga tidak bisa mencarinya hanya berpatokan nama, pencarian perlu dilakukan menggunakan regex. Kemudian induk tersebut menggunakan karakter dot/titik (.) sebagai prefix namanya, dimana ini merupakan hidden file untuk sistem linux.

Mencari induk malware

Mencari induk malware

Dari hasil pencarian kami mendapati beberapa induk yang tersebar ke beberapa directory. Yang perlu dilakukan adalah menghapusnya, bisa dilakukan secara manual satu persatu atau bisa menggunakan command.

find . -type f -name ".*.ico" -exec rm -rf {} \;

Namun perlu diantisipasi bahwa menghapus sekaligus menggunakan command berpotensi menghapus file yang sebetulnya merupakan file asli sistem dan bukan malware. Ada baiknya untuk meninjau daftarnya terlebih dahulu baru kemudian dapat mulai dihapus.

Bonus

Selama menggunakan web engine tersedia di internet tentunya potensi sepertinya akan tetap ada. Misalnya WordPress, dengan tingkat flexibilitas yang cukup tinggi semua orang bisa menginstall plugin dari berbagai sumber. Jalur masuk malware paling banyak berasal dari plugin dan theme WordPress.

Kita sebagai pengelola web server mungkin dapat “sedikit” memberikan kontrol terhadap akses terhadap file system. Kita bisa mengunci directory tertentu yang berisi script inti dari aplikasi web, sehingga dapat menghindari sisipan malware dari sumber manapun.

chattr [-R] +i path/to/dir/or/file

Command diatas membuat directory atau file tidak dapat dirubah, adapun jika ingin dirubah kembali cukup mengganti karakter + menjadi -

chattr [-R] -i path/to/dir/or/file

Selengkapnya dapat membaca artikel saya lainnya tentang rekomendasi keamanan untuk web server.

Mengenal dan Mencegah Ransomware

Apa itu Ransomware?

Ransomware berasal dari dua suku kata, yakni ransom (tebusan) dan malware. Secara umum ransomware merupakan jenis malware yang dapat melakukan manipulasi terhadap berkas agar tidak dapat diakses oleh pengguna, kemudian meminta tebusan kepada pengguna jika ingin berkasnya dapat diakses kembali.

Versi pertama dari ransomware adalah pada era 1980-an, dan metode pembayarannya masih menggunakan Snail Mail (pengiriman melalui surat fisik). Berbeda dengan saat ini, dimana pembuat ransomware dapat memanfaatkan cryptocurrency sebagai pilihan pembayaran.

Penyebaran Ransomware

Saat ini cukup banyak jalur yang dapat menjadi celah masuk dari ransomware. Umunya celah keamanan yang sering dimanfaatkan adalah phising dan social engineering.

Dalam phising, penyerang mencoba memperdaya target dengan mengirimkan jebakan berbahaya dengan terlebih dahulu mengetahui target. Target dalam hal ini tidak berarti hanya satu user, namun sekumpulan user dengan ketertarikan sama. Riset yang dilakukan penyerang sering disebut sebagai social engineering.

Jalur penyebaran lainnya adalah malvertising, yakni memanfaatkan wadah iklan di sebuah website untuk melakukan infeksi. Tidak hanya website owner yang memamng memiliki niat jahat, akan tetapi website yang terpercaya sekalipun dapat berkontribusi dalam penyebaran ransomware jika memiliki sistem keamanan yang lemah. Dalam kondisi tersebut website berpotensi terkena serangan dan website dimanfaatkan oleh penyerang untuk menyebarkan ransomware.

Malware yang disisipkan dalam iklan website saat ini bisa sampai zero interaction, artinya user tidak perlu melakukan klik untuk diarahkan ke situs malware melainkan program dapat berjalan otomatis dan dapat juga mendownload program yang berisi ransomware secara otomatis.

Jenis-jenis Ransomware

Scareware

Scareware

Jenis ransomware ini lebih bersifat scam. Biasanya akan ada banyak pop-up yang muncul dengan tujuan untuk menakut-nakuti user bernada ancaman. Disisi lain kemungkinan besar file milik pengguna kemungkinan besar masih aman. Continue reading

Email Malware dengan Macros di Microsoft Word

Beberapa hari yang lalu ada email masuk yang berisi permohonan aplikasi Internship di perusahaan kami, sebetulnya biasa saja namun sedikit terkejut karena applier-nya kelihatannya bukan berasal dari Indonesia. Setahun terakhir ini kami memang menerima beberapa mahasiswa untuk program Internship di perusahaan kami, namun yang masuk hanya dariĀ program akademik wilayah NTB.

Email Internship Malware

Email Internship Malware

Continue reading