史上最牛的密码破解软件John the Ripper中文说明

=========================
甚么是 John the Ripper?
=========================
John the Ripper 是一个 UNIX 密码破解工具程式, 可以使用的作业系统环境有 UNIX
(在 Linux x86, FreeBSD x86, Solaris 2.x SPARC, OSF/1 Alpha 都测试过了), DOS,
WinNT/Win95. 当然, 在你使用 John 之前, 最好已经使用过其它的 UNIX 密码破解工
具, 这样你才可以很容易的了解 John 的运作方式与操作方法!
==================
1.3 版的新增功能
==================
- MD5 编码的密码档案解码支援; (以前的解码都是只针对 DES)
- SPARC V8 组合语言版本;
- 修正了许多前版的 Bugs. (以前的版本有那么多的 Bug 吗??)
======
概观
======
作者把 John 尽量设计成强大, 而且快速的破解工具. 在同一个程式里面包含了几种的
破解方式, 而且你可以完全的依照你的需求来自订 John 破解的方式(我觉得这点很强,
甚至可以用内建的 C Script 来自定不同个案的破解方式, 容後说明). 而且 John 也
可以在不同的系统平台上使用, 让你可以在不同的电脑上破解密码, 在范例中的接续破
解, 可以让你在破解中断之後, 在不同的作业平台上接下去破解.
John 的 crypt() 函式在快速作业的模式之下进行了最佳化, 这可以让 John 在破解的
时候跑得比其它的破解工具快, 这个函式同时套用了组合语言及可转平台式 C 语言两
个语言所写出来的程式码.
John 支援了以下几种的破解方式:
- 有规则及不规则的字典档破解模式;
- "Single Crack", 用最简单的资讯来进行破解的工作, 速度最快.
- 增强破解模式(我们称暴力法), 尝试所有可能的字元组合;
- 外部破解模式, 让你可以定义你的破解模式.
==========
如何安装
==========
John 所提供的是压缩过的程式, 你需要建一个目录, 然後把这些档案都拷贝到那个目
录底下, 然後将你需要的档案解压缩(当然你必需要有解缩的程式).在你使用这个压缩
档以前你可能须要先下达一个 'chmod +x john' 指令.
如果你要 Compile 原始程式的话, 只要进入你解压这些档案的目录, 然後在系统提示
符号下输入 'make', 你就会在萤幕上看到一份系统支援的列表. 选择你所使用的系即
可. 如果你的系统没有在该列表上, 就请你输入 'make generic'. 请你确定你使用的
是 GCC 且 GNU make (也许你得输入包含路径的执行指令, 例如 '/bin/make',如果你
的系统没有设定路径的话).
==========
如何使用
==========
作者已经尽量把 John 的操作方式设计得跟 Cracker Jack 相同, 所以如果你先前曾经
使用过 Crack Jack, 应该很快的就能够使用 John. 总之, 有很多 Cracker Jack 的功
能, 都可以在 John 上面延用, 操作方法也是相同的.
要使用 John the Ripper, 你必需要有一些密码档, 破解好的密码将会显示在萤幕上,
并且会储存在一个叫作 ~/john.pot 的档案中 ('~' 所代表的是 John 的相同目录, 也
就是你放置 John 的目录).这个档案还有另一个功能, 就是让 John 不要重覆跑你已经
破解过的帐号, 如果你使用 John 再跑一次曾经跑过的密码档, 相同的帐号不会再跑过
一次, 如果你想要看你已经破解过的密码, 你可以使用 '-show' 这个功能.
在破解的时候, 你可以按下 Enter 来观看目前破解的状态,或是按下 Ctrl+C 来中断目
前的破解工作, 这样程式会自动将目前破解到的位置, 储存在一个档案之中 (~/restore
为内定的档名), 另外, 如果你是按了两下 Ctrl+C 来中断的话, John 就会直接中断而
不会将目前破解进度储存了. 这个破解进度档每十分钟也会自动的储存, 以必免你的机
器在破解中当机而功亏一溃. (这是个不错的设计, 当然 Jack 里也有这项功能)
命令列的功能选项
------------------
你可以在执行 John 的命令列後加上下面这些选项 (所有的选项都不须区分大小写):
-pwfile:<档名>[,..] 指定密码档档名 (可以使用万用字元)
这个选项用来指定你所要破解的密码档 (通常在命令列上要使用的档案名称, 不能够使
用以 '-'这个字作为开头的档案名称, 因为 '-'已经被用来当作命令列的辨识字元了).
-wordfile:<档名> -stdin 字典档破解模式, 由字典档读取来破解, 或是 stdin
这个选项用来开启 John 为字典档破解模式.
-rules 打开规则式字典档破解模式
开启规则式 (就像使用 Alec Muffett 的方式破解). 至於规则的定义就是使用放在 ~/john.ini
中 [List.Rules:Wordlist] 所定义的规则.
-incremental[:] 增强模式 [使用 john.ini 中定义的模式]
开启增强模式, 使用你在 ~/john.ini 中所定义的模式来破解 (在 [Incremental:] 段落
中你可以自行定义, 就是在这里你所要指定的 名称, [Incremental:All] 为内定).
这一段可以让你指定很多不同的方式, 我们会在後面再说明.
-single Single Crack模式
开启 "Single Crack" 模式, 使用你在 [List.Rules:Single] 中所定义的规则.
-external: 外部破解模式, 使用你在 john.ini 定义的
开启外部破解模式, 将会自动启用你在 ~/john.ini 的 [List.External:] 段中
所定义的自订破解功能.
-restore[:<档名>] 回复上一次的破解工作 [经由 <档名>]
继续上次中断的破解工作, 由特定的档案 (通常是 ~/resotre) 读取上一次破解的时候
中断的位置, 然後接下去破解. 这可用在中断破解之後的接续破解.
-makechars:<档名> 制作字元表, 你所指定的档名若存在会被覆写
产生一个内含字元表的档案, 他会以~/john.pot (找到的密码) 为基础来产生. 这个产
生出来的档案你可以用在增强破解模式上. 除非你指定了其它的密码档, 不然系统将会
自动抓~/john.pot 内容来产生字元表. 你也可以同时使用 filter() 函式来进行过滤.
-show 显示已破解的密码
显示已经破解完成的密码. 你必需同时指令你要显示的密码档是哪一个才行.
-test 执行速度测试
这个功能可以用来测试你所使用的电脑的破解速度, 它会显示一个速度的比较表来告诉
你你的电脑在不同的环境 (要破解的帐号多寡) 所产生的不同效率, 让你可以作好最佳
的调整.
在你不熟悉的密码档破解的时候:xform1() 跟 xform2() 是真实的编码函式, 它呼叫了
每一个key/salt (一对一对的呼叫), 当你每个字呼叫 setkey(), 表示说 xform1() 或
xform2() (要看你是用哪一种破解模式才能决定是哪一个) 在足够的 salts 载入之後,
是唯一会被影响到破解速度的函式,总而言之, setkey() 可以决定你在使用这个程式的
时候的速度, 当你使用的是以 MD5 编码的密码档, md5crypt() 就会取代所有的其它函
式.
-users:[,..] 只破解这一个使用者(或群组)
让你能够过滤只破解某些特定的人, 你也可以用在 '-show' 这个功能. (通常你会只找
root, 但是我建议你能够找 uid =0 的人, 因为 uid=0 也就表示他具有 root 同等的
权限)
-shells:[!][,..] 只针对某些使用你指定的 shell(s) 的使用者破解
这个选项可以用在 破解/显示 使用的是你所指定的 shell 的帐号, 或者是不要显示/
破解这些帐号(也就是说可以用来过滤) 在 Shell 名称前加上 '!' 就表示 Not 了. 你
可以在的 Shell 名称之前指定绝对路径, 或者也可以不指定, 当然'-shells:csh'就会
包含'/bin/csh'跟'/usr/bin/csh' ,如果你指定的是 '-shells:/bin/csh' 将只会包含
'/bin/csh' 这个 Shell 名称.
-salts:[!] 只破解 salts 大於 的帐号
这个功能通常使用在让你得到最高的系统效能来破解密码上. 如同范例, 你可以只破解
某些的 salts 使用'-salts:2'这个选项, 会使你的系统运作快一点, 然後再破解 rest
使用 '-salts:!2' 这个选项 (配合著使用). 总共需要的破解时间大约是相同的, 不过
你得到已破解帐号的速度会快一些, 而且系统不需要休息.
-lamesalts 设定 salts 中密码所使用的 cleartext
当你不知道你在作甚么的时候, 不要使用这个选项.
-timeout:

 

你可能感兴趣的:(史上最牛的密码破解软件John the Ripper中文说明)