1. 程式人生 > >John the Ripper使用說明

John the Ripper使用說明

=========================
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 同 樣 拷入 此 目 錄, 這 樣 我 們 就 完 成 了 解 密 的準 備 工 作。


現 在 開 始 進 行 解 密 步 驟:


  1. 先 消 滅 FOOL USER, 就 是 “笨 蛋 用 戶”:
    john -single shadow.txt
  2. 再 消 滅 稍 微 聰 明 一 點 的 用 戶:
    john -wordfile:password.lst -rules shadow.txt
  3. 最 後 進 行 大 屠 殺:
    john -i:all shadow.txt
    當 然 了, 第 三 步 可 能 要 你 的 電 腦 跑 上 10000 年。

解 釋:


  1. 第 一 步 主 要 針 對 笨 蛋 而 進 行 的, 原 理 是 根 據 用 戶 的 名 稱, 加 上 常 見 的 變 化 而 猜 測 密 碼。 一 般 所 謂 的 笨 蛋 是 這 樣 的, 比 如 此 用 戶 叫 fool, 而 他 的 密 碼 是 fool123、 fool1、 loof、 loof123、 lofo...。 這 樣 的 用 戶 一 般 在 一 分 鍾 內 會 被 全 部 消 滅。
  2. 第 二 部 是 使 用 字 典 文 件 來 進 行 解 密, 不 為 什 麼, 只 是 因 為 設 置 密 碼 的是 人 而 不 是 機 器, 如 人 們 常 用 hello、 superman、 cooler、 asdfgh、 123456 等 作 為 自 己 的 密 碼。 而 -rules 參 數 則 在 此 基 礎 上 再 加 上 些 變 化, 如 字 典 中 有 單 詞 cool, 則 JOHN 還 會 嘗 試 使 用 cooler、 CoOl、 Cool 等 單 詞 變 化 進 行 解 密。 一 般 視 SHADOW 中 的 用 戶 多 少 及 你 的 字 典 大 小、 你 的 機 器 速 度, 解 密 時 間 從 幾 小 時 到 幾 天 不 等。
  3. 第 三 步 是 純 粹 的 碰 運 氣 解 法, 主 要 原 理 是 遍 歷 所 有 可 能 的 密 匙 空 間。 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[:<檔名>] 繼 續 上 次 的 破 解 工 作, 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 中 起 頭 為 # 的 行 為 注 釋 行, 程式 在 遇 到 此 行 時 自 動 跳 過。


  1. “:[:cl]” 此 行 表 示 使 用 用 戶 名 自 身 作 為 密 碼 進 行 嘗 試, 即 fool, 而 “[:cl]” 在 保 持 原 字 母 不 變 的 前 提 下, 首 先 強 制 第 一 個字 母 大 寫 “c”, 其 餘 字 母 均 變 為 小 寫 “l”, 即: Fool, 也 就 是 說 此 行 導 致 john 嘗 試 使 用 fool 和 Fool 兩 個 單 詞 進 行 解 密。
  2. “>6x06” 表 示 當 用 戶 名 大 於 6 個 字 符 的 時 候, 從 第 0 個 算 起, 截 斷 至 第 5 個, 則 共 保 留 下 6 個 字 母, 其 餘 丟 棄 不 用。 如: 用 戶 名 為 foolers, 則 會 產 生 如 下 被 嘗 試 的 密 碼: 即 fooler。
  3. “>7lx07” 和 上 面 相 同, 此 行 對 於 >7 的 用 戶 名, 截 斷 至 7 個 字 母, 而 且 使 用 “l” 強 制 使 用 小 寫 字 母。
  4. “>6/?ulx06” 表 示 對 於 長 度 >6 的 用 戶 名, 截 斷 至 6 個, 強 制 小 寫, “/?u” 則 表 示 只 有 在 用 戶 名 中包 含 小 寫 字 母 “u” 才 有 效, 否 則 跳 過 整 條 規 則,不 進 行 嘗 試。 例 如 對 於 “foolers” 此 規 則 不 起 作 用, 因 為 “foolers” 中 不 包 含 小 寫 字 母 “u”。
  5. “>5x05” 和 上 幾 個 例 子 相 同, 不 用 解 釋 了。

其 餘 部 分 自 己 參 考 john.ini, 具 體 參 數解 釋 如 下:
john.ini中的每一行均由“條件指令”+“規則指令”組成。


  1. 位 於 起 始 部 分 的 “條 件 指 令”:

    : 表示保持字母不變。
    >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 個 的 單 詞。 具 體 的 例 子 就 不 列 舉 了, 上 面 已 經 談 過 了。
  2. 以 下 是 一 些 用 於 字 母 變 化 的 命 令:

    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 開 始 計。
  3. “字 母 組” 的 定 義 如 下:

    ?? 等 於 字 母 “?”。
    ?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 就 表 示“所 有 非 數 字 的”。
  4. 以 下 是 一 些 附 加 的 指 令:

    { 單 詞 循 環 左 移 一 位: “fool” -> “oolf”, 當 然 要 左 移 動 兩 位 就 表 示 為 “{{”, 以 下 同。
    } 單 詞 循 環 右 移 一 位: “fool” -> “lfoo”。
    Dn 刪 除 n 位 的 字 母 (由 0 開 計), 切 開 的 右 面 的 單 詞 部 分 自 動 接 上, 不 會 流 下 空 格。
    P “crack” -> “cracked”, 使 用 單 詞 的 過 去 式, 只 針 對 小 寫 單 詞 有 效。
    G “crack” -> “cracking”, 使 用 單 詞 的 現 在 進 行 式, 同 樣 只 針 對 小 寫 單 詞 有 效。
    ~i 根 據 鍵 盤 的 排 列 規 則, 轉 換 為 “shift 鍵” + “對 應 鍵” 所 得 到 的 單 詞, 如 “12345” -> “[email protected]#$%”。
    ~I 進 行 字 母 大 小 寫 轉 換, 不 影 響 數 字 及 非 字 母 的 其 他 值, 如 “Fool123” -> “fOOL123”。
    ~v 將 單 詞 中 所 有 元 音 字 母 轉 為 小 寫, 如 “Crack96” -> “CRaCK96”。
    ~> 根 據 鍵 盤 的 排 列 方 式 將 所 有 的 字 母 右 移 一 格。 例 如 我 們 可 以 看 到 鍵 盤 字 母 “c” 鍵 的 右 邊 是 “v” 鍵, 則 “Crack96” -> “Vtsvl07”。
    ~< 和 上 一 個 一 樣, 不 過 是 左 移, 如 “Crack96” > “Xeaxj85”。
  5. 針 對 “single crack” 模 式 的 專 用 指令

    專 用 指 令 有 雙 字 串 支 援, 控 制 這 些 指 令 要 套 用 指 令 時 需 要 用 到 下 列 的 命 令:

    1 對 第 一 個 單 詞 的 規 則
    2 對 第 二 個 單 詞 的 規 則
    + 對 於 完 成 以 上 1、 2 規 則 變 換 後 所 得 到 的 單 詞 再 進 行 其 他 的 變 換。
    (要 求 “+” 必 需 只 用 在 “1” 或 “2” 之 後, 也 就 是 1+2 或 2+1)
    (Chinaroot 備 注: 以 下 一 段 我 不 太 明 白, 所 以 英 文 照 抄, 天 曉 得 “GECOS” 是 什 麼 東 西, [email protected]$#$%&%$)
    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:[email protected]%68tGHI:201:200::/home1/ahb:/bin/csh
    最 後 得 到 如 下 兩 個 結 果:
    “1l2u” ------------ “superUSE”、 “userSUPE”
    現 在 終 於 明 白 了, 原 來 此 命 令 只 使 用 shadow 中 的 用 戶 注 解 名 (GECOS) 而 非 用 戶 名, 而 且 只 對 於 可 區 分 的 由 兩 個 單 詞 組 成 的 詞 組 才 有 效, 如 上 例 的 “Super-User”, 由 於 其 中 間 使 用 了 連 詞 符 號 “-”, 被 區 分 為 “Super” + “User”, 系 統 自 動 進 行 “左 結 右” 和 “右 接 左” 的 單 詞 組 合, 組 合 後 超 過 8 位 的 部 分 被 截 斷; 而 “AppleUser”、 “ahb” 卻 未 被 使 用。所 以 基 於 同 樣 的 原 理, 以 下 命 令 可以 得 到 的 結 果 如 下:
    “1l2u+r” ---------- “RESUrepu”、“REPUSres”。
  6. 批 處 理 規 則:

    你 可 以 使 用 “[]” 來 使 用 一 批 字 符, 如 “[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” 模式 --- 即“字典解密模式”


  1. 此 解 密 模 式 需 要 用 戶 指 定 一 個 字 典 文 件, 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


  2. 和 “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

軟件 6.5 生成 安全 51cto all n-1 分析 用戶 在網絡環境中,過於簡單的口令是服務器面臨的最大風險,對於一個承擔安全責任的服務器管理員來說,及時找到一些弱口令帳戶是非常必要的,這樣便於采取進一步安全措施(提醒帳戶重設更安全的口令密碼)John the Ri

超好用弱口令掃描工具John the Ripper 圖解使用教程

strong 成功 安裝 pac tab 系統 一段 分享圖片 win 工具介紹 John the Ripper ,簡稱 JR。 用 於 在 已 知 密文 的 情 況 下嘗 試 破 解 出 明 文 的 破 解 密軟件 主要 支 持 對DES、

利用 John the Ripper 破解使用者登入密碼

一、什麼是 John the Ripper ? 看到這個標題,想必大家都很好奇,John the Ripper 是個什麼東西呢?如果直譯其名字的話就是: John 的撕裂者(工具)。 相比大家都會覺得摸不著頭腦,撕裂者是啥玩意啊? 事實上,John the Ripper 是一款大受歡迎的、免費的開源軟體。

john the ripper跑多核多cpu

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

John The Ripper to crack the Password (UNIX/LINUX)

John the Ripper              John the Ripper免費的開源軟體,是一個快速的密碼破解工具,用於在已知密文的情況下嘗試破解出明文的破解密碼軟體,支援目前大多數的加密演算法,如DES、MD4、MD5等。它支援多種不同型別的系統架構,包括U

John the Ripper使用說明

=========================John the Ripper 簡介========================= John the Ripper 是 什 麼 東西? 如 果 直 譯 其 名 字 的 話 就 是: JOHN 的撕 裂 者(工 具)。 翻

著名密碼破解利器John the Ripper使用方法詳解

John the Ripper 1.4 是 目 前比 較 好 的 破 解 密 碼 工 具, 在 解 密 過 程中 會 自 動定 時 存 盤, 你 也 可 以 強 迫 中 斷解 密 過 程 (用 ctrl+c), 下 次 還 可 以 從 中 斷的 地 方 繼續 進 行 下 去 (john -restore),

John de Monchaux, former dean of the School of Architecture and Planning, dies at 81

Jean Pierre de Monchaux, an idealistic and optimistic planner and architect who served as dean of the MIT School of Architecture and Planning from 1981 to

Meet the Clarifai Captain: John Pham, Artist Turned AI Software Developer

The Clarifai Captains community includes software developers, tech advocates, and Clarifai fans joining us on our mission to accelerate the progress of hum

學院資料分析報告:吃雞黨 vs 農藥黨,大資料告訴你誰才是the best,你贊同嗎?

本文資料分析作者 未明學院資料分析方向老師 全民遊戲時代,你永遠不知道,和你聯機遊戲的,到底是男是女,是大學生還是小學生……而說到當下最老少皆宜的遊戲,不得不提的是農藥和吃雞。 “你打農藥還是吃雞?” “我打吃雞。” “我也是額。” “一起一起。” 打遊戲

Index preview: John Lynn of eero talks IoT and the art of failing fast

John Lynn, Cloud Platform Manager at eero, speaks with IBM content lead Kevin Allen about his role, the work developers at eero are doing in the IoT spa

[CSS] Showing horizontal scrollbar always for the table

nbsp overflow tab spl spa horizon clas pre idt table { display: block; overflow: scroll; width: 200px; height:95vh;

[LeetCode] Reshape the Matrix 矩陣重塑

ren ati num 我們 資料 call posit tar led In MATLAB, there is a very useful function called ‘reshape‘, which can reshape a matrix into a ne

外部樣式表聲的樣式並不會進入style對象

樣式 http img 一個 16px col function cnblogs image 在網頁設計當中,我們註重網頁的行為(js)、結構(HTLM)、樣式(css)分離開 內聯樣式表或者內部樣式表聲明的樣式信息都會進入style對象。 我們可以測試一下: 但是我們的

動態規劃背包問題 洛谷P1064 金的預算方案

輸出 ret 設計 div 輸入輸出 style 乘號 輸入輸出格式 sin P1064 金明的預算方案 題目描述 金明今天很開心,家裏購置的新房就要領鑰匙了,新房裏有一間金明自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說:“你的房間需要購買哪些物品,怎麽布置,你

ZOJ - 3228 Searching the String (AC自己主動機)

won key wid roc lap processor som multiple pla Description Little jay really hates to deal with string. But moondy likes it very mu

SQL Server導入報錯:The LocaleID 4 is not installed on this system

code page localeid 936 問題描述:通過SQLServer導入導出向導導入中文字符集數據,遇到The LocaleID 4 is not installed on this system.錯誤。解決方法:我發現客戶服務器操作系統雖然不支持Chinese (Simplified)

HDU 4930 Fighting the Landlords(扯淡模擬題)

href blank 。。 clear break 輸出 family fig set Fighting the Landlords 大意: 鬥地主。。。。 分別給出兩把手牌,肯定都合法。每張牌大小順序是Y (i.e. colored Joker) &g

Python 2 聲變量 輸入輸出 練習

交互 技術 put cnblogs margin .com 最大 span 方便 變量:    代指,用於將具體信息對應到一個值,便於反復使用時方便調用。例如 name = ("斯諾登")    變量聲明規則:以字母開頭的 字母數字下劃線的組合。且不能是python代

The connection to adb is down, and a severe error has occured

真的 findstr ole pla a10 tool fcm ott art 相信不少人在android中都遇到了你下面不好解決的問題: 首先描寫敘述癥狀,例如以下圖 解決方法: 方法1:先在cmd中adb kill-server,然後adb -startser