John the Ripper使用说明
2006-09-19 09:01
489 查看
=========================
John the Ripper 简介
=========================
John the Ripper 是 什 么 东西? 如 果 直 译 其 名 字 的 话 就 是: JOHN 的撕 裂 者(工 具)。 翻 译 的 很 难 听 吧。 实 际上 它 是 一 个 工 具 软 件, 用 于 在 已 知 密文 的 情 况 下 尝 试 破 解 出 明 文 的 破 解 密码 软 件。目 前 的 最 新 版 本 是 JOHN 1.4 版, 主要 支 持 对 DES、 MD5 两 种 加 密 方式 的 密 文 进行 破 解 工 作。 它 可 以 工 作 于 多 中不 同 的机 型 以 及 多 种 不 同 的 操作 系 统 之 下, 目前 已 经 测 试 过能 够 正 常 运 行 的 操 作 系统 有: Linux x86, FreeBSD x86, Solaris 2.x SPARC, OSF/1 Alpha, DOS, WinNT/Win95。 在 1998 年 年 初,JOHN1.4 已 经针 对 INTEL 的 MMX 处 理 器 进 行 了 针 对 性 的优化, 速 度 可 快 30% 左 右。 如 果 你 想 了 解最新 的 动 态, 请 访 问: http://www.false.com/security/john, 这 里 是 JOHN 的 窝 点。
------------------------------
使 用 预 览
------------------------------
以 下 快 速 入 门 针 对 PC 用 户。
假 设 你 已 经 取 得 了 某 个 SHADOW 文 件, 并 且被 存 为 SHADOW.TXT 文 件。 在 你 的 硬 盘 中 建 一个 新 的 目 录, 如 HACK 进 入 这 个 目 录, 将 JOHN1.4 在 此 目 录 中 解 开, 将 SHADOW.TXT 同 样 拷入 此 目 录, 这 样 我 们 就 完 成 了 解 密 的准 备 工 作。
现 在 开 始 进 行 解 密 步 骤:
先 消 灭 FOOL USER, 就 是 “笨 蛋 用 户”:
john -single shadow.txt
再 消 灭 稍 微 聪 明 一 点 的 用 户:
john -wordfile:password.lst -rules shadow.txt
最 后 进 行 大 屠 杀:
john -i:all shadow.txt
当 然 了, 第 三 步 可 能 要 你 的 电 脑 跑 上 10000 年。
解 释:
第 一 步 主 要 针 对 笨 蛋 而 进 行 的, 原 理 是 根 据 用 户 的 名 称, 加 上 常 见 的 变 化 而 猜 测 密 码。 一 般 所 谓 的 笨 蛋 是 这 样 的, 比 如 此 用 户 叫 fool, 而 他 的 密 码 是 fool123、 fool1、 loof、 loof123、 lofo...。 这 样 的 用 户 一 般 在 一 分 钟 内 会 被 全 部 消 灭。
第 二 部 是 使 用 字 典 文 件 来 进 行 解 密, 不 为 什 么, 只 是 因 为 设 置 密 码 的是 人 而 不 是 机 器, 如 人 们 常 用 hello、 superman、 cooler、 asdfgh、 123456 等 作 为 自 己 的 密 码。 而 -rules 参 数 则 在 此 基 础 上 再 加 上 些 变 化, 如 字 典 中 有 单 词 cool, 则 JOHN 还 会 尝 试 使 用 cooler、 CoOl、 Cool 等 单 词 变 化 进 行 解 密。 一 般 视 SHADOW 中 的 用 户 多 少 及 你 的 字 典 大 小、 你 的 机 器 速 度, 解 密 时 间 从 几 小 时 到 几 天 不 等。
第 三 步 是 纯 粹 的 碰 运 气 解 法, 主 要 原 理 是 遍 历 所 有 可 能 的 密 匙 空 间。 JOHN 会 尝 试 以 95 个 字 母 (因 为 从 键 盘 上 只 能 输 入 95 种 可 能 的 键 值) 进 行 1-8 (8 个 字 母 是 密 码 的 最 长 值, 所 有 密 码 中 8 位 以 后 的 部 分 均 不 会 被 使 用, 目 前 的 DES 加 密 体 系 就 是 这 样 的) 个 长 度 的 所 有 组 合, 这 是 很 漫 长 的 过 程, 我 们 计 算 一 下: 以 仅 攻 击 一 个 用 户 为 例, MMX200 微 机 一 台 (攻 击 速 度 18000 次/秒), 假 设 遍 历 50% 的 密 码 空 间, 需 要 的 时 间 为:
(95^8+95^7+95^6+95^7+95^6+.....+95^1)/2/18000
=6.7047809E15/18000
=3.7248783E11秒
=10346884.19小时
=4311201.745天
=11811.5年
还 好 在 JOHN 可 以 进 行 自 动 预设 取 值。 所 以 这 样 破 解 密 码 还 是 可 能的, 一 般 的 经 验 是 20 个 小 时 可 能 破 解 一个, 可 能 什 么 都 没 有。
本 文 后 面 介 绍 的 经 验 可 以 帮 助 你 尽快 地 进 行 破 解。
--------------------------
详 细 功 能 说 明
--------------------------
John the Ripper 1.4 是 目 前比 较 好 的 破 解 密 码 工 具, 在 解 密 过 程中 会 自 动 定 时 存 盘, 你 也 可 以 强 迫 中 断解 密 过 程 (用 ctrl+c), 下 次 还 可 以 从 中 断的 地 方 继 续 进 行 下 去 (john -restore), 任 何时 候 敲 击 键 盘, 你 就 可 以 看 到 整 个 解密 的 进 行 情 况, 所 有 已 经 被 破 解 的 密码 会 被 保 存 在 当 前 目 录 下 的 JOHN.POT 文 件中, SHADOW 中 所 有 密 文 相 同 的 用 户 会 被 归成 一 类, 这 样 JOHN 就 不 会 进 行 无 谓 的 重复 劳 动 了。 在 程 序 的 设 计 中, 关 键 的 密码 生 成 的 条 件 被 放 在 JOHN.INI 文 件 中, 你可 以 自 行 修 改 设 置, 不 仅 支 持 单 词 类型 的 变 化, 而 且 支 持 自 己 编 写 C 的 小 程序 限 制 密 码 的 取 值 方 式。 唯 一 的 遗 憾是: 在 自 动 产 生 密 码 的 遍 历 解 密 方 法中 不 支 持 -rules 选 项。 不 过 还 好 有 方 法 可以 克 服。
命令行的参数功能解释
-----------------------
命令行方式: john [-功能选项] [密码文件名]
功 能 选 项 (所 有 的 选 项 均 对 大 小 写 不敏 感, 而 且 也 不 需 要 全 部 输 入, 只 要 在保 证 不 与 其 他 参 数 冲 突 的 前 提 下 输 入即 可, 如 -restore 参 数 只 要 输 入 -res 即 可):
-pwfile:[,..] 用 于 指 定 存 放 密 文 所 在 的 文 件 名,(可 以 输 入 多 个, 文 件 名 一 我 “,” 分 隔, 也 可 以 使 用 * 或 者 ? 这 两 个 通 配 符 引 用 一 批 文 件)。 也 可 以 不 使 用 此 参 数, 将 文 件 名 放 在 命 令 行 的 最 后 即 可。
-wordfile:<字典文件名> -stdin 指 定 的 用 于 解 密 用 的 字 典 文 件 名。 你 也 可 以 使 用 STDIO 来 输 入, 就 是 在 键 盘 中 输 入。
-rules 在 解 密 过 程 中 使 用 单 词 规 则 变 化 功 能。 如 将 尝 试 cool 单 词 的 其 他 可 能, 如 COOLER、 Cool 等, 详 细 规 则 可 以 在 JOHN.INI 文 件 中 的 [List.Rules:Wordlist] 部 分 查 到, 我 们 在 下 面 详 细 解 释。
-incremental[:<模式名称>] 使 用 遍 历 模 式, 就 是 组 合 密 码 的 所 有 可 能 情 况, 同 样 可 以 在 JOHN.INI 文 件 中 的 [Incremental:*****] 部 分 查 到, 我 们 在 下 面 详 细 解 释。
-single 使 用 单 一 模 式 进 行 解 密, 主 要 是 根 据 用 户 名 产 生变 化 来 猜 测 解 密, 可 以 消 灭 笨 蛋 用 户。 其 组 合 规 则 可 以 在 JOHN.INI 文 件 中 的 [List.Rules:Single] 部 分 查 到, 我 们 在 下 面 详 细 解 释。
-external:<模式名称> 使 用 自 定 义 的 扩 展 解 密 模 式, 你 可 以 在 john.ini 中 定 义 自 己 需 要 的 密 码 组 合 方 式。 JOHN 也 在 INI 文 件 中 给 出 了几 个 示 例, 在 INI 文 件 的 [List.External:******] 中 所 定 义 的 自 订 破 解 功 能。
-restore[:&l
4000
t;文件名>] 继 续 上 次 的 破 解 工 作, JOHN 被 中 断 后, 当 前 的 解 密 进 度 情 况 被 存 放 在 RESTORE 文 件 中, 你 可 以 拷 贝 这 个 文 件 到 一 个 新 的 文 件 中。 如 果 参 数 后 不 带 文 件 名, J O H N 默 认 使 用 RESTORE 文 件。
-makechars:<文件名> 制 作 一 个 字 符 表, 你 所 指 定 的 文 件 如 果 存 在, 则 将 会 被 覆 盖。 JOHN 尝 试 使 用 内 在 规 则 在 相 应 密 匙 空 间 中 生 成 一 个 最 有 可 能 击 中 的 密 码 组 合, 它 会 参 考 在 JOHN.POT 文 件 中 已 经 存 在 的 密 匙。
-show 显 示 已 经 破 解 出 的 密 码, 因 为 JOHN.POT 文 件 中 并 不 包 含 用 户 名, 同 时 你 应 该 输 入 相 应 的 包 含 密 码 的 文 件 名, JOHN 会 输 出 已 经 被 解 密 的 用 户 连 同 密 码 的 详 细 表 格。
-test 测 试 当 前 机 器 运 行 JOHN 的 解 密 速 度, 需 要 1 分 钟, 它 会 得 出 在 当 前 的 情 况 下 解 密 的 各 种 可 能 情 况 下 相 应 的 解 密 速 度, 如 同 时 解 密 100 个 用 户 时 的 平 均 速 度, 使 用 遍 历 法 解 密 模 式 时 解 密 的 速 度。 salts 指 用 户 个 数, 如 果 给 出 的 对 于 100 个 用 户 解 密 的 平 均 速 度 为 18000 次/秒, 那 么 表 明 同 时 对 100 个 用 户 解 密, 解 密的 速 度 为 每 个 180 次/秒。 因 为 绝 大 多 数 的 时 间 被 用 于 密 匙 比 较 过 程 中 了。 所 以 应 该 对 用 户 进 行 挑 选。
-users:[,..] 只 破 解 某 类 型 的 用 户 或 者 属 于 某 个 组 的 用 户。 如 果 得 到 的 PASSWD 文 件 没 有 包 含 密 文, 那 么 在 得 到 SHADOW 后 应 该 进 行 组 合, JOHN 的 附 带 程 序 UNSHADOW.EXE 可 以 完 成 这 一 过 程, 当 然 了, 你 也 可 以 手 工 做。 一 般 的 能 够 进 入 CSH 的 用 户 都 是 解 密 的 首 选 对 象。 也 可 以 要 UID=0 的 ROOT 级 别 的 用 户。
-shells:[!][,..] 和 上 面 的 参 数 一 样, 这 一 选 项 可 以 选 择 对 所 有 可 以 使 用 shell 的 用 户 进 行 解 密, 对 其 他 用 户 不 予 理 睬。 “!” 就 是 表 示 不 要 某 些 类 型 的 用 户。 例 如: “ -shells:csh”。
-salts:[!] 只 选 择 解 密 用 户 大 于 的 帐 号, 可 以 使 你 得 到 选 择 的 权 利, 尽 快 的 得 到 所 需 要 的 用 户 的 PASS。
-lamesalts 指 定 用 户 中 密 码 所 使 用 的 cleartext。 (我 不 大 清 楚 此 功 能 的 作 用)。
-timeout:<几分钟> 指 定 解 密 持 续 的 时 间 是 几 分 钟, 到 时 间 JOHN 自 动 停 止 运 行。
-list 在 解 密 过 程 中 在 屏 幕 上 列 出 所 有 正 在 尝 试 使 用 的 密 码, 建 议 不 要 使 用, 它 会 将 大 部 分 时 间 浪 费 在 显 示 上, 极 大 地 拖 慢 解 密 速 度。 一 般 只 是 适 用 于 重 定 向 输 出 到 文 件 后, 检 验 你 所 设 定 的 某 些 模 式 是 否 正 常。
-beep -quiet 当 解 密 出 密 码 时 是 否 要 让 PC 喇 叭 叫 一 下, 以 提 醒 你。
-noname -nohash 不 使 用 内 存 来 保 存 “用 户 名” 等 内 容。
-des -md5 指 定 使 用 的 解 密 方 式 是 解 DES 还 是 MD5, 对 于 解 密 DES 密 码 不 用 理 会 这 一 选 项。
---------------------------
john 解 密 模 式 详 解
---------------------------
一、“Single Crack” 模式 --- 即“简单解密模式”
这 一 模 式 是 “john” 的 独 到 的 地 方, 主要 原 理 是 根 据 用 户 名 猜 测 其 可 能 的 密码, 当 然 了, 解 密 者 是 计 算 机 而 不 是人, 所 以 需 要 人 为 定 义 相 应 的 模 式 内容。 其 模 式 的 定 义 在 john.ini 中 的 [List.Rules:Single] 部 分, 我 们 选 取 前 几 行 给大 家 做 一 个 解 释, 假 设 有 一 用 户 名 为 fool:
[List.Rules:Single]
###
# Single crack mode rules, extended Crack syntax
###
# Simple rules come first...
:[:cl]-----------------------------------注释1
# These were not included in crackers I've seen, but are pretty efficient
# so I include them near the beginning
>6x06------------------------------------注释2
>7lx07-----------------------------------注释3
>6/?ulx06--------------------------------注释4
>5x05------------------------------------注释5
在 john.ini 中 起 头 为 # 的 行 为 注 释 行, 程序 在 遇 到 此 行 时 自 动 跳 过。
“:[:cl]” 此 行 表 示 使 用 用 户 名 自 身 作 为 密 码 进 行 尝 试, 即 fool, 而 “[:cl]” 在 保 持 原 字 母 不 变 的 前 提 下, 首 先 强 制 第 一 个字 母 大 写 “c”, 其 余 字 母 均 变 为 小 写 “l”, 即: Fool, 也 就 是 说 此 行 导 致 john 尝 试 使 用 fool 和 Fool 两 个 单 词 进 行 解 密。
“>6x06” 表 示 当 用 户 名 大 于 6 个 字 符 的 时 候, 从 第 0 个 算 起, 截 断 至 第 5 个, 则 共 保 留 下 6 个 字 母, 其 余 丢 弃 不 用。 如: 用 户 名 为 foolers, 则 会 产 生 如 下 被 尝 试 的 密 码: 即 fooler。
“>7lx07” 和 上 面 相 同, 此 行 对 于 >7 的 用 户 名, 截 断 至 7 个 字 母, 而 且 使 用 “l” 强 制 使 用 小 写 字 母。
“>6/?ulx06” 表 示 对 于 长 度 >6 的 用 户 名, 截 断 至 6 个, 强 制 小 写, “/?u” 则 表 示 只 有 在 用 户 名 中包 含 小 写 字 母 “u” 才 有 效, 否 则 跳 过 整 条 规 则,不 进 行 尝 试。 例 如 对 于 “foolers” 此 规 则 不 起 作 用, 因 为 “foolers” 中 不 包 含 小 写 字 母 “u”。
“>5x05” 和 上 几 个 例 子 相 同, 不 用 解 释 了。
其 余 部 分 自 己 参 考 john.ini, 具 体 参 数解 释 如 下:
john.ini中的每一行均由“条件指令”+“规则指令”组成。
位 于 起 始 部 分 的 “条 件 指 令”:
: 表示保持字母不变。
>n 表 示 满 足 条 件 的 是 字 符 长 度 >n 的 单 词, n 的 取 值 范 围 为 0-9。
^x 表 示 在 某 单 词 前 部 添 加 字 母 “x”。
$y 表 示 在 某 单 词 尾 部 加 上 一 个 字 母“y”。
l 强 制 整 个 单 词 全 为 小 写 字。
u 强 制 整 个 单 词 全 为 大 写 字。
c 强 制 单 词 第 一 个 字 为 大 写 (单 词 的 其 余 部 分 不 受 到 影 响)
r 将 单 词 反 序 排 列: 如 “fool” -> “loof”。
d 进 行 单 词 加 倍: 如 “fool” -> “foolfool”。
f 进 行 单 词 加 倍,后 部 单 词 反 向 写: 如 “fool” -> “foolloof”。
p 以 一 个 字 母 为 限 度, 在 保 持 单 词 不 变 的 前 提 下, 尝 试 单 词 的 所 有 组 成 字 母 的 大 小 写 组 合, 如 (“fool” -> “Fool”、 “fOol”、 “foOl”、 “fooL)”。
onx 从 某 单 词 的 第 n (由 0 开 始 计 数) 个 字 母 开 始, 将 原 来 的 字 母 取 代 为 字 母 “x”。 例 如: “o1A” 则 对 于 “fool” 则 产 生 “fAol”。
inx 从 某 单 词 的 第 n (由 0 开 始 计 数) 个 字 母 开 始, 在 字 母 前 插 入 以 字 母 “x”。 例 如: “i1A” 则 对 于 “fool” 则 产 生 “fAool”。备 注:如 果 指 定 的 值 n> 单 词 总 长 度, 则 相 应 的 插 入 字 符 将 会 添 加 到 单 词的 尾 部。
xnm 从 单 词 的 第 n 位 开 始, 将 单 词 截 成 最 长 度 为 m 个 的 单 词。 具 体 的 例 子 就 不 列 举 了, 上 面 已 经 谈 过 了。
以 下 是 一 些 用 于 字 母 变 化 的 命 令:
sxy 字 母 替 换, 将 某 单 词 中 的 所 有 为 “x” 的 字 母 替 换 成 字 母 “y”。
s?cy 用 字 母 “y” 来 替 换 单 词 中 的 所 有 包 含 于 “c 字 母 组” 中 的 字 母。 关 于“字 母 组” 下 面 讨 论。
@x 删 除 单 词 中 所 有 “x” 字 母。
@?c 删 除 单 词 中 所 有 包 含 于 “c 字 母 组” 中 的 字 母。
!y 跳 过 所 有 包 含 含 有 字 母 “y” 的 单 词。
!?c 跳 过 所 有 包 含 含 有 “c 字 母 组” 中 字 母 的 单 词。
/x 包 含 字 母 “x” 的 单 词 有 效。
/?c 包 含 在 “c 字 母 组” 中 字 母 的 单 词 为 有 效。
=nx 所 有 指 定 位 置 n 的 字 母 为 “x” 的 单 词 才 有 效。
=n?c 所 有 指 定 位 置 n 的 字 母 包 含 于 “c 字 母 组” 的 单 词 才 有 效。备 注: 和 上 面 一 样, 起 始 字 母 位 数 从 0 开 始 计。
“字 母 组” 的 定 义 如 下:
?? 等 于 字 母 “?”。
?v 等 于 所 有 的 元 音 字 母 “aeiouAEIOU”。
?c 等 于 所 有 的 辅 音 字 母 “bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ”。
?w 等 于 “白 色 空 格” 符 号: “ ”;
(原 文 的 whitespace 不 晓 得 如 何 解 释 好, 好 象 可 以 解 释 为 “空 格” 或 者 是 “EOF 结 尾 符”。)
?p 等 于 所 有 标 点 符 号 “.,:;'"?!`”。
?s 等 于 特 殊 符 号 “$%^&*()-_+=|/<>[]{}#@/~”。
?l 等 于 所 有 26 个 小 写 字 母 (“a” 到 “z”)。
?u 等 于 所 有 26 个 大 写 字 母 (“A” 到 “Z”)。
?d 等 于 10 个 阿 拉 伯 数 字 (“0” 到 “9”)。
?a 包 括 所 有 26 个 字 母 的 大 小 写 形 式 (“a” 到 “z” + “A” 到 “Z”)。
?x 包 括 26 个 字 母 大 小 写 + 10 个 阿 拉 伯 数 字 (“a-z”+“A-Z”+“0-9”)。
备 注: 组 名 可 以 用 大 小 写 的 区 别 来 表 示 “逻 辑 非” 的 关 系, 小 写 表 示 肯 定, 大 写 表 示 否 定。例 如: 用 ?d 可 以 表 示 “所 有 数 字”, 而 大 写 ?D 就 表 示“所 有 非 数 字 的”。
以 下 是 一 些 附 加 的 指 令:
{ 单 词 循 环 左 移 一 位: “fool” -> “oolf”, 当 然 要 左 移 动 两 位 就 表 示 为 “{{”, 以 下 同。
} 单 词 循 环 右 移 一 位: “fool” -> “lfoo”。
Dn 删 除 n 位 的 字 母 (由 0 开 计), 切 开 的 右 面 的 单 词 部 分 自 动 接 上, 不 会 流 下 空 格。
P “crack” -> “cracked”, 使 用 单 词 的 过 去 式, 只 针 对 小 写 单 词 有 效。
G “crack” -> “cracking”, 使 用 单 词 的 现 在 进 行 式, 同 样 只 针 对 小 写 单 词 有 效。
~i 根 据 键 盘 的 排 列 规 则, 转 换 为 “shift 键” + “对 应 键” 所 得 到 的 单 词, 如 “12345” -> “!@#$%”。
~I 进 行 字 母 大 小 写 转 换, 不 影 响 数 字 及 非 字 母 的 其 他 值, 如 “Fool123” -> “fOOL123”。
~v 将 单 词 中 所 有 元 音 字 母 转 为 小 写, 如 “Crack96” -> “CRaCK96”。
~> 根 据 键 盘 的 排 列 方 式 将 所 有 的 字 母 右 移 一 格。 例 如 我 们 可 以 看 到 键 盘 字 母 “c” 键 的 右 边 是 “v” 键, 则 “Crack96” -> “Vtsvl07”。
~< 和 上 一 个 一 样, 不 过 是 左 移, 如 “Crack96” > “Xeaxj85”。
针 对 “single crack” 模 式 的 专 用 指令
专 用 指 令 有 双 字 串 支 援, 控 制 这 些 指 令 要 套 用 指 令 时 需 要 用 到 下 列 的 命 令:
1 对 第 一 个 单 词 的 规 则
2 对 第 二 个 单 词 的 规 则
+ 对 于 完 成 以 上 1、 2 规 则 变 换 后 所 得 到 的 单 词 再 进 行 其 他 的 变 换。
(要 求 “+” 必 需 只 用 在 “1” 或 “2” 之 後, 也 就 是 1+2 或 2+1)
(Chinaroot 备 注: 以 下 一 段 我 不 太 明 白, 所 以 英 文 照 抄, 天 晓 得 “GECOS” 是 什 么 东 西, !@$#$%&%$)
If you use some of the above commands in a rule, it will only process word pairs (full names, from the GECOS information), and reject single words.A '+' is assumed at the end of any rule that uses some of these commands,unless you specify it manually. For example, '1l2u' will convert the first word to lowercase, the second one to uppercase, and use the concatenation of both. The use for a '+' might be to apply some more commands: '1l2u+r'will reverse the concatenation of both words, after applying some commands to them separately.
(根 据 本 人 开 始 的 猜 测, 估 计 应 该 是 将 规 则 按 你 要 求 的 顺 序 执 行, 后 来 发 现 猜 错 了, 现 在 终 于 明 白 了。 我 们 已 经 知 道 “l” 命 令 将 字 母 转 为 小 写, 而 “u” 命 令 将 字 母 转 为 大 写, “r” 命 令 将 字 母 的 顺 序 颠 倒, 所 以 对 于 以 下 的 shadow, 进 行 尝 试 的 结果 如 下:
首 先 是 shadow 部 分:
root:!2dR3.pEo6#Q:0:1:Super-User:/:/bin/csh
foolers:% dY).p*12Ver:0:1:AppleUser:/:/bin/csh
abc:QkzL@4%68tGHI:201:200::/home1/ahb:/bin/csh
最 后 得 到 如 下 两 个 结 果:
“1l2u” ------------ “superUSE”、 “userSUPE”
现 在 终 于 明 白 了, 原 来 此 命 令 只 使 用 shadow 中 的 用 户 注 解 名 (GECOS) 而 非 用 户 名, 而 且 只 对 于 可 区 分 的 由 两 个 单 词 组 成 的 词 组 才 有 效, 如 上 例 的 “Super-User”, 由 于 其 中 间 使 用 了 连 词 符 号 “-”, 被 区 分 为 “Super” + “User”, 系 统 自 动 进 行 “左 结 右” 和 “右 接 左” 的 单 词 组 合, 组 合 后 超 过 8 位 的 部 分 被 截 断; 而 “AppleUser”、 “ahb” 却 未 被 使 用。所 以 基 于 同 样 的 原 理, 以 下 命 令 可以 得 到 的 结 果 如 下:
“1l2u+r” ---------- “RESUrepu”、“REPUSres”。
批 处 理 规 则:
你 可 以 使 用 “[]” 来 使 用 一 批 字 符, 如 “[0-9]” 则 表 示 “0-9” 这 10 个 数 字, 你 也 可 以 混 合 使 字 母 列 表 加 批 量 的 格 式, 如 “[aeiou1-9]” 则 表 示 包 括 所 有 的 元 音 字 母 + “0-9” 十 个 数 字。 简 单 的 例 子 还 有 “[A-Z]”、 “[a-z]”、 “[A-Z0-9]”。 比 方 说: 我 们 加 入 一 行 如: “l$[0-9]”, 则 表 示 强 制 使 用 小 写 字 母, 并 且 在 每 个 字 母 后 面 加 入 “0-9” 这 十 个 数 字, 即: 如 果 用户 名 为 fool, 则 john 尝 试 使 用 fool0、 fool1、 fool2、 ...... fool9, 尝 试 进 行 解 密。
二、 “Wordlist Crack” 模式 --- 即“字典解密模式”
此 解 密 模 式 需 要 用 户 指 定 一 个 字 典 文 件, john 读 取 用 户 给 定 的 字 典 文 件 中 的 单 词 尝 试 进 行 解 密。 原 理 是: 用 户 经 常 使 用 象 hello、 superman、 computer、 ... 之 类 的 有 意 义 单 词 作 为 自 己 的 密 码。 john 中 自 己 带 了 一 个 字 典, 文 件 名 为: password.lst, 里 面 包 含 了 一 些 常 被 用 来 作 为 密 码 的 单 词。 以 下 给 出 几 个:
12345、abc123、passwd、123456、Hockey、asshole、newpass、internet、Maddock、newuser、12345678、computer
00、Horses、Internet、duck2、Mickey、Cowboys、fiction
当 然 了 所 带 的 字 典 比 较 小, 如 果 你 觉 得 不 够 用, 可 以 到 ftp://coast.cs.purdue.edu/pub/dict 里 找, 可 以 找 到 好 几 十 兆 的 大 字 典 文 件。 使 用 方 法 很 简 单, 假 设 字 典 文 件 名 为: password.lst, shadow 为 shadow.txt, 则 命 令 为:
john -word:password.txt shadow.txt
和 “single mode” 一 样, 使 用 “字 典 解 密 模 式” 时, 也 可 以 使 用 “规 则”, 具体 规 则 的 定 义 在 john.ini 中 的 [List.Rules:Wordlist] 部 分, 以 下 抽 取 其 中 的 一 小 段:
[List.Rules:Wordlist]
###
# Wordlist mode rules (use -rules to enable)
###
# Try words as they are
:
# Lowercase every pure alphanumeric word
!?Xl
# Capita
相关文章推荐
- 超好用弱口令扫描工具John the Ripper 图解使用教程
- John the Ripper 安装用使用
- John the Ripper使用
- 使用John the ripper工具来尝试破解Linux密码
- John the Ripper使用方法概述
- 史上最牛的密码破解软件John the Ripper中文说明
- 使用John the ripper工具来尝试破解Linux密码
- 著名密码破解利器John the Ripper使用方法详解
- unix密码破解软件John the Ripper中文说明
- The Linux SCSI Generic (sg) Driver(使用说明)
- Android import和export使用说明 及 export报错:jarlist.cache: Resource is out of sync with the file syst解决
- Crack Password with John the Ripper on Ubuntu 9.10
- John the Ripper的四種破解模式
- 破解之---john the ripper
- 【转】John The Ripper附图教程
- John the Ripper
- John the Ripper
- 开源密码破解工具 - John the Ripper
- 运营商渗透测试John the ripper
- John the Ripper password cracker试用