John The Ripper:密码爆破工具,以及Cloud Crack Service

image

最近SVN升级管理工具,希望给用户一个更好的体验,就是把用户的密码破解之后自动导入到新系统中(注:管理员知道所有人的密码,只是数量大,不想一个一个找和对应),而不是让用户重置密码,于是在CLF的建议下尝试了John(http://www.openwall.com/john/),调研了一下,发现这个工具是目前开源领域除了GPU破解工具cudaHashCat(http://hashcat.net/oclhashcat/)之外最好的工具了,在给定词表的情况下瞬间就可以将用户名和密码对应上,对于不知道的密码则会进入爆破流程 — 后者并非我需要的功能,但是确实是可以工作的。

网上多数教程都是传授简单的使用,但是John的强大之处在于配置文件,大体研究了一下,发现John很强大 – 用户平常想到的一些密码生成方式John都已经变成规则了。John大体有4种破解模式:1、简单规则式破解;2、词表模式3、扩展模式4、外部模式。

Jumbo版本默认的配置文件自带了大约200条简单规则,千余条常见密码(据说有几十MB常见密码文件可以下载)和大约几百条扩展模式规则和自定义代码。摘录一些规则,自己看看是否中枪了:

一、简单模式(和用户名相关,约200条规则,摘录一些)

1、密码=用户名

2、密码=用户名大写或者小写

3、密码=用户名中部分字母大写,部分小写

4、密码=用户名的简单复制,”Fred” -> “FredFred”

5、密码=用户名反转,”Fred” -> “derF”,同时大小写可以变化

6、密码=用户名反射,”Fred” -> “FredderF”

7、密码=用户名字母左右转动,"jsmith" -> "smithj"
8、密码=用户名单复数、时态(ed和ing)变化
9、密码=用户名加上数字、字母、符号前缀
10、密码=用户名加上响应后缀
11、密码=用户名中去掉元音字母
12、密码=用户名中将y变成ie,或者反过来,e.g. mary –> marie
13、密码=用户名中删除部分字符和数字,包括年份
14、密码=用户命中加入“.”
……
经验就是密码要和用户名一点儿关系也没有,否则死无葬身之地

二、词表模式(和词表相关,约70条规则,摘录一些)

1、所有单词大写和小写

2、部分字母小写

3、基本上类似简单模式的各种各样变换…

……

经验是别使用大众化的密码,想想一个几十MB的文件能有多少常见密码,而且还在被每年更新

三、扩展模式(太复杂,非英文字符也会被处理,没有仔细研究)

到底什么才是安全的,我理解需要给出足够复杂的密码,让John计算不出来

但是John是可以被分布化的,由于无需MR,以往很多人做过MPI和OpenMP的实现,下表是已经有人做过的事情,这个事情其实并不难做,John的计算是可以按照不同的规则分开的,当然计算需要共享内存以便避免重复计算,这对代码或许有些改动

image

但是可能由于道德或者其他因素,并没有人将John作为一种服务放到AWS上,相反,反而看到有人曾经搞过一个Cloud Crack Service,用于破解WIFI密码,计划使用AWS的GPU虚拟机;还有人用AWS的虚拟机部署Hashcat来破解密码,也是利用GPU

是不是看到了一线商机?

相关信息:

  1. http://www.openwall.com/john/
  2. http://hashcat.net/oclhashcat/
  3. http://openwall.info/wiki/john/parallelization
  4. http://openwall.info/wiki/john/tutorials
  5. 史上最牛的密码破解软件John the Ripper中文说明(一般)
  6. 另外一个中文说明(不全)
  7. http://www.openwall.com/john/doc/RULES.shtml
  8. GECOS和GCOS
  9. http://www.zdnet.com/researcher-uses-aws-cloud-to-crack-wi-fi-passwords-3040091430/
  10. http://du.nham.ca/blog/posts/2013/03/08/password-cracking-on-amazon-ec2/

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注