Crack trang đăng nhập dựa trên web bằng Hydra trong Kali Linux

Crack Web Based Login Page With Hydra Kali Linux



Mật khẩu được định nghĩa về mặt kỹ thuật là chuỗi ký tự bí mật được sử dụng để xác thực hoặc giành quyền truy cập vào tài nguyên. Nó phải được giữ bí mật và không cho phép những người khác không được phép truy cập vào những tài nguyên đó. Mật khẩu đã được sử dụng với máy tính kể từ những ngày đầu tiên của máy tính. Một trong những hệ thống chia sẻ lần đầu tiên, được giới thiệu vào năm 1961. Nó có lệnh đăng nhập yêu cầu mật khẩu người dùng. Sau khi nhập MẬT KHẨU, hệ thống sẽ tắt cơ chế in, nếu có thể, để người dùng có thể nhập mật khẩu của mình một cách riêng tư.

Độ mạnh của mật khẩu là một hàm của độ dài, độ phức tạp và không thể đoán trước. Nó đo lường hiệu quả trong việc chống lại việc đoán hoặc phá vỡ nó. Mặt khác, mật khẩu yếu sẽ rút ngắn thời gian cần thiết để đoán và truy cập vào e-mail cá nhân / công ty, dữ liệu nhạy cảm như thông tin tài chính, thông tin doanh nghiệp, thẻ tín dụng, v.v.







Có nhiều cách mật khẩu có thể yếu đi tương ứng với sức mạnh mạnh mẽ của các kế hoạch tấn công khác nhau. Phổ biến nhất của loại tấn công thông tin xác thực là, bạo lực. nó là một phương pháp thử và sai như đoán, cố gắng giải mã dữ liệu được mã hóa như mật khẩu hoặc mã hóa dữ liệu được sử dụng bởi chương trình ứng dụng hoặc công cụ hack.



Hydra là phần mềm bẻ khóa đăng nhập mạng nhanh nhất hỗ trợ nhiều giao thức tấn công. Nó rất nhanh và linh hoạt, và dễ dàng thêm các mô-đun mới. Công cụ này giúp các nhà nghiên cứu và nhà tư vấn bảo mật có thể chỉ ra việc truy cập trái phép vào hệ thống từ xa dễ dàng như thế nào. Hydra được viết bởi van Hauser và nó được hỗ trợ thêm bởi David Maciejak. Trong bản cập nhật mới nhất, sự phát triển của hydra được chuyển sang kho lưu trữ github công khai tại: https://github.com/vanhauser-thc/thc-hydra.



Hydra đã được thử nghiệm để biên dịch trên Linux, Windows / Cygwin, Solaris 11, FreeBSD 8.1, OpenBSD, OSX, QNX / Blackberry và được cung cấp theo GPLv3 với bản mở rộng giấy phép OpenSSL đặc biệt.





THC Hydra hỗ trợ các giao thức này: 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 và v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC và XMPP.

SO SÁNH HYDRA VỚI CÁC CÔNG CỤ CRACKING CỦA NGƯỜI KHÁC

Ngoài ra còn có rất nhiều công cụ cracker đăng nhập bên cạnh hydra, tuy nhiên không có công cụ nào hỗ trợ một danh sách khổng lồ các giao thức và hỗ trợ cracker đăng nhập song song như hydra. Các bảng bên dưới hiển thị kết quả so sánh các tính năng, dịch vụ và tốc độ so với medusa và ncrack.



Đặc trưng

Đặc tính Hydra con sứa Ncrack
Giấy phép AGPLv3 GPLv2 Điều khoản GPLv2 + Nmap
Hỗ trợ IPv6 đúng Không Không
Giao diện người dùng đồ họa đúng đúng Không
Hỗ trợ quốc tế hóa (RFC 4013) đúng Không Không
Hỗ trợ proxy HTTP đúng đúng Không
Hỗ trợ proxy SOCKS đúng Không Không
Các giao thức được hỗ trợ 51 22 7

Dịch vụ

Crack trang đăng nhập dựa trên web với

Dịch vụ Thông tin chi tiết Hydra con sứa Ncrack
ADAM-6500 đúng Không Không
AFP đúng đúng Không
Dấu hoa thị đúng Không Không
Mật khẩu Cisco đúng Không Không
Cisco Enable đúng Không Không
CVS đúng đúng Không
Firebird đúng Không Không
FTP đúng đúng đúng
Hỗ trợ SSL AUTH TLS & FTP qua SSL AUTH TLS & FTP qua SSL Không
HTTP (Các) phương pháp NHẬN, ĐẦU, ĐĂNG HIỂU ĐƯỢC HIỂU ĐƯỢC
Xác thực cơ bản đúng đúng đúng
Biểu mẫu HTTP (Các) phương pháp ĐƯỢC ĐĂNG TẢI ĐƯỢC ĐĂNG TẢI Không
Hỗ trợ SSL HTTPS HTTPS Không
Http Proxy Xác thực cơ bản đúng Không Không
Xác thực DIGEST-MD5 đúng Không Không
NTLM Auth đúng Không Không
Hỗ trợ SSL HTTPS Không Không
Liệt kê URL PROXY HTTP đúng Không Không
ICQ v5 đúng
1
Không Không
IMAP ĐĂNG NHẬP hỗ trợ đúng đúng Không
Hỗ trợ AUTH LOGIN đúng Không Không
Hỗ trợ AUTH PLAIN đúng đúng Không
Hỗ trợ AUTH CRAM-MD5 đúng Không Không
Hỗ trợ AUTH CRAM-SHA1 đúng Không Không
Hỗ trợ AUTH CRAM-SHA256 đúng Không Không
Hỗ trợ AUTH DIGEST-MD5 đúng Không Không
Hỗ trợ AUTH NTLM đúng đúng Không
Hỗ trợ AUTH SCRAM-SHA1 đúng Không Không
Hỗ trợ SSL IMAPS & STARTTLS IMAPS & STARTTLS Không
IRC Mật khẩu máy chủ chung đúng Không Không
Mật khẩu chế độ VẬN HÀNH đúng Không Không
LDAP v2, Hỗ trợ đơn giản đúng Không Không
v3, Hỗ trợ đơn giản đúng Không Không
v3, hỗ trợ AUTH CRAM-MD5 đúng Không Không
Hỗ trợ AUTH DIGEST-MD5 đúng
Hỗ trợ AUTH NTLM đúng đúng
Hỗ trợ AUTH SCRAM-SHA1 đúng
Hỗ trợ SSL IMAPS & STARTTLS IMAPS & STARTTLS
IRC Mật khẩu máy chủ chung đúng
Mật khẩu chế độ VẬN HÀNH đúng
LDAP v2, Hỗ trợ đơn giản đúng
v3, Hỗ trợ đơn giản đúng
v3, hỗ trợ AUTH CRAM-MD5 đúng
v3, hỗ trợ AUTH DIGEST-MD5 đúng
MS-SQL đúng đúng
MySQL v3.x đúng đúng
v4.x đúng đúng
v5.x đúng đúng
NCP đúng đúng
NNTP Hỗ trợ người dùng đúng đúng
Hỗ trợ AUTH LOGIN đúng
Hỗ trợ AUTH PLAIN đúng
Hỗ trợ AUTH CRAM-MD5 đúng
Hỗ trợ AUTH DIGEST-MD5 đúng
Hỗ trợ AUTH NTLM đúng
Hỗ trợ SSL STARTTLS & NNTP qua SSL
Oracle Cơ sở dữ liệu đúng đúng
TNS Listener đúng
Liệt kê SID đúng
PC-NFS đúng
pcAnywhere Xác thực gốc đúng đúng
Xác thực dựa trên hệ điều hành (MS) đúng
POP3 Hỗ trợ người dùng đúng đúng đúng
Hỗ trợ APOP đúng
Hỗ trợ AUTH LOGIN đúng đúng
Hỗ trợ AUTH PLAIN đúng đúng
Hỗ trợ AUTH CRAM-MD5 đúng
Hỗ trợ AUTH CRAM-SHA1 đúng
Hỗ trợ AUTH CRAM-SHA256 đúng
Hỗ trợ AUTH DIGEST-MD5 đúng
Hỗ trợ AUTH NTLM đúng đúng
Hỗ trợ SSL POP3S & STARTTLS POP3S & STARTTLS POP3S
PostgreSQL đúng đúng
Dấu hoa thị đúng
RDP Máy trạm Windows đúng đúng đúng
máy chủ Windows đúng đúng
Xác thực miền đúng đúng
REDIS đúng Không
REXEC đúng đúng
RLOGIN đúng đúng
RPCAP đúng Không
RSH đúng đúng
RTSP đúng Không
SAP R / 3 đúng
Siemens S7-300 đúng
một hớp đúng
Hỗ trợ SSL SIP qua SSL
SMB Chế độ NetBIOS đúng đúng Không
Chế độ gốc W2K đúng đúng đúng
Chế độ băm đúng đúng Không
Xóa văn bản xác thực đúng đúng
Xác thực LMv1 đúng đúng đúng
Xác thực LMv2 đúng đúng đúng
NTLMv1 Auth đúng đúng đúng
NTLMv2 Auth đúng đúng đúng
SMTP Hỗ trợ AUTH LOGIN đúng đúng
Hỗ trợ AUTH PLAIN đúng đúng
Hỗ trợ AUTH CRAM-MD5 đúng
Hỗ trợ AUTH DIGEST-MD5 đúng
Hỗ trợ AUTH NTLM đúng đúng
Hỗ trợ SSL SMTPS & STARTTLS SMTPS & STARTTLS
Danh sách người dùng SMTP VRFY cmd đúng đúng
EXPN cmd đúng đúng
RCPT ĐẾN cmd đúng đúng
SNMP v1 đúng đúng
v2c đúng đúng
v3 (Chỉ xác thực MD5 / SHA1)
SOCKS v5, Xác thực mật khẩu đúng
SSH v1 đúng
v2 đúng đúng đúng
Phím SSH v1, v2 đúng
Subversion (SVN) đúng đúng
Nhóm nói TS2 đúng
Telnet đúng đúng đúng
XMPP Hỗ trợ AUTH LOGIN đúng
Hỗ trợ AUTH PLAIN đúng
Hỗ trợ AUTH CRAM-MD5 đúng
Hỗ trợ AUTH DIGEST-MD5 đúng
Hỗ trợ AUTH SCRAM-SHA1 đúng
VMware Auth Daemon v1.00 / v1.10 đúng đúng
Hỗ trợ SSL đúng đúng
VNC Hỗ trợ mật khẩu RFB 3.x đúng đúng
Hỗ trợ người dùng + mật khẩu RFB 3.x (Chỉ UltraVNC)
Hỗ trợ mật khẩu RFB 4.x đúng đúng
Hỗ trợ người dùng + mật khẩu RFB 4.x (Chỉ UltraVNC)

So sánh tốc độ

Tốc độ (tính bằng s) Hydra con sứa Ncrack
1 mô-đun Tác vụ / FTP 11,93 12,97 18.01
4 Nhiệm vụ / Mô-đun FTP 4,20 5,24 9.01
16 Nhiệm vụ / Mô-đun FTP 2,44 2,71 12.01
1 Mô-đun Task / SSH v2 32,56 33,84 45.02
4 Nhiệm vụ / Mô-đun SSH v2 10,95 Bị hỏng Bỏ lỡ
16 Nhiệm vụ / Mô-đun SSH v2 5.14 Bị hỏng Bỏ lỡ

Đó là một giới thiệu đơn giản ngắn gọn về hydra. Bây giờ chúng ta hãy chuyển sang cài đặt.

CÀI ĐẶT HYDRA

Hydra được cài đặt sẵn trên Linux linux, tuy nhiên nếu bạn có hệ điều hành khác, bạn có thể biên dịch và cài đặt nó trên hệ thống của mình. Hiện tại, hỗ trợ của hydra trên các nền tảng khác nhau:

  • Tất cả các nền tảng UNIX (Linux, * bsd, Solaris, v.v.)
  • MacOS (về cơ bản là một bản sao BSD)
  • Windows với Cygwin (cả IPv4 và IPv6)
  • Hệ thống di động dựa trên Linux, MacOS hoặc QNX (ví dụ: Android, iPhone, Blackberry 10, Zaurus, iPaq)

Để tải xuống, cấu hình, biên dịch và cài đặt hydra, chỉ cần nhập vào terminal:

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

Nếu bạn có Ubuntu / Debian, bạn sẽ cần một số thư viện phụ thuộc:

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

Nếu bạn không thể tìm thấy những thư viện đó trong kho lưu trữ của mình, thì bạn cần tải xuống và cài đặt chúng theo cách thủ công.

CÁCH SỬ DỤNG HYDRA

Chúc mừng bạn đã cài đặt thành công hydra vào hệ thống của mình. Trên thực tế, Hydra đi kèm với hai phiên bản, GUI-gtk và phiên bản CLI yêu thích của tôi. và ngoài ra hydra cũng có phiên bản hướng dẫn CLI, được gọi là hydra-wizard. Bạn sẽ được hướng dẫn từng bước thay vì nhập thủ công tất cả các lệnh hoặc đối số vào thiết bị đầu cuối. Để chạy hydra, từ loại thiết bị đầu cuối của bạn:

Đối với CLI:

hydra

Đối với CLI-wizard:

hydra-wizard

Đối với GUI:

xhydra

Sau khi bạn gõ ‘hydra’, nó sẽ hiển thị các lệnh trợ giúp như sau:

 [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

Đăng nhập dựa trên web Bruteforce với hydra

Hydra hỗ trợ một số dịch vụ bruteforcing như tôi đã đề cập trước đó, một trong số chúng được sử dụng để cung cấp thông tin đăng nhập dựa trên web chẳng hạn như biểu mẫu đăng nhập mạng xã hội, biểu mẫu đăng nhập ngân hàng người dùng, đăng nhập dựa trên web bộ định tuyến của bạn, v.v. Đó http [s] -get-form sẽ xử lý yêu cầu này. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thực thi các thông tin đăng nhập web dễ bị tấn công. Trước khi kích hoạt hydra, chúng ta nên biết một số lập luận cần thiết như sau:

  • Mục tiêu : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
  • Tên đăng nhập : quản trị viên (nếu bạn không chắc chắn, hãy thực thi điều này)
  • Danh sách mật khẩu : Vị trí của danh sách tệp từ điển chứa mật khẩu có thể.
  • Tham số biểu mẫu : nói chung, hãy sử dụng dữ liệu giả mạo hoặc proxy để có được dạng tham số yêu cầu. Nhưng ở đây tôi đang sử dụng iceweasel, dựa trên firefox, thanh công cụ dành cho nhà phát triển mạng.
  • Mô-đun dịch vụ : 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.

Lấy thông số bài đăng bằng trình duyệt, iceweasel / firefox

Trong trình duyệt firefox của bạn, nhấn các phím ‘ CTRL + SHIFT + Q ‘. Sau đó mở trang đăng nhập webhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, bạn sẽ nhận thấy một số văn bản xuất hiện trên tab nhà phát triển mạng. Nó cho bạn biết những tệp nào được chuyển cho chúng tôi. Hãy xem tất cả phương pháp đều là GET, vì chúng tôi chưa ĐĂNG bất kỳ dữ liệu nào.

Để có được các thông số sau biểu mẫu, hãy nhập bất cứ thứ gì vào biểu mẫu tên người dùng và hoặc mật khẩu. Bạn sẽ thấy một phương thức POST mới trên tab nhà phát triển mạng. Nhấp đúp vào dòng đó, trên tab Tiêu đề, nhấp vào nút Chỉnh sửa và Gửi lại ở phía bên phải. Trên Nội dung Yêu cầu, hãy sao chép dòng cuối cùng, chẳng hạn như tfUName = asu & tfUPass = raimu . NS tfUNametfUPass là các thông số chúng ta cần. Như đã thấy bên dưới:

Kali linux có rất nhiều danh sách từ, hãy chọn danh sách từ thích hợp hoặc chỉ cần sử dụng rockou.txt vào vị trí / usr / share / wordlists / như được thấy bên dưới:

Được rồi, bây giờ chúng tôi đã có tất cả các lý lẽ cần thiết và sẵn sàng kích hoạt hydra. Đây là mẫu lệnh:

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

Hãy chia nhỏ các lệnh:

  • NS : là một từ chứa tài khoản tên người dùng, sử dụng -L để tham chiếu danh sách tên người dùng có thể có trong một tệp.
  • P : là một danh sách tệp có thể có mật khẩu, sử dụng -p để sử dụng một từ mật khẩu theo nghĩa đen thay vì đoán nó.
  • testapp.vunlwebapp.com : là tên máy chủ hoặc đích
  • http-post-form : là mô-đun dịch vụ chúng tôi sử dụng
  • /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = 3 tham số cần thiết, cú pháp là:
    {URL trang}: {Yêu cầu tham số biểu mẫu nội dung bài đăng}: S = {Tìm bất kỳ nội dung nào trong trang sau khi đăng nhập thành công}
  • v = Chế độ chi tiết
  • V = hiển thị đăng nhập: vượt qua cho mỗi lần thử
  • NS = Chấm dứt chương trình nếu đăng nhập cặp: tìm thấy mật khẩu

Bây giờ hãy để hydra cố gắng phá mật khẩu cho chúng tôi, nó cần thời gian vì đây là một cuộc tấn công từ điển. Một khi bạn không thể tìm thấy một cặp đăng nhập: mật khẩu hydra sẽ ngay lập tức chấm dứt công việc và hiển thị thông tin xác thực hợp lệ.

Có rất nhiều điều mà hydra có thể làm được, vì trong hướng dẫn này, chúng ta vừa học cách đăng nhập dựa trên web bruteforce bằng hydra, chúng ta chỉ học một giao thức, đó là giao thức http-post-form. Chúng tôi cũng có thể sử dụng hydra chống lại một giao thức khác như ssh, ftp, telnet, VNC, proxy, v.v.