Category Archives: Programming

Membedah Kartu Flazz BCA

Rupanya BCA tidak mau ketinggalan dengan Bank Mandiri dalam hal inovasi layanan e-money (Flazz BCA)-nya. Semakin seru persaingan bank-bank ini untuk menggaet dan memanjakan pelanggan khususnya pengguna layanan e-money.

Pengguna Flazz BCA sekarang tidak perlu repot untuk memastikan saldo pada kartu mereka. Berbekal HP Android dengan NFC, BCA memperkenalkan fitur baru pada aplikasi BCA Mobile, yaitu pengecekan saldo kartu Flazz BCA. Poin lebih dari layanan yang diberikan kompetitor adalah dibenamkan fitur-fitur berikut:

  1. Informasi saldo terakhir Kartu Flazz BCA
  2. Informasi nominal top-up terakhir
  3. Informasi 10 transaksi terakhir

Namun BCA belum se-“berani” Bank Mandiri dengan memberikan mekanisme top-up langsung dari HP pengguna. Harapannya mudah-mudahan segera diadakan fitur yang sama juga, karena potensinya cukup besar (dari kacamata pengguna Kartu Flazz BCA yang tidak memiliki rekening Bank BCA 🙂 ).

Caranya?
Continue reading

Bruteforce APDU SELECT using Cardpeek + Lua script

After a couple of hours trying to find free smartcard app on my tinkering time, finally I found this Cardpeek. Simple yet light smartcard reader app.

My objective is to create simple APDU “bruteforce” to the smart card by iterate some EF values using standards APDU SELECT. By bruteforce means that the SELECT command is sent to the smartcard for any possible EF value.

Finding this Cardpeek app + powered with Lua script is enough for me. For now.

The bruteforcing idea is to create iteration of EF value using 2 bytes length, this assumed the smartcard is having 2 bytes EF structures. With this iterations hopefully some approved response (SW1-SW2 = 0x9000) is given by the smartcard, and do further exploit using known approved EF.

Following is the Lua script I created to bruteforce SELECT APDU (or you can download directly here):

And I tested the script using Commuter Line Kartu Multi Trip card, and here is some interesting responses from the card  😀

Let’s hack! Membedah e-money Bank Mandiri

Kenapa e-money Bank Mandiri? Ada beberapa alasan mengapa saya penasaran dengan keamanan produk e-money ini.

  1. Saat ini produk e-money yg ada di dompet saya
  2. Saat ini produk e-money yg meluncurkan aplikasi reader (mandiri e-money info)

Dari dua alasan tersebut saya coba mem-“bedah” keamanan untuk produk e-money tersebut. Kenapa? Saya pikir memberikan aplikasi pembaca kartu seperti memberikan kunci yang patah untuk mengintip isi sebuah kotak yang dikunci dengan gembok. Pertanyaan selanjutnya apakah kunci patah tadi hanya bisa untuk mengintip saja? atau bahkan bisa membuka isi kotak?

Jika belum mudeng maksud analogi saya di atas, ada analogi lain: bayangkan anda akan masuk ke sebuah rumah yang memiliki dua lapis pintu. Di balik pintu pertama terdapat ruang tamu dengan foto-foto harta benda yang berada di dalam rumah itu. Di balik pintu kedua kemungkinan kita bisa menemukan harga yang sebenarnya. Di depan rumah tersebut ada pelayan yang bertugas hanya mengantar anda untuk masuk rumah melewati pintu pertama. Pelayan tersebut membawa beberapa kunci, bisa jadi salah satu kunci yang lain merupakan kunci untuk memasuki pintu kedua. Continue reading