Menscan Beberapa Situs Internet Banking Indonesia

Onno W. Purbo

Salah satu teknik paling sederhana sebelum serangan dilakukan ke sebuah situs oleh seorang cracker adalah men-scan situs yang di maksud untuk melihat kondisi situs tersebut. Pada kesempatan ini saya mencoba memgetengahkan hasil scan dari beberapa situs Internet Banking di Indonesia menggunakan sistem operasi Linux Mandrake 7.2. Kebetulan sistem operasi Linux Madrake 7.2 saya peroleh dalam suplemen majalah InfoLinux http://www.infolinux.web.id. Peralatan yang digunakan juga tidak ada yang istimewa, saya jalankan Linux di PC Pentium II 133MHz memory 32Mbyte dan hubungan Internet melalui modem dial-up 33.6Kbps. Dengan tingkat kesederhanaan alat yang digunmakan saya yakin cukup banyak mahasiswa / siswa di Indonesia yang mampu melakukan ini menggunakan peralatan Linux-nya masing-masing.

Kebetulan sekali distribusi Linux Madrake 7.0 di lengkapi beberapa perangkat lunak untuk network security diantaranya nmap, tcpdump, arpwatch, ipchains, openssl dll. Dari sekian banyak perangkat lunak yang ada, saya menggunakan nmap & openssl. Nmap  mampu melakukan scan berbagai port server di host yang tersambung ke Internet & IntraNet. Sebetulnya cukup banyak perangkat lunak setara nmap yang bisa digunakan, beberapa bahkan cukup berbahaya untuk melakukan serangan ke situs di Internet. Untuk mencheck kemampuan melakukan transaksi dengan aman saya menggunakan fasilitas s_client di openssl untuk melihat sertifikat digital situs.

Nmap dibuat oleh Fyodor di insecure.org merupakan sebuah perangkat lunak untuk melakukan eksplorasi jaringan & scanner keamanan jaringan. Nmap sendiri dirancang untuk memungkinkan seorang sistem administrator maupun individu yang iseng untuk men-scan jaringan yang besar untuk mengetahui mesin apa saja yang sedang beroperasi & servis apa saja yang mereka berikan. Cukup banyak teknik scan yang di dukung oleh nmap seperti UDP, TCP connect(), TCP SYN (half open), ftp proxy (bounce attack), Reverse-ident, ICMP (ping sweep), FIN, ACK sweep, Xmas  Tree,  SYN sweep, and Null scan. Di samping itu, ada beberapa fitur menarik seperti mengetahui sistem operasi mesin yang di scan melalui TCP/IP fingerprinting,  stealth  scanning,  dynamic   delay   dan retransmission  calculations, parallel scanning, detection of down hosts via parallel  pings,  decoy  scanning,  port filtering detection, direct (non-portmapper) RPC scanning fragmentation scanning, di samping flexible target & spesifikasi port.

Tergantung pada option yang di pilih, nmap juga dapat menunjukan beberapa karakteristik dari mesin remote, seperti sistem operasi yang digunakan, TCP sequencability, username yang menjalankan program yang ditempelkan pada setiap port, nama DNS dll.

Berbeda dengan nmap yang sifatnya untuk men-scan mesin di jaringan, openssl adalah sebuah toolkit kriptografi yang mengimplementasikan protokol jaringan Secure Sockets Layer (SSL v2/v3) dan Transport Layer Security (TLS v1) termasuk berbagai standar kriptografi lainnya yang di butuhkan. Openssl sendiri adalah program di Linux yang sifatnya command line tidak menggunakan grafik user interface (GUI), openssl mampu untuk digunakan untuk:

•	Membuat parameter kunci (key) RSA, DH & DSA.
•	Membuat sertifikat X.509, Certificate Signing Request (CSR) dan Certificate Revocation List (CRL).
•	Perhitungan Message Digest (atau sidik dokumen).
•	Enkripsi & dekripsi menggunakan cipher.
•	Uji SSL/TLS klien & server.
•	Menangani e-mail yang di tanda tangani & di enkrip mengunakan S/MIME.

Pada kesempatan ini saya hanya menggunakan fasilitas s_client pada openssl yang dirancang untuk membuka hubungan transparan ke server remote yang berbicara menggunakan SSL/TLS. Dari sekian banyak server yang di uji, kebetulan hanya https://ibank.klikbca.com yang berbicara menggunakan SSL/TLS pada port 443. Jadi scan menggunakan openssl hanya dilakukan ke situs ibank.klikbca.com milik KlikBCA. Situs lain kebetulan belum saya temukan lokasi port / server yang menjalankan SSL.

Cukup banyak option yang dapat di gunakan dalam mengoperasikan nmap secara penuh, pada kesempatan ini saya hanya membatasi pada perintah

	# nmap –v –sS –O nama-situs

Tentunya masih banyak sekali pilihan (option) yang dapat kita lakukan untuk menscan sebuah situs misalnya –sT, -sX, -sF, -sN dll. Untuk jelasnya berbagai kemampuan pilihan tipe scan ini dapat dilihat dengan menuliskan

	# man nmap

Khusus untuk pilihan paling sederhana yang saya lakukan –v –sS –O adalah untuk:

-v, mode verbose untuk memperoleh informasi apa yang sedang terjadi. Jika anda cukup gila dengan proses ini dapat juga men-dump semua hasil scan dengan mengaktifkan beberapa kali –d.

-sS, menggunakan TCP SYN scan. Menggunakan teknik ini hubungan komunikasi TCP/IP tidak dibuka penuh dalam mengevaluasi port, tapi hanya setengah terbuka (“half open”). Secara teknis, mesin kita akan mengirimkan SYN paket ke mesin tujuan. Jika SYN|ACK paket di kirim balik, berarti port tersebut mendengarkan. Jika RST paket yang dikirim balik, berarti port tersebut tertutup. Setelah memperoleh paket balasan, mesin kita akan menjawab dengan paket RST untuk me-reset hubungan yang hampir terjadi tadi.. Teknik ini hampir tidak terdeteksi oleh mesin lawan yang tidak secara maksimal mencatat aktifitas port-nya. Istilah keren-nya –sS adalah Stealth Scan (scan yang tidak terdeteksi).

-O, akan meminta nmap untuk berusaha mendeteksi sistem operasi yang dijalankan di mesin tujuan. Karena kadang-kadang membutuhkan waktu yang lama untuk mendeteksi sistem operasi di mesin lawan, option ini kadang tidak digunakan untuk mempercepat proses scan.

Beberapa situs Bank Indonesia di Internet yang secara iseng saya scan menggunakan Linux Madrake 8.0 di PC Pentium II 133MHz tersebut adalah:

	http://www.bi.go.id (Bank Indonesia)
	http://www.bni.co.id (BNI & lambat dari indonet)
	http://www.lippobank.com (Bank Lippo & lambat dari indonet)
	http://www.bankmandiri.co.id (Bank Mandiri)
	http://www.btn.co.id (BTN)
	http://www.bii.co.id (BII)
	http://www.bankdanamon.com (Bank Danamon)
	http://www.klikbca.com (BCA)
	http://ibank.klikbca.com (BCA)

Dari sekian banyak situs Bank, Bank Indonesia www.bi.go.di barangkali yang merupakan Bank yang paling asal-asalan masuk ke Internet & sangat besar lubang-nya. Port TCP yang terbuka di www.bi.go.id adalah 20, 21, 22, 23, 80, 5631; beberapa port TCP lain seperti 137, 138, 139, 1524, 2041, 12345, 12346, 27665 terbuka walaupun di filter melalui firewall. Belum lagi kalau kita evaluasi port UDP yang terbuka pasti akan membuat layar anda penuh dengan berbagai informasi menarik untuk memulai sebuah serangan ke sebuah situs  …..

Sebetulnya diluar situs Bank, ada banyak juga situs yang terbuka security-nya di Internet. Salah satu situs yang terbuka lebar-lebar keamanan jaringan adalah situs www.plasa.com milik TelkomNet terbuka cukup lebar security, bahkan lebih lebar daripada Bank Indonesia. Rekan-rekan di Telkom ada baiknya memperbaiki security situs mereka, karena bukan mustahil berbagai milik Telkom akan menjadi sasaran marah para cracker indonesia pada saat tarif telepon naik.

Situs bank BNI, Bank Lippo & Bank Mandiri, terbuka pada port 20, 21 & 80 berarti ftp server & web server dibuka ke Internet. Relatif agak tertutup dibandingkan dengan Bank Indonesia.

Situs BII, BTN & Bank Danamon ternyata lebih tertutup lagi yaitu hanya port 80 (web server) saja yang terbuka di Internet. Cukup OK untuk sebuah situs Bank yang memberikan servis Informasi ke masyarakat. Contoh layar komputer pada saat scan di lakukan pada salah satu situs ini, di lampirkan di bawah ini:

[root@yc1dav onno]# nmap -v -sS www.bii.co.id

Starting nmap V. 2.53 by fyodor@insecure.org (www.insecure.org/nmap/ )
Host www.bii.co.id (202.152.2.29) appears to be up ... good.
Initiating SYN half-open stealth scan against www.bii.co.id (202.152.2.29)
Adding TCP port 80 (state open).
The SYN scan took 332 seconds to scan 1523 ports.
Interesting ports on www.bii.co.id (202.152.2.29):
(The 1522 ports scanned but not shown below are in state: filtered)
Port       State       Service
80/tcp     open        http

TCP Sequence Prediction: Class=random positive increments
                         Difficulty=411558 (Good luck!)

Sequence numbers: C24AB963 C253AB47 C265AEC6 C2796858 C28974CE C2A5E185
 
Nmap run completed -- 1 IP address (1 host up) scanned in 394 seconds

Yang harus di akui paling sulit untuk di tembus & di scan di Internet adalah situs yang di operasikan oleh BCA. Hal ini memperlihatkan ke seriusan BCA dalam mengamankan situs mereka dari scan & serangan para hacker / craker. Dengan menggunakan nmap saya tidak berhasil men-scan situs www.klikbca.com  & ibank.klikbca.com. Tampak di bawah adalah tampilan layar yang akan di peroleh pada saat men-scan situs klikbca.com.

[root@yc1dav onno]# nmap -vv -sS -O ibank.klikbca.com
 
Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ )
Host  (202.158.15.52) appears to be down, skipping it.
Note: Host seems down. If it is really up, but blocking our ping probes, try -P0
Nmap run completed -- 1 IP address (0 hosts up) scanned in 43 seconds

Harus diakui bahwa rekan-rekan di BCA ternyata sangat serius menangani keamanan situs klikbca.com mereka sampai sampai tidak tembus di scan menggunakan nmap; padahal sudah menggunakan stealth scan dalam melakukan scanning.

Kebetulan penulis hanya mengetahui bahwa ibank.klikbca.com merupakan situs Internet Banking. Keamanannya harus demikian ketat untuk menjamin bahwa transaksi perbankan yang dilakukan melalui Internet tidak tembus. Cara mencek sertifikat digital situs ibank.klikbca.com dapat dilakukan dengan mudah melalui perintah:

	# openssl s_client –host ibank.klikbca.com –port 443

Port 443 adalah port yang digunakan untuk Secure HTTP (https://). Hasil membuka port 443 pada situs ibank.klikbca.com akan terlihat sertifikat digital klikbca yang di berikan oleh verisign.com (certificate authority) sebagai berikut:

subject=/C=ID/ST=Jakarta/L=Jakarta
/O=PT. Bank Central Asia
/OU=Divisi Sistem Informasi
/OU=Terms of use at www.verisign.com/rpa ©00
/CN=ibank.klikbca.com
issuer=/O=VeriSign Trust Network/OU=VeriSign, Inc.
/OU=VeriSign International Server CA - Class 3
/OU=www.verisign.com
/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign

Proses transaksi melalui Internet menggunakan protokol https-pun di enkrip menggunakan algoritma RC4 yang sulit sekali untuk di tembus. Tampak pada tampilan selanjutnya adalah berbagai informasi tentang Master-Key yang digunakan untuk meng-enkrip transaksi menggunakan https.

New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 1024 bit
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-MD5
    Session-ID: 850000001702595756FADE4AFEE7F652BC790CC606376
Session-ID-ctx:
    Master-Key: 3CD841954D698035E5C82941F608D200929A3636CA07D
    Key-Arg   : None
    Start Time: 991984495
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)

Di sini kita bisa melihat bagaimana tingkat keseriusan beberapa situs Internet Banking Indonesia dalam memberikan servis kepada nasabahnya melalui Internet. Sekedar saran, tingkat keseriusan akan sama dengan tingkat keamanan situs – sebaiknya ambil situs yang aman; yang cukup mengenaskan & memalukan adalah situs Bank Indonesia.