Web Penetration Testing : Brute Force Login Dengan Hydra

Dalam era digital yang semakin maju, keamanan web menjadi semakin penting bagi organisasi dan individu. Namun, seiring dengan peningkatan langkah-langkah keamanan, begitu juga dengan metode serangan yang kompleks. Oleh karena itu, pengujian penetrasi (penetration testing) menjadi satu-satunya cara untuk memahami seberapa aman suatu aplikasi atau situs web dari serangan yang berpotensi merusak.

Salah satu teknik yang sering digunakan dalam pengujian penetrasi adalah brute force attack, di mana penyerang mencoba untuk menebak kombinasi kata sandi hingga berhasil masuk ke dalam sistem. Dalam konteks ini, Hydra muncul sebagai salah satu alat yang paling kuat dan populer untuk melaksanakan serangan brute force.

Penjelasan Umum Brute Force Attack

Brute force attack adalah salah satu teknik serangan dalam dunia keamanan komputer di mana penyerang mencoba untuk mendapatkan akses ke suatu sistem dengan mencoba semua kemungkinan kombinasi kata sandi secara berurutan atau acak. Ide dasar di balik serangan ini adalah bahwa dengan mencoba semua kombinasi yang mungkin, termasuk kombinasi yang sangat tidak mungkin, penyerang berharap untuk menemukan kata sandi yang benar dan akhirnya mendapatkan akses yang tidak sah ke sistem tersebut.

Proses brute force dapat dilakukan secara manual atau otomatis menggunakan perangkat lunak yang dirancang khusus untuk tujuan tersebut. Pada umumnya, serangan brute force memerlukan waktu yang signifikan tergantung pada panjang dan kompleksitas kata sandi yang dimaksud. Meskipun serangan brute force relatif sederhana dalam konsepnya, dapat menjadi sangat efektif terutama jika kata sandi yang digunakan oleh pengguna sistem tersebut lemah atau mudah ditebak.

Oleh karena itu, penting bagi pengguna sistem untuk menggunakan kata sandi yang kuat dan kompleks, serta untuk mengimplementasikan langkah-langkah keamanan tambahan seperti two-factor authentication untuk melindungi diri dari serangan ini. Selain itu, penggunaan teknologi deteksi intrusi yang canggih dan pemantauan aktif dapat membantu mendeteksi dan mencegah serangan brute force sebelum mereka berhasil merusak sistem.

Wordlist Dalam Brute Force Attack

Konsep wordlist dalam konteks brute force attack adalah daftar kata-kata yang digunakan oleh penyerang untuk mencoba menebak kata sandi yang benar. Istilah wordlist dapat merujuk pada daftar kata-kata yang disusun secara manual atau daftar yang dihasilkan secara otomatis oleh perangkat lunak.

Daftar kata-kata dalam wordlist bisa bervariasi, mulai dari kata-kata umum, kombinasi kata sandi yang umum digunakan, frasa yang mungkin terkait dengan pengguna atau konteks target, hingga daftar yang sangat luas yang mencakup sebanyak mungkin kombinasi kata sandi yang mungkin.

Penggunaan wordlist dalam serangan brute force memungkinkan penyerang untuk secara efisien mencoba banyak kombinasi kata sandi dalam waktu yang relatif singkat. Hal ini karena penyerang tidak perlu secara manual memasukkan setiap kombinasi, melainkan dapat menggunakan perangkat lunak atau skrip untuk mengotomatisasi prosesnya.

Penting untuk diingat bahwa keefektifan serangan brute force sangat bergantung pada kualitas wordlist yang digunakan. Semakin luas dan beragam wordlist yang digunakan, semakin besar kemungkinan penyerang untuk berhasil menebak kata sandi yang benar. Oleh karena itu, sebagai langkah pertahanan, pengguna sistem dianjurkan untuk menggunakan kata sandi yang tidak mudah ditebak dan tidak termasuk dalam wordlist umum yang digunakan oleh penyerang.

Contoh wordlist :

Tutorial

  1. Langkah pertama, di sini penulis menggunakan DVWA untuk melakukan pentest nya dan mengubah pengaturan menjadi low untuk mempermudah tutorial melakukan brute force login pada aplikasi web :
  2. Web Penetration Testing : Brute Force Login Dengan Hydra
  3. Kita arahkan pada menu brute force di mana terdapat bidang inputan username dan password :
  4. Web Penetration Testing : Brute Force Login Dengan Hydra
  5. Sekarang penulis mengetikkan perintah berikut untuk melihat daftar bantuan pada hydra :
  6. hydra -h

    Hasil :

    Web Penetration Testing : Brute Force Login Dengan Hydra
  7. Untuk penyerangan, penulis perlu membuat sebuah wordlist terlebih dahulu untuk melakukan brute force login. Anda pasti sudah membaca mengenai wordlist di atas. Penulis di sini membuat sebuah file bernama user.txt untuk username dan di dalam nya terdapat isi wordlist seperti :
  8. galih123
    testing
    kunci123
    username76
    kucing_hacker
    qwerty
    master_admin123
    admin
    admin1
    admin123
    admin67
    admin
    metayuli
    galih_anggoro_prasetya
    prasetya123
    anggoro
    

  9. Sama seperti password nya, di sini penulis membuat file bernama pass.txt yang isi nya seperti ini :
  10. dvwa_123
    mouse
    mozilla__@1127333
    password
    password123
    sistem_dvwa123
    

    Perlu di ingat kembali, wordlist di atas adalah wordlist yang penulis buat jadi Anda bisa memodifikasi nya lagi sesuai keinginan.

  11. Langkah di atas sudah selesai. Untuk memulai untuk menggunakan hydra lebih lanjut maka kita perlu memasukkan perintah seperti ini :
  12. hydra 127.0.0.1 -L user.txt -P pass.txt http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:H=Cookie:PHPSESSID=4h4bpi491fm7atiingh0tlufqf; security=low:F=Username and/or password incorrect."

    Penjelasan :

    - hydra: Ini adalah perintah untuk menjalankan alat Hydra, yang digunakan untuk melakukan serangan brute force pada berbagai layanan.

    - 127.0.0.1: Ini adalah alamat IP target, dalam hal ini adalah localhost (komputer itu sendiri).

    - L user.txt: Opsi -L menunjukkan file yang berisi wordlist username yang akan di coba, dalam hal ini adalah user.txt.

    - P pass.txt: Opsi -P menunjukkan file yang berisi wordlist password yang akan di coba, dalam hal ini adalah pass.txt.

    - http-get-form: Ini adalah modul Hydra yang digunakan untuk menyerang form login yang menggunakan metode HTTP GET.

    - "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login": Bagian ini adalah spesifikasi dari form login yang akan diserang. Penjelasan lebih dalam :

    • /dvwa/vulnerabilities/brute/ adalah path ke form login.
    • :username=^USER^ menunjukkan tempat di mana Hydra akan menempatkan username dari user.txt.
    • & tanda tersebut bisa penulis mudahkan untuk memberikan spasi pada argumen selanjutnya.
    • password=^PASS^ menunjukkan tempat di mana Hydra akan menempatkan password dari pass.txt.
    • Login=Login adalah nama dari tombol submit pada form tersebut.

    - :H=Cookie :4h4bpi491fm7atiingh0tlufqf; security=low: Bagian ini adalah header tambahan yang dikirimkan dalam setiap permintaan HTTP. Penjelasan lebih dalam :

    • H=Cookie menunjukkan bahwa ini adalah header Cookie.
    • PHPSESSID=4h4bpi491fm7atiingh0tlufqf adalah session ID PHP, yang mungkin diperlukan untuk mempertahankan sesi.
    • security=low adalah tingkat keamanan yang diatur pada aplikasi DVWA (Damn Vulnerable Web Application).

    - F=Username and/or password incorrect.: F adalah string yang Hydra akan cari dalam respons HTTP untuk menentukan apakah login gagal. Dalam hal ini, Hydra akan mencari teks "Username and/or password incorrect." untuk mengidentifikasi login yang gagal.

    Kesimpulan :

    Perintah ini menginstruksikan Hydra untuk melakukan serangan brute force pada form login yang terletak di http://127.0.0.1/dvwa/vulnerabilities/brute/. Hydra akan mencoba semua kombinasi wordlist username dan password dari file user.txt dan file pass.txt, menggunakan metode HTTP GET. Header Cookie disertakan untuk menjaga sesi, dan Hydra akan menentukan kegagalan login berdasarkan adanya teks "Username and/or password incorrect." dalam respons HTTP. Perintah di atas sewaktu waktu bisa berubah jika Hydra memiliki pembaharuan.

  13. Untuk mendapatkan session dan cookie pada aplikasi web, kita hanya perlu mengklik kanan, memilih opsi Inspect, dan mencari pengaturan browser yang relevan untuk melihat session dan cookie tersebut.
  14. Web Penetration Testing : Brute Force Login Dengan Hydra
  15. Hasil ketika penulis menjalankan perintah di atas pada langkah 6 :
  16. Web Penetration Testing : Brute Force Login Dengan Hydra

    Gambar di atas, ini berarti Hydra berhasil melakukan serangan brute force login pada form login dan menemukan kombinasi username dan password yang benar yaitu username nya adalah admin dan password nya adalah password pada wordlist yang penulis buat. Output ini memberikan informasi yang jelas mengenai proses dan hasil serangan.

  17. Selesai.

Penutup

Pengujian penetrasi adalah langkah penting dalam memastikan keamanan aplikasi web dari berbagai ancaman siber. Melalui teknik brute force login menggunakan alat seperti Hydra, kita dapat mengidentifikasi kelemahan dalam mekanisme autentikasi dan mengambil langkah-langkah perbaikan yang diperlukan. Meskipun Hydra adalah alat yang sangat efektif, penting untuk diingat bahwa penggunaannya harus sesuai dengan hukum dan etika. Pengujian penetrasi seharusnya hanya dilakukan dengan izin yang sah dan bertujuan untuk meningkatkan keamanan, bukan untuk eksploitasi ilegal.

Menggunakan kata sandi yang kuat, mengimplementasikan mekanisme two-factor authentication, dan memantau aktivitas mencurigakan secara terus-menerus adalah beberapa langkah proaktif yang dapat diambil untuk melindungi sistem dari serangan brute force. Dengan pemahaman yang mendalam dan penerapan praktik terbaik dalam keamanan siber, kita dapat menciptakan lingkungan digital yang lebih aman bagi semua pengguna.

Terakhir, tidak semua aplikasi web bisa di lakukan brute force login karena ketika kita melakukan penyerangan perlu di lakukan teknik reconnaissance dulu, yang arti nya perlu mengumpulkan dan mengetahui dulu informasi server atau target di mana sisi kerentanan yang di miliki untuk di eksploitasi. Semoga bermanfaat!