Jan 3, 2010

Automatic delete Messages Gmail with Malicious User Script

I. PREFACE

Alice adalah pengguna setia GMAIL dan mempercayakan urusan browsing pada Opera Browser. Beberapa hari ini Alice menyadari ada sesuatu yang aneh dengan emailnya. Alice mendapati ada puluhan email penting dalam Inbox-nya yang hilang secara misterius, padahal Alice tidak pernah merasa menghapusnya. Alice menduga ada seseorang yang telah membajak GMAIL-nya dan menghapus email-email penting di Inbox. Alice segera mengubah password Accountnya.

Keesokan harinya, Alice kembali mendapati puluhan emailnya hilang. Walaupun Alice telah mengubah password berkali-kali, tetap saja ia mendapati puluhan email hilang secara misterius setiap kali ia login. Dan puncaknya beberapa hari kemudian, seluruh pesan di Inbox alice musnah tanpa jejak..

Apa yang salah dengan Alice? Apa yang sebenarnya terjadi dengan GMAIL Alice?

...................

Awalnya, salah satu tujuan diciptakannya Virus/Worm adalah untuk melakukan pengrusakan-pengrusakan pada komputer korbannya. Seiring dengan perkembangan teknologi dan pola pikir Attacker, virus/worm mulai dirancang untuk melakukan Auto-Hacking untuk menyerang suatu aplikasi web.

Artikel ini akan membahas tentang bagaimana cara menghapus otomatis email-email dalam inbox pengguna Google Mail (GMAIL) dengan memanfaatkan malware yang dirancang untuk melakukan Auto-Install Malicious User Script pada browser Opera 9.X.X - 10.X.X

Hmmm.. coba Anda bayangkan jika konsep ini diterapkan pada Virus/Worm yang mampu menyebar luas. Dalam sekejab, browser-browser pengguna internet disulap menjadi mesin Hacking otomatis yang bekerja secara background setiap kali user berselancar, mencuri informasi-informasi sensitif, dan melakukan tindakan-tindakan merugikan pada account korbannya.. O_O




II. User Script

(II.1)--// Apa itu User Script?
Pada pendahuluan telah disinggung bahwa konsep ini memanfaatkan dukungan User Script yang dimiliki oleh hampir semua browser saat ini. User Script (baca: User JavaScript) yang dibahas dalam artikel ini adalah fitur yang disediakan oleh browser sebagai sarana bagi user untuk menyisipkan suatu JavaScript pada browser agar otomatis dijalankan oleh browser ketika suatu sumber-sumber web diterjemahkan.



(II.2)--// Manfaat User Script
Dengan adanya User Script, pengguna dapat membuat web kesayangannya tampil dan berperilaku sesuai dengan keinginannya sendiri. Misalnya saja:



  • Mengganti warna background website kesayangan Anda (Misalnya Anda ingin warna background Google menjadi bernuansa gelap)




  • Auto-fill form, Auto Login




  • Memblokir iklan-iklan pada web yang Anda kunjungi




  • Mengubah format text, border, link navigasi, etc..



Semua itu memungkinkan dengan adanya User JavaScript.

Sebagai contoh, dulu ketika GMAIL belum memiliki Themes yang beragam, saya menggunakan User Script untuk membuat GMAIL saya tampil penuh warna dan menambahkan fungsi-fungsi tambahan untuk mempermudah dan menambah kenyamanan saya dalam ber-email ria.

Belum pernah mencicipi User Script? Ada banyak sekali User Script siap pakai yang bisa anda coba di Userscript.org



(II.3)--// Browser Yang Mendukung User Script
Hampir semua major browser memiliki dukungan User Script. Berikut ini merupakan daftar browser beserta plugin yang dibutuhkan untuk dapat menjalankan User Script:



  • Opera (Available by default)




  • Mozilla (Greasemonkey)




  • IE (http://google.com/search?q="Greasemonkey in Internet Explorer")




  • Chrome (http://google.com/search?q="Greasemonkey in Google Chrome")




  • Safari  (http://google.com/search?q="Greasemonkey in safari")



Beberapa versi tebaru browser kini tampaknya mulai mengikuti Opera dengan menyertakan dukungan User Script tanpa harus menggunakan plugin. Misalnya saja Internet Explorer yang sejak IE7 pro yang secara default memiliki dukungan User Script.



(II.4)--// Resiko Keamanan User Script
Kenyamanan selalu saja berbanding terbalik dengan keamanan. Kehadiran User Script juga memiliki resiko yang sangat besar untuk disalahgunakan. Misalnya:



  • Pencurian Informasi sensitif (Cookies, Username + password, etc..)




  • Auto posting, Autodeletion, Spamming, menyebarkan malware




  • Dan masih banyak lagi. Contohnya implementasi kali ini, menghapus otomatis pesan-pesan dalam inbox pengguna GMAIL ^_*



Yapz, walaupun beberapa memang membutuhkan plugin tertentu, namun Attacker bisa saja dengan mudah melakukan instalasi plugin secara background.



III. AUTODELETION GMAIL MESSAGES

(III.1)--// Malicious User Script
Pertama-tama kita harus merancang User Script yang akan disisipkan. Script inilah yang akan bekerja menghapus pesan-pesan dalam Inbox korban.


  1. Deteksi apakah URL pada Addres bar adalah http://mail.google.com/mail/?shva=1 atau http://mail.google.com/mail/. Hal ini dilakukan untuk memastikan script kita hanya akan berjalan ketika user melakukan login pada GMAIL.




  2. Jika iya, maka selanjutnya baca source code halaman tersebut untuk menemukan Messages ID pesan-pesan yang tampil.




  3. Kirim request secara background menuju:
    http://mail.google.com/mail/h/writeanything/?a=dm&at=[Nilai cookies GMAIL_AT]&m=[Messages ID]
    URL diatas akan meminta GMAIL untuk memindahkan pesan dengan ID yang terdapat pada parameter m kedalam Trash. Hal yang menarik pada struktur diatas adalah, saya mendapati /writeanything/ merupakan kode yang digenerate secara acak oleh GMAIL setiap sesi login. Hal ini biasa dilakukan untuk mencegah CSRF. Namun pada kenyataannya, kode-kode tersebut dapat diganti dengan string apapun.




  4. Kirim request secara background menuju:
    http://mail.google.com/mail/h/writeanything/?t=[Messages ID]&s=t&at=[Nilai cookies GMAIL_AT]&nvp_a_dl=Delete Forever
    URL diatas akan meminta GMAIL untuk menghapus secara permanen pesan dengan ID yang terdapat pada parameter t dari Trash.




  5. Lakukan perulangan langkah 3 dan 4 hingga Messages ID habis.


Masalah yang timbul adalah, GMAIL akan mengalami Error jika kita melakukan request begitu saja terhadap kedua URL pada langkah 3 dan 4 di halaman yang sama dengan halaman tempat user beraktivitas.

Awalnya saya mencoba mengunakan IFRAME untuk mengatasi masalah tersebut. Namun ternyata, GMAIL mampu mendeteksi IFRAME sehingga kedua URL tersebut akan melompat keluar dari IFRAME. Fufufu.. tentunya hal tersebut akan menimbulkan kecurigaan user :D

Hmm.. akhirnya saya menggunakan metode berikut untuk menjalankan URL pada langkah 3 dan 4 di atas secara background:


  1. Siapkan file del.php yang menerima parameter x dan y. Parameter x bertugas mengirim nilai cookies GMAIL_AT, parameter y bertugas mengirim Messages ID.




  2. Kirim request menuju del.php melalui hidden IFRAME




  3. del.php akan menciptakan tag


 Berikut adalah source code Opera Malicious User Script berdasarkan logika diatas:





(III.2)--// Menginstall User Script Secara Manual
Defaultnya, untuk menginstall suatu User Script pada Opera kita harus menentukan dulu directory default User Script dengan langkah-langkah berikut:


  1. Pada menu browser Opera, klik menu Tool -> Preferences




  2. Klik tab Advanced -> Contents lalu klik JavaScript Options




  3. Pada field User JavaScript files, klik tombol [Choose..], pilihlah sebuah folder yang ingin Anda jadikan directory default User Script. Nantinya, file-file javascript yang berada dalam directory tersebut akan dijalankan oleh opera sebelum script apapun pada web dijalankan. Klik [OK] pada semua kotak dialog. Untuk lebih jelasnya, perhatikan gambar 3.1 berikut ini:



Gambar 3.1: Menentukan lokasi directory User Script pada Browser Opera


Opera menyimpan setting user pada suatu file .ini yang terletak pada subdirectory %APPDATA%\Opera\. Nama subdirectory dan nama file .ini tersebut tidak sama untuk masing-masing versi Opera. Untuk melihat lokasi file penyimpanan setting browser Opera Anda, ketik opera:about pada Address Bar Opera Anda.



Gambar 3.2: Lokasi file setting Browser Opera


Pastikan browser Opera Anda dalam keadaan tertutup, lalu buka file .ini tersebut dengan text editor. Anda akan melihat baris-baris konfigurasi Opera. Konfigurasi User Script berada pada baris-baris berikut ini:

User JavaScript File=C:\anywhere\
User JavaScript=1
Always Load User JavaScript=1


Nilai pada User JavaScript File merupakan lokasi directory User Script yang boleh kita tentukan sesuka hati. Kedua nilai setting di bawahnya harus bernilai 1 agar User Script dijalankan oleh Opera.



(III.3)--// Menginstall User Script Secara Background
Nah, berbekal informasi yang telah dibahas sebelumnya, kita dapat merancang sebuah malware untuk melakukan instalasi User Script secara otomatis dengan 3 langkah mudah:



  1. Ciptakan Malicious User Script pada directory X.




  2. Deteksi adanya proses dengan nama Opera.exe, jika ada maka hentikan proses tersebut. Hal ini penting dilakukan karena Opera akan mengabaikan perubahan pada file preferences yang dilakukan ketika browser sedang berjalan.




  3. Manipulasi setting pada file pengaturan Opera sesuai dengan informasi yang telah saya sebutkan sebelumnya. Yang perlu diperhatikan adalah, kita tidak boleh sembarang melakukan penulisan file pada file .ini tersebut. Kita harus melakukan penulisan pada file tersebut dalam format UTF-8.



Sederhana bukan? silahkan gunakan kemampuan pemrograman Anda untuk mewujudkannya ^^
-----------------------------------------------------------------------------------
Author  : SPYRO KiD
Contact : admin[~@~]spyrozone.net || http://spyrozone.net
CopyLEFT (c) 2009++ www.spyrozone.net All Rights Reserved
13/09/2009 07.20.11 WIB
-----------------------------------------------------------------------------------

No comments: