Brute Force Password Menggunakan Script Python

Reza Rahman Hakim

Sosial Media


1 orang menyukai ini
Suka

Summary

Description

Menentukan Target

Untuk membuat bot yang dapat berfungsi untuk melakukan serangan brute force adalah menentukan terlebih dahulu target yang akan menjadi target serangan. Pada tugas ini, saya memiliki target yang tersedia di lab DVWA. 

 

Mencari Informasi

Jika sudah melakukan penetuan target, langkah selanjutnya adalah mendapatkan informasi seputar target. Bisa dilakukan dengan cara menggunakan burp suite untuk mengetahui parameter-parameter yang dibutuhkan untuk setiap requestnya. Dan tidak lupa, periksa juga source code dengan tools inspect pada browser.

Ketika pencarian informasi dengan menggunakan tools inspect element, ada satu hal yang menarik yaitu tag input yang memiliki tipe hidden dengan nama user_token beserta valuenya. Bisa kita simpulkan itu adalah token anti-CSRF. Nilai dari token tersebut akan berubah ketika kita melakukan request yang baru. Jika memaksakan menggunakan token yang sama maka request akan gagal dilakukan dan akan di redirect kembali ke halaman login. Untuk lebih jelas dapat dilihat seperti gambar di bawah ini.

Pada request pertama dengan user_token yang diberikan menghasilkan nilai response 200. Namun pada request kedua denga user_token yang telah digunakans sebelumnya mengubah status response menjadi 302 atau not found.

 

Untuk menghadapi masalah ini kita tidak bisa menggunakan Hydra lagi, karena tidak bisa mengatasi Anti-CSRF token yang selalu berubah-ubah. Oleh karena itu, kita akan melakukan brute force dengan membuat script sendiri menggunakan Python.


 

 

Membuat Script Brute Force

Script untuk melakukan brute force dapat dilihat seperti gambar dibawah ini.

Pada script diatas menggunakan module argv yang memiliki fungsi untuk dapat memberikan argument ke skrip baris perintah, lalu menggunakan module beautifulsoup yang memiliki fungsi untuk web scrapping dan module request memiliki fungsi untuk membuat permintaan ke server target.

Cara kerja script diatas yaitu pertama-tama script akan mengecek text status success message, lalu akan mengambil token csrf dari target, jika sudah mendapatkan tokennya maka langkah selanjutnya adalah melakukan bruteforce dengan wordlist yang disediakan hingga menemukan password yang valid. Jika belum menemukan password yang valid, maka proses selanjutnya adalah mengganti token csrf dengan yang baru dengan cara mengambil dari server target. Lalu akan kembali mencoba password yang ada di wordlist. Proses ini akan berulang terus menerus hingga password valid ditemukan. 

 

Uji Coba

Jalankan script dengan menggunakan perintah seperti berikut:

Python <nama-file-script.py> <file wordlist> <Succes Message on Website Target>

 

Dari gambar diatas, bisa dilihat bahwa password yang valid adalah password. Lalu cobalah login menggunakan credentials password hasil dari proses bruteforce sebelumnya.

 

Informasi Course Terkait
  Kategori: Cyber Security
  Course: Python Scripting