暴力破解   暴力破解

暴力破解

暴力破解的原理就不讲了. 讲几个破解工具吧

1.在线破解

  1.1hydra(九头蛇)

 

  支持很多种服务登陆破解

   暴力破解
 
暴力破解

  hydra -l user -P passlist.txt ftp://192.168.0.1

    -l指定用户名 -P指定密码文件

    如果不指定用户名可用-L 指定用户名文件

    最后跟服务地址

 

  破解windows共享

    hydra -l administrator -P pass.lst smb://1.1.1.1/admin$ -vV

  破解linux 远程登陆

    hydra -l root -P pass.lst ssh://1.1.1.1 -s2121 -e nsr -t 10 -vV

    -t 参数指定并发连接数 太快可能会出现问题

    -e n(空密码) s(账号密码相同) r(eg:账号root 则尝试密码toor)

    -s 指定非默认端口

  HTTP表单提交

      

  hydra -l admin -P pass.lst 1.1.1.1  http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:login failed" -V

      username=^USER^&password=^PASS^&Login=Login 为表单需要提交的内容

      uername,password为提交的表单的名称

      login failed表示登陆失败后页面出现的信息可能会出现 登陆失败返回的不是同一个页面 后重定向到login 页面 此时无效

      应该用 S=index.php 表示成功登陆后的信息

   hydra比较不稳定

   另一个工具medusa(美杜莎)相比较比较稳定 但是web表单破解存在缺陷支持的服务也少一点

2.离线破解

  2.1离线密码破解思路:

    嗅探获取密码hash

    利用漏洞登陆服务器并从用户数据库获取密码HASH

    识别hash的类型长度

    利用离线破解工具进行hash碰撞

 

  2.2 HASH识别工具:

      hash‐identifier

      Hashid

      可能会存在识别错误或无法识别

  2.3windows hash获取工具

    利用漏洞:Pwdump、fgdump、mimikatz、wce

    物理接触:samdump2(未实践)

    方法 在目标机器上用U盘启动kali

    1.mount /dev/sda1 /mnt

    2.cd /mnt/Windows/System32/config

    3.samdump2 SYSTEM SAM -o sam.hash

    4.利用nc传输HASH

 

   2.4碰撞工具:

    Hashcat

    RainbowCrack (修改版支持GPU)

    John

 

 

 

3.密码生产工具

3.1 CUPP:按个人信息生成其专属的密码字典

  git clone https://github.com/Mebus/cupp.git

  使用 python cupp.py -i

 

   暴力破解
 
暴力破解

  不是很适合中国人的习惯 python编写 可自己修改

 

 

  3.2 CRUNCH 按规则生产字典

    crunch <min-len> <max-len> [<charset string>] [options]

    charset string 表示字符集 默认为小写字母

 

    crunch 6 6 0123456789 -o start -d 2 -b 1mb / -c 100

      -o 表示输出文件 后跟文件名 (不指定-o 时生成字典直接输出在控制台)

      -d 2 表示同一字符最多连续两次

      -b 1mb 表示生成的文件按1mb分割 (单位可以时 kb mb gb kib mib gib 其中1000kb=1mb  1024kib=1mib)

      -c 表示按行数分割文件

 

    字符集:

    在配置文件中有字符集,避免手打各种很长的字符集

    字符集位置/usr/share/crunch/charset.lst (kali中)

 

    例如 可以 hex-lower 代替手打 0123456789abcdef

    * crunch 6 6 -f /usr/share/crunch/charset.lst hex-lower

      -f 后跟字符集文件

    crunch 1 1 -p 123456789

      -p 指定一串字符 对该字符串改变顺序重组

      -p必须时最后一个参数

      最大最小长度失效 但是必须存在

      与-s参数不兼容(-s指定起始字符串)

 

    * crunch 4 4 0123456789 -s 9900

      输出 9900 - 9999 已9900起始

    * crunch 1 1 -q read

      -q 读取文件每行重组(每行不重复)

      最小长度最大长度失效

    *字典组成规则(常用)

      crunch 6 6 -t @,%%^^

        @ :小写字母

        ,:大写字母

        %:数字

        ^:特殊符号

      *输出文件压缩

      crunch 4 4 -t @,^^ -o 1.txt -z 7z

        压缩格式:7z gzip  bzip lzma

 

  组合应用:

    crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all -space -o w.txt -t @d@@ -s cdab

      因为指定了字符集 @表示字符集中的字符

    crunch 5 5 abc DEF + !@# -t ,@^%,

    abc DEF + !@# 表示字符集 小写字母在abc中取 大写字母在DEF中取 +表示占位符全数字  表示转义 !@#表示三个特殊字符 !@#

  3.3John the Ripper