in How to, Web Security

Menjaring Password dengan Firefox Sniffer

Firefox adalah browser andalan saya, terutama untuk urusan penetration testing. Firefox memiliki banyak sekali addon/extension yang sangat membantu untuk bermacam-macam urusan. Namun tidak semua addon membantu pengguna, ada juga addon yang menyadap dan mengirimkan username/password pengguna ketika login ke email attacker, addon itu adalah FFsniFF.

Dalam artikel ini saya akan menunjukkan simulasi penyadapan password di browser korban dan mengirimkan hasil sadapannya ke email saya di ilmuhacking.com. Setelah itu saya akan jelaskan cara kerja FFsniFF dengan membedah source codenya.


Sekilas tentang addon Firefox

Addon firefox adalah program dalam javascript yang diload dan diaktifkan setiap firefox dijalankan. Addon ini diperlukan untuk melakukan hal-hal yang tidak disediakan oleh firefox (firefox hanya menyediakan fungsi-fungsi dasar saja). Antarmuka addon ada yang berbentuk ikon di status bar, toolbar atau boleh juga tidak memiliki antarmuka sama sekali. FFsniFF adalah contoh addon yang tidak memiliki antarmuka pengguna sama sekali, hal ini bisa dimaklumi karena memang addon ini harus bersifat stealth.

Addon dipaketkan dan disebarkan dalam bentuk file ZIP, namun ekstensi filenya bukan zip melainkan XPI (dibaca “zippy”). Dalam file xpi tersebut ada banyak file dan folder lain seperti source code javascript, gambar dan file xml deskriptor. File-file yang umumnya ada dalam sebuah paket zippy adalah:

install.rdf adalah deskriptor untuk keperluan instalasi. Selain itu di dalam paket itu juga ada file javascript yang berisi kode program yang menjalankan fungsi addon. Selebihnya adalah file-file untuk menangani user interface addon.

Membuat paket instalasi ffsniff.xpi

Langkah awal saya harus membuat paket instalasi addon ffsniff.xpi. Untuk itu saya harus mengunduh file sumber FFsniFF dari http://azurit.elbiahosting.sk/ffsniff/. Setelah diunduh, file tar.gz itu harus dimekarkan. Isi dari paket itu setelah dimekarkan adalah:

File tar.gz itu tidak bisa langsung diinstall ke firefox karena masih berbentuk kumpulan file yang harus diubah dan dibungkus menjadi paket zippy (xpi). Sebenarnya untuk membuat paket zippy sudah disediakan script pkg_creator.py dalam bahasa python, namun dalam artikel ini saya tidak memakai script itu agar saya bisa menunjukkan bagaimana proses pembuatan file xpi dari source code.

Setelah source berhasil didownload, berikutnya saya harus membuat file ffsniffOverlay.js, caranya adalah dengan mengcopy file ffsniffOverlay_orig.js dalam nama ffsniffOverlay.js. Setelah itu ffsniffOverlay.js akan saya edit untuk mengubah beberapa variabel berikut:

Konfigurasi smtp untuk @ilmuhacking.com

MX record ilmuhacking.com

MX record ilmuhacking.com

Variabel-variabel tersebut adalah parameter untuk mengirim email melalui smtp. smtp_host berisi alamat smtp server yang dipakai untuk mengirim email. Sebaiknya gunakan smtp server yang bertanggung jawab untuk domain email yang kita tuju, dalam kasus ini domain email tujuan adalah @ilmuhacking.com. Oleh karena itu saya harus mencari smtp server yang bertanggung jawab untuk domain ilmuhacking.com. Cara mencarinya adalah dengan melihat MX record dari DNS ilmuhacking.com. Anda bisa gunakan layanan dnswatch.info untuk mencari MX record ilmuhacking.com. Perhatikan gambar di samping, terlihat bahwa ternyata smtp server untuk ilmuhacking.com berada di host yang sama, jadi smtp_host saya isi dengan ilmuhacking.com. Pada domain lain biasanya mail server adalah mail.domainanda.com.

send_from dan send_to saya isi dengan nilai yang sama, yaitu [email protected], alamat itu adalah alamat email asal dan tujuan. Perhatikan bahwa domain email sumber dan tujuan harus dalam domain yang sama (ilmuhacking.com) karena smtp server umumnya tidak bersedia mengirimkan email ke domain lain (istilahnya open relay) bila pengirim tidak memasukkan password dulu (anonymous).

enable_hide sengaja saya isi “no” untuk kemudahan, dalam kasus nyata variabel ini harus diisi dengan “yes” agar tersembunyi dari daftar addon sehingga tidak membuat korban curiga. Bila anda masih coba-coba, sebaiknya isi dulu dengan “no”.

smtp_port adalah port smtp server, port standar untuk layanan smtp adalah 25. subject adalah subject dari email yang akan berisi password korban.

Konfigurasi smtp untuk @telkom.net

Agar lebih memahami tentang konfigurasi email ini, saya beri contoh lain dengan email tujuan ke telkom.net.Dengan cara yang sama saya harus membaca MX record dari domain telkom.net, ternyata MX record untuk telkom.net ada 2: mx1.mail.plasa.com dan mx2.mail.plasa.com. Terserah mau pilih yang mana saja. Karena memakai smtp server telkom.net, email tujuan harus berada di domain @telkom.net, di sini saya pakai [email protected] Alamat asal saya isi sama dengan email tujuan. Ini berarti saya mengirim email dari dan ke email yang sama, itu tidak masalah. send_from_host saya isi dengan telkom.net karena ini adalah domain. Jadi konfigurasi smtp untuk email tujuan @telkom.net adalah sebagai berikut:

Membuat file ffsniff.jar

Setelah variabel-variabel di file ffsniffOverlay.js sudah diubah, langkah berikutnya adalah membuat file ffsniff.jar. Walaupun ekstensi filenya adalah jar, sebenarnya ini adalah file zip biasa. File-file yang dimasukkan dalam ffsniff.jar adalah:

Hasil file ffsniff.jar harus mengikutsertakan folder content/ffsniff, tidak boleh 3 file itu dizip tanpa mengikutsertakan foldernya. Jadi untuk membuat file ffsniff.jar harus berada di parent folder dari content/ffsniff. Anda bebas menggunakan program apa saja untuk kompresi zip ini, saya sendiri memakai WinRAR. Ketika dibuka dengan WINRAR isi dari ffsniff.jar tampak seperti gambar di bawah ini, perhatikan kolom pathnya harus berisi seperti itu.

ffsniff.jar list files

ffsniff.jar list files


Membuat file ffsniff.xpi

Setelah mendapatkan file ffsniff.jar, selanjutnya saya harus membuat paket instalasi ffsniff.xpi. File ini juga file zip biasa, walaupun ekstensinya .xpi. Isi file ffsniff.xpi adalah dua file berikut:

Jangan lupa juga ffsniff.jar harus dizip dalam folder chrome. Gambar di bawah ini menunjukkan ffsniff.xpi yang dibuka dengan winrar, perhatikan juga kolom pathnya harus tepat seperti itu.

ffsniff.xpi file list

ffsniff.xpi file list


Instalasi Firefox Sniffer

Oke, kini selesai sudah proses pembuatan file instalasi addon FFsniffer. Kini saya bisa menginstall addon tersebut. Cara instalasi file xpi adalah dengan membuka Firefox, kemudian memasukkan path lokasi file xpi pada addressbar firefox. Setelah muncul daftar file di firefox, klik file xpi yang akan diinstall. Cara instalasi FFsniFF diperlihatkan pada gambar di bawah ini. Setelah berhasil install jangan lupa untuk restart firefox anda.

instalasi firefox sniffer

instalasi firefox sniffer

Mencoba login ke yahoo

Kini saya akan mencoba login ke yahoo dengan username rizkiwicaksono. Setelah login, saya periksa inbox email [email protected] Ternyata email hasil sniff password ketika login ke yahoo sudah masuk. Isi emailnya terlihat pada gambar di bawah ini.

log sniffer email

log sniffer email

Dalam email tersebut terlihat bahwa FFsniff tidak hanya mencatat username dan password tapi semua field dengan tag input (input type=”xxx”) dari form, yaitu: password field, hidden field, text field, checkbox. Selain itu FFsniff juga mencatat URL, nama field, jenis dan nilainya. FFsniFF hanya mengirimkan field yang ada isinya, bila field tersebut kosong, field tersebut tidak akan dikirim.

Email Sniffer Log

Mari kita perhatikan email yang dikirimkan FFsniFF. Header lengkap email yang dikirim FFsniff adalah sebagai berikut:

Dalam email tersebut hanya ada 1 header Received, yaitu dari host 202.43.xxx.xxx (ip lengkap saya sensor). Hal ini menunjukkan bahwa smtp server yang saya pakai kebetulan adalah smtp server yang paling dekat dengan si penerima sehingga tidak perlu dioper ke smtp server lain. Berikut ini adalah header email FFsniFF yang dikirim ke telkom.net:

Dalam email ke telkom.net ada 3 header Received. Yang pertama adalah mx1.mail.plasa.com, ini adalah smtp server yang saya pakai di FFsniFF. Kemudian dari situ email dioper ke mx1.mail.telkom.net, dan terakhir dioper lagi ke f1.c.plasa.com, yang merupakan smtp server yang paling dekat dengan si penerima. Jadi sebenarnya saya bisa juga langsung mengirim email ke telkom.net dengan menggunakan smtp server f1.c.plasa.com. Namun karena MX record telkom.net menunjuk ke mx1.mail.telkom.net lebih baik saya pakai smtp server itu, walaupun perlu dioper sebanyak 2 kali untuk sampai di tujuan.

FFsniff mengirimkan email tersebut secara anonymous, artinya ffsniff tidak melakukan authentication sebelum mengirimkan email. SMTP server tidak mungkin menolak email yang ditujukan untuk domain yang dikelola dirinya sendiri, walaupun pengirimnya adalah anonymous (tanpa authentication), sebab bila smtp server menolak email untuk dirinya sendiri maka orang lain tidak akan bisa mengirim email ke domain itu.

Karena dikirimkan secara anonymous maka email tersebut tidak bisa ditujukan ke domain lain selain ilmuhacking.com karena smtp server tersebut kemungkinan besar akan menolak dijadikan titik relay pengiriman email ke domain lain. Bila ingin mengirimkan email untuk domain lain tidak bisa secara anonymous, sebelumnya harus memasukkan perintah smtp AUTH LOGIN dan memasukkan username/password dalam base64. Saya tidak akan menjelaskan terlalu panjang soal email, di lain kesempatan akan saya bahas detil cara kerja email.

Pencegahan

Bad guys already know about FFsniff since 3 years ago

FFsniff diciptakan pada bulan maret 2006, tepat 3 tahun yang lalu sehingga addon ini sudah dikenal luas sebagai salah satu tools hacking. Sekarang bagaimana caranya agar kita tidak menjadi korban addon ini?
Berikut ini tips agar tidak menjadi korban FFsniff:

  • Jangan sembarangan menginstall addon yang tidak anda kenal. Install addon hanya dari situs resmi Firefox Addon https://addons.mozilla.org/
  • Install Addon hanya dari situs yang menggunakan https. Penggunaan https ini sangat penting agar anda tidak tersesat mengakses situs palsu yang berusaha memberikan anda addon yang sudah diracuni spyware. Mengenai pentingnya https ini bisa anda baca di artikel: understanding https
  • firefox safe mode

    firefox safe mode

  • Bila anda berada di komputer publik, gunakan Firefox dalam Safe Mode (mode aman). Mode ini adalah mode menjalankan firefox dengan mematikan semua addon yang ada.
  • Walaupun FFsniFF dapat menyembunyikan diri dari daftar addon Firefox, namun tetap saja dia tidak mungkin bisa bersembunyi di file system. Jika anda ragu apakah firefox anda bersih dari FFsniFF, silakan buka folder Profile Mozilla Firefox anda. Biasanya di:
  • firefox extension folder

    firefox extension folder

    Kemudian perhatikan file install.rdf, dalam file itu terlihat nama dan deskripsi addon. Atau anda juga bisa melihat folder di dalamnya lagi untuk membaca file dot js dari ffsniff.

    How FFsniff Works

    Saya telah menunjukkan mulai dari mengunduh, menginstall dan kemudian mendapatkan password ketika ada yang login di firefox yang telah dipasang addon ini. Kini saatnya saya menjelaskan cara kerja FFsniff ini. Inti dari FFsniff ini ada pada file ffsniffOverlay.js. File ini berisi semua code yang melakukan sniffing. Berikut adalah source code lengkap ffsniffOverlay.js.

    Perhatikan baris ke-127 pada source di atas, bila enable_hide diset “yes”, maka ffsniff akan menjalankan fungsi hide_me(). hide_me() bertugas menghilangkan FFsniff dari daftar addon agar kehadirannya tidak disadari pengguna. Cara menyembunyikan diri adalah dengan cara menjalankan fungsi Container.RemoveElement (baris ke-122) hanya bila element itu bernama “FFsniFF”.

    how ffsniff works

    how ffsniff works

    Fungsi sniffing sesungguhnya ada pada baris terakhir. Pada baris terakhir, terdapat fungsi addEventListener(). Fungsi ini berguna untuk mengaitkan event submit dengan fungsi do_sniff. Artinya fungsi do_sniff akan dijalankan setiap kali terjadi event submit. Event submit akan terjadi bila ada request POST di browser, antara lain dengan melalui klik tombol bertipe submit (input type=”submit”). Namun tidak hanya melalui klik saja, submit bisa juga dilakukan oleh javascript. Dengan cara apapun, bila terjadi request POST di browser, event submit akan terjadi, dan artinya fungsi do_sniff juga akan dipanggil. Untuk lebih jelasnya perhatikan gambar di atas.

    Kini fokus perhatian kita pindah ke fungsi do_sniff (baris ke-84). Dalam fungsi sniff, ffsniffer mengambil daftar semua tag <input> yang ada dengan fungsi window.content.document.getElementsByTagName(“input”). Kemudian semua field tersebut akan digabung dalam variabel string data. Hanya bila dalam form tersebut terdapat password field (input type=”password”), maka ffsniffer akan mengirimkan email, bila hanya form biasa (bukan form login), ffsniffer tidak akan mengirim email.

    Bila mengandung password field, berikutnya fungsi sniff (baris ke-73) akan dijalankan. Fungsi sniff ini tugasnya hanya membuat dan menjalankan thread. Thread tersebut bertugas melakukan pengiriman email dengan memanggil fungsi send_data (baris ke-17). Fungsi send_data akan membuka koneksi tcp ke smtp server, kemudian mengirimkan perintah smtp untuk mengirim email. Dengan menggunakan sniffer Wireshark, berikut adalah komunikasi yang terjadi ketika email dikirim ke telkom.net:

    Sedangkan komunikasi yang terjadi ketika email dikirim ke @ilmuhacking.com adalah:

    Dengan selesainya eksekusi send_data() maka ffsniff telah selesai menjalankan tugasnya mengirim email. Selanjutnya ffsniff akan “tidur” menunggu dipanggil oleh event submit dan mulai kembali proses penyadapan password.

Write a Comment

Comment

This site is using OpenAvatar based on

74 Comments

  1. mas rizky, saya newby. saya juga mau belajar tentang trik hacking mas. saya harus mulai dari mana. saya tertarik dengan firefox sniffer ini tapi bingung cara mulainya, mungkin mas bisa bantu saya lewat email saya. Untuk mereka yang kurang sependapat dengan postingan mas, saya rasa mereka hanya memiliki alasan yang benar juga untuk itu tapi saya rasa ini adalah ajang bagi ilmu, saya rasa ngga masalah selama ini digunakan untuk hal2 yang baik aja. Thanks

  2. Mas, aqu newby. add ons’y udh qu install ‘n udh brjalan normal. Tpi koq gk ada email ‘n passwd ke email saya ea??

  3. salam kenal mas!!!!!!

    mas mau minta tolong nih,udah kubuat semuanya untuk firefox sniffer,tapi malah pada saat mau diinstall malah ada erro:
    isinya……

    “Firefox could not install the file at

    file:///C:/firefox/ffsniff.xpi

    because: Not a valid install package
    -207 “

  4. mas ga bisa…

    ^
    ^
    sama dgn d atas (mas richar)

    “Firefox could not install the file at

    file:///C:/firefox/ffsniff.xpi

    because: Not a valid install package
    -207 “

    gimana dong???

  5. mas bagaimana cara mengetahui kalau mozillanya dipasangi Firefox Sniffer Atow FFsniFF. saya memcoba mengetahui melalui gambar yang mas tampilkan tapi gambar nya rada kurang jelas, ada teman saya yang kehilangan accountnya. aku kira org itu cuman makai keylogger atw semacamnya tapi setelah dicek ternyata bukan tapi ada sesuatu semacam FFsniFF. saya jadi ragu login di warnet tapi mau diapa lagi aku kagak punya laptop apa kah ini memakai FFsnif

    {972ce4c6-7e08-4474-a285-3208198ce6fd}
    3.6.8

    {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
    3.6.8
    3.6.8


    Default
    The default theme.

    true

    true


    Mozilla
    Mozilla Contributors

    classic/1.0

  6. ^
    ^
    ^
    saya cuman mau menjelaskan permasalahan, mngapa emailnya tidak terkirim…maaf sblomnya klo ada salah, karna sy juga masih newbie (SMP)

    mungkin permasalahannya di bawah ini, perhatikan baik2 codenya:

    1.

    2.

    3.

    4. <![CDATA[

    5. // set this to the receiver e-mail address
    var send_to = "[email protected]";
    6. // subject of the mail
    var subject = "hasil FFsniFF";
    7. // smtp server which will be used to send e-mail
    8. // hidding enable/disable
    var enable_hide = "yes";

    pada nomor ke 5 (var send_to) anda lupa mengedit tujuan hasil FFsniFF, disitu anda mengisikan e-mail anda, agar bertujuan mengirim hasil dari FFsniFF ke email anda….

    buat penulis@ mengapa hasil FFsniFF yang dikirim ke email aq, pengirimnya dari [email protected]****.co.id….
    setelah saya periksa smua, g' ada kok tulisan [email protected]****.co.id

    apakah itu email dari sniff atw ilmu hacking……
    apakah itu email juga membaca hasil yang sudah saya pasang….

    mohon kirim jawabannya di email aq…[email protected]

  7. mas, nella mau tanya
    nela memiliki ID FB dan yahoo kemaren ID yahoo nella dikloning orang dan dia meminta uang 500.000
    itupun dengan paksa
    nella pengen deh caranya biar ID yahoo itu hang ato di hack gitu
    ada caranya mas
    nella sudah diganganggu terus mas
    need halp

  8. nice artikel boz Rizki!!!
    saya jadi pgn belajar neh, truz cara nulis bahasa pemrogrmannya dmn dan bagaimana??? apa melalui notepadnya windows???

    thx alot !!!

  9. thanks ilmunya bro…tapi kira2 dipakai skrg msh update ngak ya ? kan share nya 2009, udah 4 thn berlalu bro….kutunggu blsnya mas riski….,trims

Webmentions

  • Sniffing SSL Traffic using oSpy | STAFF32 May 12, 2013

    rugi banget nich sempat gak coba step by step nya…
    thank mas….

  • Sniffing SSL Traffic using oSpy | Cryptography | IlmuHacking.com May 12, 2013

    rugi banget nich sempat gak coba step by step nya…
    thank mas….