Teknik Hacking

Seluk Beluk Teknik Social Engineering
Prof. Richardus Eko Indrajit

Ada  prinsip  dalam dunia keamanan jaringan  yang  berbunyi  “kekuatan sebuah rantai tergantung dari atau terletak pada sambungan yang terlemah” atau dalam bahasa asingnya “the strength of a chain depends on the weakest link”. Apa atau siapakah “the weakest link” atau “komponen terlemah” dalam sebuah sistem jaringan komputer? Ternyata jawabannya adalah: manusia. Walaupun sebuah sistem telah dilindungi dengan piranti keras dan piranti lunak canggih penangkal serangan seperti firewalls, anti virus, I D S/IPS, dan lain sebagainya
– tetapi jika manusia yang mengoperasikannya lalai, maka keseluruhan peralatan itu tidaklah ada artinya. Para kriminal dunia maya paham betul akan hal ini sehingga kemudian mereka mulai menggunakan suatu kiat tertentu yang dinamakan sebagai “social engineering” untuk mendapatkan informasi penting dan krusial yang disimpan secara rahasia oleh manusia.

Kelemahan Manusia
Menurut definisi, “social engineering” adalah suatu teknik ‘pencurian’ atau pengambilan data atau informasi penting/krusial/rahasia dari seseorang dengan cara menggunakan pendekatan manusiawi melalui mekanisme interaksi sosial. Atau dengan kata lain social engineering adalah suatu teknik memperoleh data/informasi rahasia dengan cara mengeksploitasi kelemahan manusia. Contohnya kelemahan manusia yang dimaksud misalnya:
  • Rasa Takut – jika seorang pegawai atau karyawan dimintai data atau informasi dari atasannya, polisi, atau penegak hukum yang lain, biasanya yang bersangkutan akan langsung memberikan tanpa merasa sungkan;
  • Rasa Percaya – jika seorang individu dimintai data atau informasi dari teman baik, rekan sejawat, sanak saudara, atau sekretaris, biasanya yang bersangkutan akan langsung memberikannya tanpa harus merasa curiga; dan
  • Rasa Ingin Menolong – jika seseorang dimintai data atau informasi dari orang yang sedang tertimpa musibah, dalam kesedihan yang mendalam, menjadi korban bencana, atau berada dalam duka, biasanya yang bersangkutan akan langsung memberikan data atau informasi yang diinginkan tanpa bertanya lebih dahulu.
Tipe Social Engineering
Pada dasarnya teknik social engineering dapat dibagi menjadi dua jenis, yaitu: berbasis interaksi sosial dan berbasis interaksi komputer. Berikut adalah sejumlah teknik social engineering yang biasa dipergunakan oleh kriminal, musuh, penjahat, penipu, atau mereka yang memiliki intensi tidak baik. Dalam skenario ini yang menjadi sasaran penipuan adalah individu yang bekerja di divisi teknologi informasi perusahaan. Modus operandinya sama, yaitu melalui medium telepon.

Skenario 1 (Kedok sebagai User Penting)
Seorang penipu menelpon help desk bagian divisi teknologi informasi dan mengatakan hal sebagai berikut “Halo, di sini pak Abraham, Direktur Keuangan. Saya mau log in tapi lupa

password saya. Boleh tolong beritahu sekarang agar saya dapat segera bekerja?”. Karena takut – dan merasa sedikit tersanjung karena untuk pertama kalinya dapat berbicara dan mendengar suara Direktur Keuangan perusahaannya – yang bersangkutan langsung memberikan password yang dimaksud tanpa rasa curiga sedikitpun. Si penipu bisa tahu nama Direktur Keuangannya adalah Abraham karena melihat dari situs perusahaan.

Skenario 2 (Kedok sebagai User yang Sah)
Dengan mengaku sebagai rekan kerja dari departemen yang  berbeda, seorang  wanita menelepon staf junior teknologi informasi sambil berkata “Halo, ini Iwan ya? Wan, ini Septi dari Divisi Marketing, dulu kita satu grup waktu outing kantor di Cisarua. Bisa tolong bantu reset password-ku tidak? Dirubah saja menjadi tanggal lahirku. Aku takut ada orang yang tahu passwordku, sementara saat ini aku di luar kantor dan tidak bisa merubahnya. Bisa bantu ya?”. Sang junior yang tahu persis setahun yang lalu merasa berjumpa Septi dalam acara kantor langsung melakukan yang diminta rekan sekerjanya tersebut tanpa melakukan cek dan ricek. Sementara kriminal yang mengaku sebagai Septi mengetahui nama-nama terkait dari majalah dinding “Aktivitas” yang dipajang di lobby perusahaan – dan nomor telepon Iwan diketahuinya dari Satpam dan/atau receptionist.

Baca Selengkapnnya >>>>>>

=======================================================================
Menjaring Password  dengan Firefox Sniffer

Firefox adalah browser andalan saya, terutama untuk urusan penetration testing. Firefox memiliki banyak sekali addon/extension yang sangat membantu untuk bermacam-macam urusan. Namun tidak semua addon membantu pengguna, ada juga addon yang menyadap dan mengirimkan username/password pengguna ketika login ke email attacker, addon itu adalah FFsniFF.

Dalam artikel ini akan menunjukkan simulasi penyadapan password di browser korban dan mengirimkan hasil sadapannya ke email saya di ilmuhacking.com. Setelah itu saya akan jelaskan cara kerja FFsniFF dengan membedah source codenya.

Sekilas tentang  addon Firefox

Addon firefox adalah program dalam javascript yang diload dan diaktifkan setiap firefox dijalankan. Addon ini diperlukan untuk melakukan hal-hal yang tidak disediakan oleh firefox (firefox hanya menyediakan fungsi-fungsi dasar saja). Antarmuka addon ada yang berbentuk ikon di status bar, toolbar atau boleh juga tidak memiliki antarmuka sama sekali. FFsniFF adalah contoh addon yang tidak memiliki antarmuka pengguna sama sekali, hal ini bisa dimaklumi karena memang addon ini harus bersifat stealth.

Addon dipaketkan dan disebarkan dalam bentuk file ZIP, namun ekstensi filenya bukan zip melainkan XPI (dibaca “zippy”). Dalam file xpi tersebut ada banyak file dan folder lain seperti source code javascript, gambar dan file xml deskriptor. File-file yang umumnya ada dalam sebuah paket zippy adalah:
1 exampleExt.xpi:
2               /install.rdf
3               /components/*
4               /components/cmdline.js
5               /defaults/
6               /defaults/preferences/*.js
7               /plugins/*
8               /chrome.manifest
9               /chrome/icons/default/*
10              /chrome/
11              /chrome/content/
Baca Selengkapnnya >>>>>>>

=====================================================================
Menjaring Password  KlikBCA dengan XSS

expertadvisor.blogspot.com akan memberikan contoh exploit yang cukup berbahaya

Sebenarnya XSS termasuk bug yang gawat dan susah diantisipasi, namun XSS juga bug yang paling sering diremehkan. Karena berbeda dengan bug lain seperti SQL Injection yang menyerang server, bug ini tidak berpengaruh sama sekali terhadap server. XSS hanya menyerang client, yaitu pengguna web application.

Mungkin mereka berpikir apa sih hal terburuk yang bisa menimpa server dengan XSS? Memang  tidak  secara  langsung,  namun  ingat  satu  bug  bisa  di-exploit  dengan  1001 macam cara yang semakin lama semakin efektif. Anda akan terkejut menyadari bahwa bug “seremeh” ini ternyata bisa diexploit sedemikian rupa.

The Vulnerability


xss bug

Bug XSS ini akan muncul bila kita memasukkan username dan password yang salah. Ketika kita salah mengisi password, maka akan muncul dialog box yang memberitahu bahwa password kita salah.

URL ketika password kita salah adalah:

https://ibank.klikbca.com/authentication.do?value(actions)=logout&value(strError)=Mohon masukkan User ID/Password Anda yg benar \n (Please enter Your correct User ID/Password)

URL tersebut akan menghasilkan source html sebagai berikut:

<script>
var err='User ID harus Alpha Numerik/User ID must be Alpha Numeric'
alert(err); iBankForm.action='login.jsp'; iBankForm.submit();
</script>

Perhatikan bahwa setelah var err ditutup dengan karakter kutip (’). Jadi kalau kita ingin meng-injeksikan tag html atau javascript lain, kita harus tutup dulu dengan karakter (’). Mari kita coba untuk menampilkan dialog box berisi cookie dengan URL berikut:

Baca Selengkapnnya >>>>>> 

======================================================================== 
Hacking Mandiri Internet Banking

Dalam artikel ini saya akan menggunakan jurus session fixation untuk membajak session internet banking Mandiri yang merupakan bank terbesar di tanah air. Detil mengenai session fixation attack bisa dibaca di artikel saya sebelumnya yang berjudul mengenal session fixation attack.

Session ID Bank Mandiri Internet Banking

Internet banking mandiri menggunakan sessionid yang disimpan dalam cookie dengan nama JSESSIONID. Sessionid ini sangat panjang dan acak, jadi tidak mungkin memakai jurus prediction untuk mendapatkan sessionid. Contoh sessionid bank mandiri adalah:

JSESSIONID=JHAb6Q3Q1BGE5uCwNMfTDU1yxfxV9vhMODrP0krLdbem8FvqPA7l!5684546
85!-1062708981!7668!7002
Fixate sessionid yang dipilih sendiri dengan query string

Untuk  memastikan  apakah  internet  banking  mandiri  bisa  diserang  dengan  session fixation, saya akan coba memasukkan query string JSESSIONID berisi string yang saya pilih sendiri. Saya coba dengan query string JSESSIONID=01234567890. Berikut adalah request dan response yang terjadi.

1 https://ib.bankmandiri.co.id/retail/Login.do?action=form&JSESSIONID=0
2 1234567890
3
4 GET /retail/Login.do?action=form&JSESSIONID=01234567890 HTTP/1.1
5 Host: ib.bankmandiri.co.id
6 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; id; rv:1.9.0.5)
7 Gecko/2008120122 YFF3 Firefox/3.0.5 ImageShackToolbar/5.0.0
8 Accept:
9 text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
1 Accept-Language: id,en-us;q=0.7,en;q=0.3
0 Accept-Encoding: gzip,deflate
1 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
1 Keep-Alive: 300
1 Connection: keep-alive
2
1 HTTP/1.x 200 OK
3 Date: Mon, 02 Feb 2009 23:28:58 GMT
1 Pragma: no-cache
4 Content-Encoding: gzip
1 Content-Length: 3822
5 Content-Type: text/html
1 Expires: -1
6 Transfer-Encoding: Chunked
1 Set-Cookie:
7 JSESSIONID=JHB9fR0rxOD53jgT3h1x57kAmFAqo8s2fp28UZvDxs2zLupl0s1Q!56845
1 4685!-1062708981!7668!7002; path=/
8 Cache-Control: no-cache
1
9
2
0
2
1
2
2
Ternyata usulan ditolak mentah-mentah oleh server, hal ini terlihat dari responsenya yang memberikan sessionid dalam bentuk cookie pada baris ke-21. Dari response tersebut juga bisa diambil kesimpulan bahwa server bank mandiri lebih suka memakai cookie sehingga bila ada client yang memberikan sessionid dalam query string, dibalas dengan header Set-Cookie. Ini pertanda bagus karena cookie yang diberikan pada korban akan memudahkan serangan saya.

Fixate sessionid yang dibangkitkan server dengan query string

Oke, setelah gagal mengusulkan sessionid sembarangan dengan query string. Saya akan coba lagi dengan sessionid yang dibangkitkan server. Untuk itu sebelumnya saya harus meminta server memberikan sessionid. Dalam contoh ini saya akan gunakan sessionid yang sudah saya minta sebelumnya, yaitu:
JSESSIONID=JHAb6Q3Q1BGE5uCwNMfTDU1yxfxV9vhMODrP0krLdbem8FvqPA7l!5684546
85!-1062708981!7668!7002
Sessionid ini akan di kirimkan dalam request dalam bentuk query string. Sebelumnya cookie yang ada harus dihapus karena cookie memiliki prioritas lebih dibanding query string dalam hal sessionid. Berikut request dan response yang terjadi.

Baca Selengkapnya >>>

=======================================================================

Komentar