zoukankan      html  css  js  c++  java
  • 【经验分享】Hydra(爆破神器)使用方法

    这个也是backtrack下面很受欢迎的一个工具

    参数详解:
    -R 根据上一次进度继续破解
    -S 使用SSL协议连接
    -s 指定端口
    -l 指定用户名
    -L 指定用户名字典(文件)
    -p 指定密码破解
    -P 指定密码字典(文件)
    -e 空密码探测和指定用户密码探测(ns)
    -C 用户名可以用:分割(username:password)可以代替-l username -p password
    -o 输出文件
    -t 指定多线程数量,默认为16个线程
    -vV 显示详细过程
    server 目标IP
    service 指定服务名(telnet ftp pop3 mssql mysql ssh ssh2......)

    使用案例:

    使用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:
    # 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 属性,后面<title>中的内容是表示错误猜解的返回信息提示,可以自定义。

     
     
     

    三、Syntax

    # 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[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
    可选项

    四、实例

    1、手动创建用户名字典和密码字典,这里只是为了演示,只加了几个用户名和弱口令。真正破解时,需要利用密码字典生成器生成强大的字典。

    2、破解ssh:

    # hydra -L users.txt -P password.txt -t 1 -vV -e ns 192.168.1.104 ssh

    破解成功,直接显示结果。

    也可以使用 -o 选项指定结果输出文件。

    # hydra -L users.txt -P password.txt -t 1 -vV -e ns -o save.log 192.168.1.104 ssh

    五、其他类型密码破解

    • 破解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 属性,后面<title>中的内容是表示错误猜解的返回信息提示,可以自定义。

    • 破解https:
    # hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https
    • 破解teamspeak:
    # hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
    • 破解cisco:
    # hydra -P pass.txt 10.36.16.18 cisco
    # hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
    • 破解smb:
    # hydra -l administrator -P pass.txt 10.36.16.18 smb
    • 破解pop3:
    # hydra -l muts -P pass.txt my.pop3.mail pop3
    • 破解rdp:
    # hydra ip rdp -l administrator -P pass.txt -V
    • 破解http-proxy:
    # hydra -l admin -P pass.txt http-proxy://10.36.16.18
    • 破解imap:
    # hydra -L user.txt -p secret 10.36.16.18 imap PLAIN
    # hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN
    • 破解telnet
    # hydra ip telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V

    六、总结

    此工具强大之处远多于以上测试,其密码能否破解关键在于强大的字典,对于社工型渗透来说,有时能够得到事半功倍的效果。

  • 相关阅读:
    java实现倒计时
    javaweb启动时启动socket服务端
    二进制数与十六进制数之间如何互相转换
    分组查询最新时间的数据
    javaweb利用钉钉机器人向钉钉群推送消息(解决中文乱码)
    java利用钉钉机器人向钉钉群推送消息
    Java原生操作数据库(不使用框架)
    Mybatis 插入与批量插入以及多参数批量删除
    在spring中直接在类中注入dao
    web自动化测试实战之批量执行测试用例
  • 原文地址:https://www.cnblogs.com/ECJTUACM-873284962/p/7805116.html
Copyright © 2011-2022 走看看