ENCRYPT_METHOD SHA512 定义帐号密码的加密方式

1、第一步拿到散列,也就是加密后的密码hash值

2、可以去一些彩虹表(rainbow)网站查询这些hash对应的密码明文,稍微花些钱,可以轻易查到

3、假如这些钱,也想省的话,试试暴力破解了:

本地破解密码,John是值得一试的好工具之一。John跻身于Kali Linux的十大安全工具。

本文将向各位介绍如何使用unshadow命令连同John,在Kali系统上破解用户的密码。在Linux上,用户名/密钥方面的详细信息存储在下面这两个文件中。

  /etc/passwd
  /etc/shadow

  实际的密码散列则存储在/etc/shadow中;只要对该机器拥有根访问权,就可以访问该文件。所以,试着从你自己的Linux系统来访问该文件。

  

  unshadow

  unshadow命令基本上会结合/etc/passwd的数据和/etc/shadow的数据,创建1个含有用户名和密码详细信息的文件。用法相当简单。

  root@kali:~# unshadow
  Usage: unshadow PASSWORD-FILE SHADOW-FILE
root@kali:~# unshadow /etc/passwd /etc/shadow > ~/file_to_crack
 
 将unshadow命令的输出结果重定向至名为file_to_crack的新文件  

  现在这个新文件将由John来破解。就单词表而言,我们将使用Kali Linux上的John随带的密码列表。它位于下面这个路径:

 /usr/share/john/password.lst

  你也可以使用自己的密码列表。破解是否成功,取决于这个密码词典是否强大,也就是是否包含了密码的明文

root@kali:~# john --wordlist=/usr/share/john/password.lst ~/file_to_crack 
Warning: detected hash type "sha512crypt", but the string is also recognized as "crypt"
Use the "--format=crypt" option to force loading these as that type instead
Loaded 2 password hashes with 2 different salts (sha512crypt [64/64])
chess            (happy)
guesses: 1  time: 0:00:00:21 DONE (Tue May 14 06:47:58 2013)  c/s: 300  trying: sss
Use the "--show" option to display all of the cracked passwords reliably

  使用show选项,列出所有被破解的密码。

  root@kali:~# john --show ~/file_to_crack
  happy:chess:1000:1001:,,,:/home/happy:/bin/bash

  1 password hash cracked, 1 left

  不用单词表

  要是不使用密码列表就想借助John破解密码,最简单的办法就是这样:

 root@kali:~# john ~/file_to_crack

  按照说明文档

  这会先尝试“简单破解”(single crack)模式,然后使用带规则的单词表,最后是尝试“增强破解”(incremental)模式。

  参阅模式方面的说明文档:http://www.openwall.com/john/doc/MODES.shtml。

参考:1、http://blog.csdn.net/qc20042/article/details/5638645

     2、http://www.cnblogs.com/bourneli/articles/2585224.html

     3、http://netsecurity.51cto.com/art/201406/442674.htm

     4、http://www.openwall.com/john/doc/EXAMPLES.shtml

   5、http://www.binarytides.com/cracking-linux-password-with-john-the-ripper-tutorial/

最新文章

  1. redis的主从复制配置
  2. 阻止事件冒泡两种方式:event.stopPropagation();和return false;
  3. lumen 错误&日志
  4. POJ 1065 Wooden Sticks Greed,DP
  5. ab做压力测试
  6. Mongodb使用总结
  7. 李洪强漫谈iOS开发[C语言-022]-算术运算符
  8. 菜单栏始终浮动在顶部 js
  9. DNS解析
  10. 如何在网站中加入markdown
  11. Java包装类缓存
  12. AngularJS学习笔记之directive——scope选项与绑定策略
  13. java gui 2
  14. drawnet.py绘制网络结构
  15. struts2 核心过滤器的配置
  16. maven + bat 实现快速编译打包模块代码
  17. Spring源码分析之IoC容器初始化
  18. Swift5 语言指南(二十四) 泛型
  19. 垂直居中Demo
  20. .NET:如何并行的从集合中返还元素?

热门文章

  1. Leetcode 之Balanced Binary Tree(49)
  2. Java之CyclicBarrier使用
  3. transition结合:after,:before实现动画
  4. AC日记——采花 洛谷 P2056
  5. LOJ #6285. 数列分块入门 9-分块(查询区间的最小众数)
  6. web资料收集
  7. Android使用UncaughtExceptionHandler捕获全局异常
  8. Spring学习的切入点
  9. Bzoj1101 Zap(莫比乌斯反演)
  10. Abp数据库迁移注意事项