Sabtu, 24 November 2012

Contoh Kasus

Berikut Contoh Kasus Yang Terjadi Pada Kejahatan MITM :
Kasus Man In The Middle pada Mandiri Internet Banking


Man In The Middle biasanya terjadi diakibatkan kelalaian pengguna yang tidak melakukan otentifikasi oleh pengguna internet. Sehingga pengguna tidak tahu apakah pengguna berkomunikasi dengan seseorang yang dituju atau server yang valid atau dengan server yang palsu.
Berikut ini bedasarkan sumber yang kami dapatkan, kami akan membahas tentang studi kasus Man In the Middle yang terjadi pada Internet Banking Bank Mandiri. Sang Attacker tidsk menggunakan ARP Spoofing atau cara penyerangan lain dalam melancarkan aksinya, melainkan menggunakan SSL Strip dalam melakukan serangan MITM.
SSLStrip adalah tool yang diciptakan Moxie Marlin spike untuk melakukan serangan MITM terhadap pengguna situs yang dilindungi dengan https. untuk melakukan mitm attack pada protokol http  (bukan HTTPS), dengan maksud untuk menyerang situs-situs yang dilindungi dengan https. SSL Strip sebagai “the person in the middle”, akan mencegah peralihan dari http ke https dengan secara aktif mengubah response dari server sehingga pengunjung akan tetap berada dalam protokol http.
Cara peralihan dari http ke https dan tambahan cara SSLStrip mencegah peralihan itu:
  • Memberikan link menuju URL https: SSLStrip akan mengubah link berawalan https menjadi http. Sehingga yang muncul di browser korban bukan link ke https melainkan link ke http.
  • Memberikan response redirect ke URL https: SSLStrip akan mengubah header Location dari URL berawalan https menjadi http.
  • Menggunakan META tag auto refresh ke URL https: SSLStrip akan mengubah url https menjadi http.
  • Menggunakan javascript untuk load halaman https: SSLStrip akan mengubah url https menjadi http.
Untuk lebih jelasnya berikut adalah gambar yang menunjukkan salah satu cara kerja SSLStrip mencegah korban beralih dari http ke https.

Opening Bank Front Page
Membuka halaman awal situs Bank
Pada gambar di atas korban mengakses web server bank dengan URL http://bank/. Request tidak secara langsung dikirim ke web server, namun melalui SSL Strip dulu. SSL Strip meneruskan request tersebut ke web server. Kemudian web server menjawab dengan memberikan html berisi link ke URL https://bank/login/ kepada SSL Strip. Sebelum response html diterima oleh browser, SSLStrip mengubah response tersebut dengan mengubah URL https menjadi http biasa sehingga HTML yang diterima di browser korban berisi link ke URL http://bank/login/ bukan https://bank/login/.

Opening login page
Halaman awal login
Korban mengklik link pada halaman yang muncul browsernya, tentu saja link ini bukan ke https://bank/login/ melainkan ke http://bank/login/. Dengan cara ini browser tetap dalam protokol http bukan dalam protokol https seperti seharusnya, dengan kata lain SSL Strip berhasil mencegah browser beralih ke protokol https. Request ke http://bank/login/ tersebut dikirimkan ke SSL Strip. Kemudian SSL Strip tidak meneruskan request tersebut ke http://bank/login/, melainkan membuat request baru ke https://bank/login/. Kemudian web server mengirimkan response dari response tersebut ke SSL Strip. Seperti biasanya SSL Strip akan mengubah response dari server tersebut untuk mencegah peralihan ke https. Response yang telah diubah ini kemudian dikirimkan ke browser korban sehingga korban tetap melihat halaman yang sama persis seperti ketika dia membuka https://bank/login/. Dengan tampilan yang sama persis ini, korban mengira sedang membuka https://bank/login/, padahal sebenarnya dia sedang membuka http://bank/login/. Perhatikan bahwa koneksi antara browser dengan SSL Strip adalah dalam http biasa, sedangkan dari SSL Strip ke web server dalam https.

http://kopastuntas.files.wordpress.com/2011/01/sslstrip_flow3.png
Submit username dan password
Setelah muncul halaman login dan korban mengira sedang membuka https://bank/login, kemudian korban memasukkan username dan password dan mengklik tombol Login. Browser akan membuat POST request ke http://bank/login/ yang diterima oleh SSL Strip. Karena protokolnya adalah http, maka SSL Strip dengan mudah bisa membaca username dan password yang dimasukkan korban. SSL Strip kemudian akan mengirimkan username dan password korban degan POST request ke https://bank/login/.  Seperti biasa jawaban dari web server akan dimodifikasi dulu seperlunya oleh SSL Strip sebelum dikirimkan ke browser korban.
Perhatikan bahwa korban sejak awal hingga login mengakses situs dengan http, sedangkan SSL Strip di tengah-tengah membuat koneksi https ke web server yang sebenarnya. Jadi walaupun browser mengakses dengan http, namun response yang diterima browser berasal dari koneksi https yang dibuat oleh SSL Strip.

1 komentar:

  1. terimakasih kak, artikelnya sangat membantu untuk memenuhi tugas saya . semoga kedepannya makin bagus ya kak artikel nya. perkenalkan nama saya helliza dari
    ISB Atmaluhur

    BalasHapus