Pentesting with Abnormal Targets (1 of 2)

Penetration testing atau disingkat pentest merupakan sebuah metode untuk mengevaluasi keamanan sistem komputer melalui simulasi penyerangan terhadap target. Dalam prosesnya melibatkan banyak parameter sebagai identifikasi terhadap sistem target.

Saat ini banyak perusahaan yang telah membuat kebijakan keamanan terhadap sistem mereka. Beberapa manfaat dari pentest yaitu:

  • menentukan kemungkinan serangan yang akan terjadi
  • mengindentifikasi risiko terhadap celah keamanan yang ditemukan
  • mengindentifikasi celah keamanan yang mungkin tidak didapatkan melalui tools otomatis
  • memeriksa/mengevaluasi keamanan sistem,apakah efektif atau tidak.

Pentest dapat dilakukan pada prosedur yang telah ada dan infrastruktur yang telah dibangun seperti web aplikasi,database,server,dan lain sebagainya. Namun,pada tulisan ini,target yang akan di-pentest merupakan objek yang tidak lazim menjadi target pentester. Dalam kasus ini saya melakukan pentest pada sebuah aplikasi ISO 8583 yang merupakan aplikasi transaksi keuangan.

ISO 8583
ISO 8583 merupakan standar atau format data yang diakui dan digunakan secara internasional untuk melakukan transaksi keuangan. Contoh dalam sehari-hari seperti seorang pembeli tidak menggunakan uang tunai sebagai alat pembayaran.

Sebagai alternatif, mereka menggunakan kartu debit atau kartu kredit. Mesin EDC (Electronic Data Capture) yang dimiliki penjual membaca kartu tersebut dan melakukan komunikasi dengan pihak yang menerbitkan kartu pembeli (acquirer) dan instansi keuangan yang berhubungan langsung dengan mesin EDC penjual (issuer). Komunikasi antar instansi keuangan tersebut menggunakan format data yang disebut ISO 8583.

ISO 8583 terdiri dari 3 komponen yaitu:

  • Message Type Identifier (MTI)
  • Bitmap
  • Data Elements

Message Type Identifier (MTI)
MTI merupakan pengenal jenis message yang digunakan dalam format ISO8583. MTI memiliki 4 digit.

1

Dari tabel di atas dapat dilihat bahwa setiap posisi digit memiliki fungsi yang berbeda. Berikut ini adalah table-tabel yang menjelaskan posisi bit pada MTI.

2Tabel berikut merupakan kode yang mendeskripsikan tujuan pesan yang akan dikirimkan.

33.1Dari sembilan message class di atas,tidak semua fungsi yang bisa digunakan. Pada transaksi keuangan biasanya menggunakan 1, 2, 4, dan 8. Namun tergantung kebutuhan untuk menggunakan fungsinya. Tabel di bawah ini merupakan kode yang mendeskripsikan fungsi pesan apakah request,response,advice,atau yang lainnya.

4Tabel di bawah ini merupakan kode yang mendeskripsikan sumber pengirim pesan apakah acquirer, issuer, atau lainnya.

5Untuk lebih jelas pembahasan mengenai MTI, berikut ini adalah contoh MTI.

6Bit Map
Bit Map merupakan field data yang digunakan untuk membaca data element dalam message tersebut. Terdiri dari 16 karakter hexadesimal atau 64 digit biner (bit). Fungsi dari bitmap yaitu sebagai penanda data element mana sajakah yang digunakan dalam data. Di bawah ini merupakan contoh Bit Map.
Kita memiliki bit map 4210001102C04804. Jika dikonversikan ke dalam biner maka akan menjadi:
0100001000010000000000000001000100000010110000000100100000000100
Maka artinya bit yang digunakan adalah bit ke 2,7,12,28,32,39,41,42,50,53, 62. Bit Map hexa tadi dipecah menjadi masing-masing 2 digit,sehingga menjadi:

42   = 01000010
10   = 00010000
00   = 00000000
11   = 00010001
02   = 00000010
C0   = 11000000
48   = 01001000
04   = 00000100

Kemudian hitung berapa banyak bit 1 (bit yang aktif) dan posisinya sehingga didapatlah angka 2,7,12,28,32,39,41,42,50,53,62. Bitmap yang aktif tersebut selanjutnya dipetakan dengan data elements.

Data Elements
Data elements berisi informasi yang dibawa oleh ISO 8583. Panjang bit data ini berbeda-beda tergantung dengan user yang menggunakan. Masing-masing data elements memiliki format baku yang kontennya didefinisikan dengan panjang dan tipe yang berbeda-beda,seperti tabel berikut:

7Untuk panjangnya (length) dapat dilihat di tabel berikut:

8Berikut ini adalah contohnya.

9

Untuk pembahasan bagian dua kita akan melakukan proof of concept dari pembahasan ini. So, stay tune 😉

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.