Satori + Wireshark = Akurasi Proses Analysis Platform Fingerprinting

Salah satu tahapan dalam melakukan Pentesting atas Mobile Phone-terutama terkait Network-adalah melakukan fingerprinting atas semua client yang terhubung dengan satu Access Point.  Terdapat 2 (dua) tools yang dapat digunakan yaitu Wireshark dan Satori.

Untuk melakukan fingerprinting ini, tentunya analyst harus melakukan capturing data packet.  Untuk kasus ini, saya menggunakan mobile-traffic.pcap untuk bahan analisis.  Selanjutnya dengan menggunakan Wireshark, diperoleh hasil sebagai berikut:

Picture 2016-09-04 18_00_28

Tampak host name berupa Blackberry-C17C.  Untuk lebih mudahnya, kita bisa menggunakan tools yaitu Satori.  Untuk proses analisis platform, penggunaan Satori lebih straightforward ketimbang penggunaan Wireshark.  Hasilnya adalah sebagai berikut:

Picture 2016-09-04 17_56_17

 

 

Analisis Packet Capture Data atas Mobile Banking Application

Analisis ini dilakukan atas satu mobile banking apps untuk iOS devices dari satu bank-sebut saja Evil Bank.  Aplikasi ini sempat tersedia di iOS App Store untuk beberapa waktu untuk kemudian ditarik kembali karena ada isu terkait keamanan data dari nasabah yang menggunakan aplikasi mobile tersebut untuk melakukan transaksi perbankan.

Untuk keperluan analisis, kita dapat mengakusisi packet capture data dari perangkat iOS yang telah menjalankan mobile banking apps dari Evil Bank.  Untuk keperluan analisis ini, kita membutuhkan dua tools: Cain untuk password sniffing dan Wireshark untuk network traffic analysis.

Tinjauan atas Mobile Banking Apps dari Evil Bank

Seperti mobile banking apps pada umumnya, ketika pengguna menjalankan aplikasi tersebut, maka akan terdapat menu login yang meminta pengguna untuk memasukkan username dan password.  Selanjutnya setelah memasukkan credential yang dibutuhkan, pengguna akan memasuki menu aplikasi seperti saldo akun, transfer funds dan detil dari akun bank milik dari pengguna (nasabah).  Setelah pengguna melakukan seluruh transaksi tersebut, maka kita bisa mengakusisi packet data dengan menggunakan wireshark sehingga kita peroleh satu file .pcap (kita sebut saja evilbank.pcap).

Menggunakan Cain

Dalam menggunakan Cain, kita harus menonaktifkan Firewall dan Anti-virus.  Selanjutnya kita membuka evilbank.pcap dengan Cain untuk kemudian dilakukan analisis.  Selanjutnya beberapa langkah yang perlu dilakukan:

  1. Klik Sniffer | Password
    • Pilih HTTP password group
  2. Selanjutnya kita bisa mendapatkan informasi berupa username (kjohnson) dan password (ThisIsThePasswordIReuse) seperti tampak pada figur di bawah ini:

Slide1

Menggunakan Wireshark

Selanjutnya kita menggunakan Wireshark untuk analisis file pcap agar diperoleh hasil analisis lebih detil.  Berikut ini langkah-langkah yang harus dilakukan:

  1. Membuka file evilbank.pcap. Wireshark akan menunjukkan 3.619 packet;
  2. Proses searching untuk username.
    • Klik Edit | Find Packet
      1. Ubah opsi the Find By menjadi String;
      2. Ubah “Search In” menjadi “Packet Details”
  • Masukkan username “kjohnson” seperti yang ditunjukkan oleh Cain.
  1. Klik Find.

Slide2

  • Proses pencarian tersebut akan mendapatkan packet yang berisi data terkait username “kjohnson”
  • Dari proses pencarian tersebut di atas, maka pada nomor packet 3496 yaitu packet HTTP POST. Selanjutnya pada nomor packet 3496 tersebut, klik kanan dari mouse dan pilih “Follow TCP Stream” untuk membangun kembali informasi terkait transaksi TCP;
  • Selanjutnya akan diperoleh hasil seperti tampak dalam figur di bawah ini. Untuk informasi yang di-highlight merah menunjukkan data dari client (mobile banking app) ke server.  Sedangkan data yang di highlight biru menunjukkan data dari server ke client.

Slide3

  • Selanjutnya dari hasil analisis terhadap TCP Stream tadi, kita bisa memperoleh informasi bahwa seluruh data yang dikirimkan dan diterima dari dan oleh client dan server seluruhnya dalam bentuk plaintext. Sehingga setiap orang yang bisa mengakuisisi packet data tersebut bisa mendapatkan username, password, nomor akun bank dan juga saldo bank dari pengguna/nasabah.

Slide4

Kesimpulan

Dari hasil analisis tersebut di atas, maka dapat ditarik kesimpulan sebagai berikut:

  1. Aplikasi tersebut tidak menggunakan SSL encryption untuk menjaga kerahasiaan (confidentiality) terkait data dari nasabah;
    • Menurut informasi dari pihak developer aplikasi, hal tersebut merupakan kesalahan (error) yang terjadi pada saat pengujian quality assurance.
    • Teknisi yang menjalankan test QA tidak menggunakan certificate yang dibutuhkan untuk pengujian aplikasi, sehingga pada saat itu mengganti HTTPS menjadi HTTP. Namun mereka lupa mengembalikan fungsinya (menggunakan HTTPS), karena alasan terburu-buru untuk mengejar deadline.
  2. Setelah memperoleh fakta tersebut, maka pihak Evil Bank setuju untuk menarik mobile banking apps mereka dari App Store dan memberikan pelayanan khusus kepada seluruh nasabah mereka selama 2 tahun untuk memonitor ada/tidaknya dampak berupa serangan yang merugikan mereka.