Uji login WordPress dengan Hydra di Kali Linux

Uji login WordPress dengan Hydra di Kali Linux

Perkenalan

Ada formulir web di seluruh internet. Bahkan situs yang biasanya tidak memungkinkan pengguna reguler masuk mungkin memiliki area admin. Penting saat menjalankan dan menggunakan situs untuk memastikan bahwa kata sandi yang menggeser akses ke kontrol sensitif dan panel admin seaman mungkin.

Ada berbagai cara untuk menyerang aplikasi web, tetapi panduan ini akan mencakup menggunakan Hydra untuk melakukan serangan brute force pada formulir log in. Platform target pilihan adalah WordPress. Ini adalah platform CMS paling populer di dunia, dan juga terkenal karena dikelola dengan buruk.

Ingat, Panduan ini dimaksudkan untuk membantu Anda melindungi WordPress atau situs web lain Anda. Gunakan di situs yang tidak Anda miliki atau memiliki izin tertulis untuk menguji liar.

Diatur

Sebelum Anda melakukan apa pun, Anda akan membutuhkan situs web WordPress untuk ditargetkan. Panduan ini juga mengasumsikan bahwa Anda menjadi hosting situs WordPress di mesin Anda sendiri. Jika Anda memerlukan bantuan untuk mengatur lampu di mesin Anda, periksa Lampu Debian kami dan panduan lampu Ubuntu.

Anda bisa melakukan ini baik pada instalasi Linux biasa atau pada instalasi Kali Linux. Jika Anda menggunakan Kali, ikuti Lampu Debian dari Panduan Sumber. Pastikan bahwa Anda memiliki Hydra dan Curl yang diinstal pada sistem mana pun yang Anda pilih. Mereka tersedia di sebagian besar repositori.

Jika Anda benar -benar tidak ingin menggunakan instalasi reguler Anda, Anda pasti dapat menggunakan mesin lain, cukup di sub target IP untuk localhost, dan pastikan mesin target dapat diakses dari yang menyerang.



Mengumpulkan informasi

Setelah Anda memiliki WordPress dan berjalan, saatnya menemukan informasi sebanyak mungkin tentang instalasi yang akan Anda targetkan. Ini berarti mencari tahu bagaimana bentuk login dibangun, apa yang terjadi ketika Anda mengirimkannya, dan mungkin ke mana ia pergi jika login berhasil.

Sumber HTML

Mulailah dengan menavigasi ke halaman login. Anda dapat menemukannya di localhost/wp-login.php. Gunakan kemampuan browser Anda untuk memeriksa kode sumber. Anda dapat mengklik kanan di suatu tempat di halaman dan memilih "Sumber Lihat" atau "Periksa Elemen.Bagaimanapun cara Anda dapat melihat sumbernya, itu hanya akan ditampilkan dengan cara yang berbeda.

Mencari -cari di tengah kode. Anda sedang mencari tag. Itu adalah formulir login yang sebenarnya. Di dalam bentuk itu ada beberapa informasi yang Anda butuhkan.

Sebelum mengumpulkan informasi, periksa apakah formulir mengirimkan permintaan Get atau Posting. Di baris pertama formulir, harus ada opsi metode yang terlihat seperti ini: Metode = "Posting". Dalam kasus WordPress, itu adalah posting.

Pertama, temukan input nama pengguna. Itu akan terlihat seperti garis di bawah ini.

 

Bagian yang Anda butuhkan adalah nama. Dalam hal ini, itu catatan.

Selanjutnya, temukan input kata sandi. Itu harus terlihat serupa.

 

Sekali lagi, temukan nama yang PWD.

Anda juga perlu mengidentifikasi tombol kirim sehingga Hydra dapat mengirimkan formulir.

 

Penting untuk mencatat keduanya nama dan nilai.

Ada satu bagian terakhir. Jika Anda belum memperhatikan, ada dua bidang tersembunyi di bagian bawah formulir. Yang satu memberi tahu WordPress untuk mengarahkan ulang saat formulir dikirim dan yang lainnya adalah cookie yang akan dicari WordPress saat formulir diserahkan. Anda membutuhkan cookie.

 

Sekali lagi, perhatikan nama Dan nilai.



keriting

Meskipun ada banyak informasi yang bisa diperoleh dengan melihat sumber HTML, ada beberapa hal lagi yang perlu Anda ketahui sebelum melepaskan Hydra. Namun, dalam kebanyakan kasus, Anda mungkin dapat menjalankan tes hanya dengan informasi yang Anda kumpulkan. Anda hanya akan mencoba masuk dengan kredensial yang salah, mencatat pesan kesalahan, dan menggunakan pesan itu sebagai kondisi uji yang gagal di Hydra.

Namun, WordPress dirancang secara berbeda, dan tidak ada cara yang baik untuk menguji dengan upaya gagal untuk masuk. Karena itu, Anda perlu menguji login yang berhasil. Karena Anda dapat mempertahankan instalasi WordPress Anda sendiri dan masuk ke dalamnya, ini tidak akan membuat perbedaan jika Anda menguji sistem untuk klien. Kondisi yang Anda temukan secara lokal harus universal untuk WordPress.

Ada kerutan lain di sini juga. Apakah Anda ingat bidang pengalihan tersembunyi di dalam formulir? Nah, pengalihan itu mencegah Anda menggunakan kondisi seperti keberadaan kata, "dasbor," untuk menguji keberhasilan juga. Anda harus melihat permintaan itu sendiri, dan untuk itu, ada keriting.

Untuk membandingkan, Anda harus terlebih dahulu melihat halaman login asli dengan curl.

$ curl -v http: // localhost/wp -login.php 

Mayoritas informasi sama dengan kode sumber yang Anda lihat di browser. Di atas, adalah informasi tentang permintaan HTTP. Perhatikan informasi ini. Anda perlu membandingkannya dengan login yang berhasil.

Hal berikutnya yang perlu Anda lakukan adalah berhasil masuk dengan Curl. Untuk melakukan itu, Anda akan membutuhkan cookie itu dari permintaan sebelumnya. Lihatlah data HTTP dan temukan garis yang terlihat seperti yang di bawah ini.

< Set-Cookie: wordpress_test_cookie=WP+Cookie+check; path=/

Anda akan membutuhkan wordpress_test_cookie = wp+cookie+periksa bagian.

Baiklah, sekarang Anda akan membutuhkan informasi yang Anda kumpulkan dari HTML bersama dengan cookie itu untuk membuat permintaan. Seperti inilah kelihatannya.

Curl -v --Data 'log = nama pengguna & pwd = realpassword & wp-submit = log+in & testcookie = 1' ---cookie 'wordpress_test_cookie = wp+cookie+periksa' http: // localhost/wp-login.php 

Jadi, Anda memiliki permintaan dasar yang sama seperti sebelumnya, tetapi kali ini, Anda menggunakan --data bendera dan --Kue kering Bendera untuk melewati ikal data mana yang ingin Anda berinteraksi dengan dan cookie itu, sehingga formulir akan benar -benar mengirimkannya.

String data itu, log = nama pengguna & pwd = realpassword & wp-submit = log+in & testcookie = 1 sesuai langsung dengan informasi yang Anda kumpulkan dari HTML. Dikatakan untuk mencolokkan nilai "nama pengguna" ke dalam input yang disebut catatan dan nilai "RealPassword" ke dalam input yang disebut PWD. Pastikan untuk menggunakan nama pengguna dan kata sandi yang sebenarnya untuk masuk. Kemudian, gunakan pengiriman dengan nama WP-Submit dan nilai Gabung untuk mengirimkan data. Pada akhirnya adalah testcookie dengan nilai 1. Itu hanya memberi tahu Curl untuk mengirimkannya bersama dengan data formulir lainnya.

Saat Curl menyelesaikan permintaan, Anda benar -benar tidak akan melihat HTML, hanya banyak informasi permintaan. Ingatlah bahwa pengalihan yang membuat pengujian dengan "dasbor" tidak berfungsi sebagai kondisi tes? Nah, sekarang pengalihan itu sendiri akan menjadi kondisi pengujian. Lihatlah garis di bawah ini.

< Location: http://localhost/wp-admin/

Baris itu tidak ada dalam permintaan sebelumnya. Itu juga tidak mengandung informasi spesifik yang terkait dengan pengguna atau login itu. Itu berarti itu akan selalu hadir selama login WordPress yang sukses, menjadikannya kondisi kesuksesan yang sempurna untuk diuji.



Pengujian dengan Hydra

Akhirnya, Anda memiliki semua yang Anda butuhkan untuk menguji kata sandi Anda dengan Hydra. Inti dari panduan ini tidak terlalu banyak untuk menutupi sintaks Hydra, tetapi akan memecah perintah yang digunakan. Jika Anda ingin mempelajari lebih lanjut tentang Hydra, lihat panduan SSH yang lebih detail.

Benar -benar hanya ada satu perintah yang Anda butuhkan agar Hydra menjalankan kemungkinan nama pengguna dan kata sandi untuk menguji keamanan situs WordPress Anda. Hal termudah untuk dilakukan adalah melihat perintah dan memecahnya.

$ hydra -l daftar/usrname.txt -p daftar/lulus.txt localhost -v http-form-pos '/wp-login.php: log =^user^& pwd =^pass^& wp-submit = log in & testcookie = 1: s = lokasi ' 

Oke, jadi ini jelas banyak yang harus diambil sekaligus. Itu -L Bendera memberitahu Hydra untuk menggunakan daftar kata pengguna di Daftar/Usrname.txt. Demikian pula, -P Bendera memberitahu Hydra untuk menggunakan daftar kata sandi di Daftar/Lulus.txt. localhost memberitahu hydra untuk menargetkan localhost, dan -V mengatakannya untuk mencatat setiap tes di output konsol.

Perintah lainnya berurusan dengan permintaan HTTP itu sendiri. HTTP-Form-Post mengaktifkan modul Hydra untuk menangani formulir HTTP dengan metode postingan. Ingat dari sebelumnya bahwa formulir login WordPress ada di Face a Post dari. String yang mengikuti berisi semua parameter yang akan digunakan Hydra. Anda harus memperhatikan bahwa itu sangat mirip dengan yang digunakan untuk masuk melalui curl.

String terdiri dari berbagai bagian yang dipisahkan oleh :. Bagian pertama adalah alamat yang tepat yang sedang diuji, /WP-LOGIN.php. Bagian selanjutnya hampir persis seperti yang digunakan oleh curl. Itu meneruskan nilai ke dalam formulir dan mengirimkannya, termasuk cookie. Alih -alih memberikan nilai literal, Hydra sebenarnya menggunakan variabel. Perhatikan di log =^pengguna^ Dan pwd =^pass^. Itu adalah variabel yang dipisahkan dengan karakter wortel yang mengambil nilai dari daftar kata dan meneruskannya dalam permintaan untuk setiap tes yang dijalankan Hydra.

Bagian terakhir dari string adalah kondisi pengujian. S menandakan bahwa itu sedang menguji keberhasilan. Jika Anda ingin menguji kegagalan, Anda akan menggunakan F. Anda mengaturnya sama dengan kata atau frasa yang diuji. Pikirkan jika hampir seperti grep.

Saat Anda menjalankan ini, Anda harus mendapatkan hasil positif, asalkan nama pengguna dan kata sandi yang benar ada di daftar kata yang Anda berikan hydra.

Menutup pikiran

Pertama, selamat telah melewati semua itu. Jika Anda telah berhasil, Anda sekarang memiliki metode yang solid untuk menguji kekuatan kata sandi dari akun pengguna WordPress Anda.

Panduan ini dirancang untuk WordPress, tetapi Anda dapat dengan mudah mengikuti langkah yang sama untuk menguji formulir web lainnya. Jika Anda menjalankan aplikasi web dengan banyak pengguna, itu pasti ide yang bagus untuk membuatnya
yakin mereka menggunakan kata sandi yang kuat. Ini dapat membantu menginformasikan kebijakan kata sandi Anda. Sekali lagi, pastikan Anda selalu hanya menguji dengan izin.

Tutorial Linux Terkait:

  • Daftar Alat Linux Kali Terbaik untuk Pengujian Penetrasi dan ..
  • Cara Dual Boot Kali Linux dan Windows 10
  • Ubuntu 20.04 WordPress dengan Instalasi Apache
  • Ubuntu 20.04: WordPress dengan instalasi nginx
  • Instalasi OpenLitespeed WordPress
  • Cara menginstal kali linux di vmware
  • Gunakan WPSCan untuk memindai WordPress untuk kerentanan di Kali
  • Pengaturan server http kali
  • Cara memecahkan kata sandi zip di kali linux
  • Mengeras Kali Linux