网络安全课上,学习了利用kali Linux自带的hydra爆破web登录,内容比较简单,想记录一下,希望大佬别喷

目前,大多数网站登录都采用了token验证,验证码,所以,都不能使用Hydra来破解。

hydra简介:

hydra对应的英文意思是九头蛇,一款爆破神器,可以对多种服务的账号和密码进行爆破,包括Web登录、数据库、SSH、FTP等服务,Hydra是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限。支持Linux、Windows、Mac平台安装

目前该工具支持以下协议的爆破:
AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-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 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP.

对于 HTTP,POP3,IMAP和SMTP,支持几种登录机制,如普通和MD5等。

正文:

今天的作业是利用kali自带的字典破解dvwa,所以今天就以破解http协议为例

靶机(DVWA):192.168.72.137
攻击机:KALI

首先打开靶机地址http://192.168.72.137/dvwa/login.php -> 按F12点击网络,然后随便输入一个账号密码登录,会得到图中信息

可以看到请求方式是post,登录失败返回Login failed,然后继续拉到下面的表单数据 查看源,把它复制下来username=qingyunyixi&password=123456&Login=Login

为了节省时间,自己创建一个字典(随便填几个进去),里面包含正解的用户名和密码,字典在root目录下,最后得到的命令是:

hydra -L login.txt -P passlist.txt -vV -t 7 -e ns -f 192.168.72.137 http-form-post "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:F=Login failed"

F=表示失败时的表现 黑名单(fail)

S=表示成功时的表现  白名单(suseus)

参数说明:-L用户名字典login.txt,-P密码字典passlist.txt,-vV 显示破解过程 ,-t同时线程数7,-f 当破解了一个密码就停止,192.168.72.137目标ip,http-post-form(或http-form-post)表示破解是采用http的post方式提交的表单密码破解, /dvwa/login.php 登录路径,用:分隔参数,username=^USER^&password=^PASS^&Login=Login 表单数据,^ USER^和^ PASS^代表是攻击载荷,F=Login failed中的内容是表示错误猜解的返回信息提示。

接下来就是打开kali终端执行命令,最后得到下面结果,账号密码都是admin

课后我拿自己的站点测试了一下

靶机:wy.aerr.cn
攻击机:kali

最后得到的命令是:

hydra -L login.txt -P passlist.txt -vV -t 7 -e ns -f wy.aerr.cn http-form-post "/plugin/vip.php:login=1&username=^USER^&password=^PASS^:F=失败"

在kali终端执行后得到账号是123456密码abc123456,尝试一下登录发现登录成功了

hydra的缺点:

1.稳定性差,程序时常崩溃。
2.速度控制不好,容易触发服务器屏蔽或锁死机制。
3.每主机新建进程,没服务新建实例。
4.大量目标破解时性能差。

新版的DVWA采用了token的验证方式,每次登录的token都是不一样的,所以不能用hydra来破解。

届ける言葉を今は育ててる
最后更新于 2022-03-10