第五章-2 hydra(九头蛇)与Medusa(美杜莎)


1
2
3
4
5
6
7
8
9
10
每日一句:
            竹批双耳峻,风入四蹄轻。            ——杜甫《房兵曹胡马诗》
           
本文内容:
        hydra简介
        hydra安装配置
        hydra破解
        美杜莎- Medusa

目标:使用hydra暴力破解密码

一、hydra简介

1
2
3
4
5
6
7
8
1,定义

        Hydra对应的英文意思是九头蛇,它是一款爆破神器,可以对多种服务的账号和密码进行爆破,
        包括Web登录、数据库、SSH、FTP等服务,支持Linux、Windows、Mac平台安装,其中Kali Linux中自带Hydra。
       
        hydra支持的服务有:POP3,SMB,RDP,SSH,FTP,POP3,Telnet,MYSQL……
       
        最大的安全漏洞之一是弱口令。      hydra都可以很有针对性的攻击

二、hydra安装配置

1
2
3
4
5
6
7
8
        1,Kali是安全从业人员常用的Linux系统,自带有大量安全工具集,Hydra自然也集成在里面,工具位置在密码攻击—在线攻击一栏。
       
        2,开源项目:https://github.com/vanhauser-thc/thc-hydra

        3,Windows中Hydra安装
       
            Hydra官方不支持Windows版,
            需要在GitHub上下载,地址为:https://github.com/maaaaz/thc-hydra-windows  下载之后解压缩即可。

三、hydra破解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
    1,Hydra相关参数
       
            -l LOGIN 指定破解的用户名称,对特定用户破解。
            -L FILE 从文件中加载用户名进行破解。
            -p PASS小写p指定密码破解,少用,一般是采用密码字典。
            -P FILE 大写字母P,指定密码字典。
            -e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。
            -C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。
            -t TASKS 同时运行的连接的线程数,每一台主机默认为16。
            -M FILE 指定服务器目标列表文件一行一条
            -w TIME 设置最大超时的时间,单位秒,默认是30s。
            -o FILE 指定结果输出文件。
            -f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。
            -v / -V 显示详细过程。
            -R 继续从上一次进度接着破解。
            -S 采用SSL链接。
            -s PORT 可通过这个参数指定非默认端口。
            -U       服务模块使用细节
            -h       更多的命令行选项(完整的帮助)
            server    目标服务器名称或者IP(使用这个或-M选项)
            service 指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt 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用于模块的帮助)

    2,Hydra用法案例
            ~打开方式:
                    ~图形化界面:xhydra
                    ~命令行打开:hydra
                   
                    推荐用命令行直接搞
                   
            ~破解MySQL密码
                扩展:
                    数据库一般会提供一个默认的帐户,SQL Server的sa用户,MySQL的root用户,Oracle的System用户等。
                   
                场景:假如我们现在破解mysql数据库
                步骤:
                        ~hadry -L user.txt -P pass.txt ip mysql
                        ~hydra -L user.txt -P pass.txt mysql://目标IP:mysql端口号
                   
                场景:如果需要将爆破的过程打印出来就加个指令-v
                实例:hydra -L username.txt -P password.txt -v mysql://目标IP:mysql端口号
               
                       
                    说明:       成功后会打印类似如下的信息:      [1433][mssql] host:ip  login:sa  password:sqladmin
               
                问:得到mysql的密码后一般都干什么?
                        ~脱库
                        ~提权
                                如果破解数据库的密码为sqladmin,可以利用sqlmap进一步来反弹一个与系统交互的Shell用来提权。命令为:
                                sqlmap.py -d "mssql://sa:sqladmin@ip:1433/master" --os-shell
           
            ~破解ssh
                hydra -l 用户名 -P 密码字典 -t 线程 -vV -e ns ip ssh
                hydra -l 用户名 -P 密码字典 -t 线程 -o save.log -vV ip ssh
               
                命令详细:
                        攻击目标:192.168.1.113
                        使用的模块:ssh
                        爆破用户名:root(-l)
                        使用的密码字典:/root/passwd.txt (-P)
                        爆破线程数:6 (-t)
                        显示详细信息 (-V)
                        爆破成功一个后停止 (-f)
           
            ~windows密码破解
                    hydra -l 用户名 -p 密码 smb://ip -vV<br>或者<br>hydra -l 用户名 -p 密码 smb ip –vV

            ~破解ftp
                    hydra ip ftp -l 用户名 -P 密码字典 -t 线程数(默认16) –vV
                    如果你发现目标ftp并不是在21端口,而是在其他端口上,可以使用-s参数指定正确的端口,其他服务同样如此。


            ~破解rdp
                    hydra ip rdp -l administrator -P pass.txt –V
                    ===若是不可以用,记得更新一下hydra

            ~破解telnet
                    hydra ip telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f –V

            ~破解https
                    hydra -m /index.php -l muts -P pass.txt ip https

            ~get方式提交 破解web登录
                    hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /web/

            ~post方式提交 破解web登录
                    hydra -l 用户名 -P 密码字典  ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password" -V

           
            注意:但是表单爆破推荐burp,hydra太过鸡肋

四、美杜莎- Medusa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
        hydra的缺点
                -稳定性差,程序时常崩溃
                -速度控制不好,容易触发服务器屏蔽或锁死机制
                -每主机新建进程,没服务新建实例
                -大量目标破解时性能差

        medusa的特点
                -稳定性好
                -速度控制得当
                -基于线程
                -支持模块少于hydra(不支持rdp 远程桌面)
                -WEB-Form支持存在缺陷
       
        参数:
       
            -h [TEXT]      目标IP         注意!!!不是帮助
            -H [FILE]      目标主机文件
            -u [TEXT]      用户名
            -U [FILE]      用户名文件
            -p [TEXT]      密码
            -P [FILE]      密码文件
            -C [FILE]      组合条目文件
            -O [FILE]      文件日志信息
            -e [n/s/ns]    N意为空密码,S意为密码与用户名相同
            -M [TEXT]      模块执行名称
            -m [TEXT]      传递参数到模块
            -d             显示所有的模块名称
            -n [NUM]       使用非默认端口
            -s             启用SSL
            -r [NUM]       重试间隔时间,默认为3秒
            -t [NUM]       设定线程数量
            -L             并行化,每个用户使用一个线程
            -f             在任何主机上找到第一个账号/密码后,停止破解
            -q             显示模块的使用信息
            -v [NUM]       详细级别(0-6)
            -w [NUM]       错误调试级别(0-10)
            -V             显示版本
            -Z [TEXT]      继续扫描上一次
       
        使用语法:
           
                Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]

                破解MSSQL
                    medusa -h ip -u sa -P /pass.txt -t 5 -f -M mssql

                破解SSH
                    medusa -M ssh -H host.txt -U user.txt -p password

                输出为日志文件,使用-O参数
                    medusa -h ip -u sa -P /pass.txt -t 5 -f -e ns -M mssql -O /ap.txt

说明: hydra与medusakali均自带