这几天因为一个项目需要破解linux密码,之前就做过,但是没有记录,这次又忘了,简单记录下
http://www.openwall.com/john/
到这里下载john linux\windows\mac都可以的,但是一定要注意下载社区版的普通版本密文识别度不高
0x01 准备
linux直接编译安装好John
破解
unshadow /etc/passwd /etc/shadow > my_pass
将密码和用户名相对应起来,这是我的理解了
然后直接
john my_pass
当然也可以用你自己的字典
john --wordlist=<filepath> my_pass
其他命令
john 其他命令附录:
命令格式: john [-功能选项] [密码文件名]
功能选项
-single
使用单一模式进行解密。
-wordfile:<字典文件名> -stdin
指定解密字典文件。
-rules
打开字典模式的词汇表切分规则。
-incremental:<模式名称>
使用遍历模式,就是组合密码的所有可能情况。
-external:<模式名称>
使用自定义的扩展解密模式,定义的自订破解功能。
-stdout :<模式名称>
不进行破解,仅仅把生成的、要测试是否为口令的词汇输出到标准输出上。
-restore:<文件名>
恢复JOHN被中断破解过程,当前解密进度情况被存放在RESTORE文件中。
-makechars:<文件名>
制作一个字符表,你所指定的文件如果存在,则将会被覆盖。
-show
显示已经破解出的密码。
-test
测试当前机器运行JOHN的解密速度。
-users:[,..]
只破解某类型的用户或者属于某个组的用户。
-shells:[!][,..]
该选项可以选择对所有可以使用shell的用户进行解密,对其他他用户不予理睬。“!”就是表示不要某些类型的用户。
-groups=[-]GID[,..]
对指定用户组的账户进行破解,减号表示反向操作,说明对列出组之外的账户进行破解。
-list
在解密过程中在屏幕上列出所有正在尝试使用的密码。
format=NAME
指定密文格式名称,为DES/BSDI/MD5/BF/AFS/LM之一。
-save-memory=LEVEL
设置内存节省模式,当内存不多时选用这个选项。LEVEL取值在1~3之间。