渗透利器-kali工具 (第六章-1) 密码破解

本文内容:

  • 在线解密hash密码
  • hashcat简介
  • 扫描模式
  • 常见掩码设置
  • 常用参数
  • 实例破解

1,在线解密hash密码:

  * Domain   : WIN-06FPCJSH5P8

  * LM     : 23b982a597a7a732aad3b435b51404ee

  * NTLM      : 0b6fb439a176cce1fb1d34adfd9571b1

  * SHA1           : bfa75eec175e274ae355f7d0c2ed0620a89e84c5

  windows系统下的hash密码格式为:

    用户名:RID

    LM-HASH值

    NT-HASH值 [存在NT,直接破解 NT]

    LM-HASH值都是hash算法

  在线解密:https://www.objectif-securite.ch/ophcrack

常见的hash离线解密:

1,hashcat简介:

  hashcat号称世界上最快的密码破解,世界上第一个和唯一的基于CPU规则引擎,免费多个CPU[高达128个CPU]。

  多哈希、多操作系统[Linux和Windows本地二进制文件],多平台[OpenGl和CUDA支持],多算法,资源利用地,基于字典攻击,支持分布式破解等等。

  hashcat目前支持各类公开算法高达247类,市面上公开的密码加密算法基本都支持。

  官网:https://hashcat.net/hashcat/

  wiki:https://hashcat.net/wiki/

  下载地址:https://hashcat.net/files/hashcat-5.1.0.7z 

  在渗透测试中我们往往会得到很多hash,需要去解密,而一些在线的网站无法解密出来,所以我们可以使用hashcat在本地进行密码恢复。

  彩虹表:是一款破解hash算法的技术,是一块跨平台密码破解工具,主要可以MD5、HA5H等多种密码:

    https://www.cnblogs.com/bokun-wang/p/3887463.html

    https://www.jianshu.com/p/732d9d960411

  要从hash逆向得到原始明文密码有三种方法:

    1.暴力破解法:时间成本太高

    2.字典法:提前构建一个"明文--->密码"对应关系的一个大型数据库。

    3.构建彩虹表:在字典法的基础上改进,以时间换空间,是现在破解hash常用的办法。

2,扫描模式:-a执行扫描模式:  

  # | Mode
  ===+======
  0 | Straight(字典破解) :基于字典进行破解
  1 | Combination(组合破解) :基于多个字典进行破解
  3 | Brute-force(掩码暴力破解) :基于掩码设置进行破解
  6 | Hybrid Wordlist + Mask(字典+掩码破解)
  7 | Hybrid Mask + Wordlist(掩码+字典破解)

3,常见掩码设置:

  ? | Charset
  ===+=========
  l | abcdefghijklmnopqrstuvwxyz 纯小写字母
  u | ABCDEFGHIJKLMNOPQRSTUVWXYZ 纯大写字母
  d | 0123456789 纯数字
  h | 0123456789abcdef 常见小写字母和数字
  H | 0123456789ABCDEF 常见大写字母和数字
  s | !"#$%&'()*+,-./:;<=>?@[]^_`{|}~ 特殊字符
  a | ?l?u?d?s 键盘上所有可见的字符
  b | 0x00 - 0xff 可能是用来匹配像空格这种密码的

  常见的组合:

    八位数字密码:?d?d?d?d?d?d?d?d

    八位未知密码:?a?a?a?a?a?a?a?a

    前四位为大写字母,后面四位为数字:?u?u?u?u?d?d?d?d

    前四位为数字或者是小写字母,后四位为大写字母或者数字:?h?h?h?h?H?H?H?H

    前三个字符未知,中间为admin,后三位未知:?a?a?aadmin?a?a?a

    6-8位字母密码:--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l

    6-8位数字+小写字母密码:--increment --increment-min 6 --increment-max 8 ?h?h?h?h?h?h?h?h

4,常用参数:

  使用命令:hashcat64.exe -h 查看帮助文档

  -a 指定要用的扫描模式,其值参考后面对应的参数,"-a 0" 字典攻击,"-a 1" 组合攻击,"-a 3" 掩码攻击。

  -m 指定掩码,如果不指定类型,则默认是MD5, [Hash modes ]是类型 ,从来处可以判断hash类型。

  -o 指定破解成功后的hash及所对应的明文密码的存放位置,可以用它把破解成功的hash写到指定文件中。

  --force 忽略破解过程中的警告信息,跑单条hash可能需要加上此选项。

  --show 显示已经破解的hash及hash所对应的明文。

  --increment 启用增量破解模式,可以利用此模式让hashcat在指定的密码长度范围内执行破解过程。

  --increment-max 密码最大长度,后面直接等于一个整数即可,配置increment模式一起使用。

  --increment-min 密码最小长度,后面直接等于一个整数即可,配置increment模式一起使用。

  --outfile-format 指定破解结果的输出格式 id,默认是3。

5,实例破解:

  1.数字破解:[8位:12345678]

    hashcat64.exe -m 0 -a 3 25d55ad283aa400af464c76d713c07ad ?d?d?d?d?d?d?d?d

  2.小写字母破解:[6位:abcdef]

    hashcat64.exe -m 0 -a 3 e80b5017098950fc58aad83c8c14978e ?l?l?l?l?l?l

  3.小写字母+数字:[6-8位:1a31fa1c]

    hashcat64.exe -m 0 -a 3 --force b54e53e2f21b7260df895bc885ceaa3e --increment --increment-min 1 --increment-max 8 ?h?h?h?h?h?h?h?h

  4.字典破解:

    -a 0 是指定字典破解模式,-o 是输出结果到文件中

    举例:

      hashcat64.exe -m 0 -a 0 ./dict/hash.txt ./dict/password.txt -o result.txt

  5.破解Windows hash

    1.使用mimikatz获取windows hash:

      windows使用命令需要管理员权限:

      mimikatz.exe log

      mimikatz # privilege::debug

      mimikatz # sekurlsa::logonpasswords

      mimikatz # exit

      meterpreter >mimikatz_command -f version //查看版本信息

      meterpreter > mimikatz_command -f samdump::hashes//读取本地hash

    windows系统下的hash密码格式为:

      用户名:RID

      LM-HASH值

      NT-HASH值 [存在NT,直接破解 NT]

      LM-HASH值都是hash算法

    破解NT-Hash:

      hashcat64.exe -a 3 -m 1000 b4814903533072474831d4791b7d4a9c ?l?l?l?d?d?d?s

  6.zip压缩包破解:

    使用zip2john获取密码哈希值

    设置hash类型:win-zip  扫描模式:掩码模式

    hashcat64.exe -m 13600 -a 3 $zip2$*0*3*0*b71633a9a7fc15682a0dad00d17f1a43*2cee*1d*4c55a370878091d08bd637730ae11c1abdcdbcdbe099d14c166826216d*770b0e7ff9bbc5e4149c*$/zip2$ ?d?d?d?d?d?d --show

原文地址:https://www.cnblogs.com/xz25/p/12919609.html