// 話題になっているようなので。わかりにくいけど原文もそうです(^^); 詳しい方は解説をお願いします。 Unix パスワードクラッカー Cracker Jack June 1993 Cracker Jack v 1.4 ドキュメント 免 責 ========== このソフトウェアの著作権は作者 -Jakal-にある。コピーは自由である。作者はこの パッケージの使用/誤用の結果(システムクラッシュ、刑務所行き、世界大戦 ...) については何の責任も持たない。また、機能上の保証もしない。 Cracker Jack とは? ===================== Cracker Jack はPCで走る Unixのパスワードチェッカー/クラッカーである。 PCの Unixパスワードクラッカーでこれより速いクラッカーは無いと思っている。 (もしあれば教えて欲しい。賞賛する。)現在、2つのバージョンがある。8086/88 と80386だ。286バージョンは放棄した。それはあきらかに 8086バージョンより遅い。 386バージョンは、はるかに速い。386か486 CPU を持っているなら、これを使うべきだ。 そのうえ、386バージョンには640kbの制限が無い。もっと多くのアカウントをロードで きる。386バージョンは OS/2 v. 2.0 でも走る。(486、586/Pentium のバージョンも 将来はできるだろう。同様にDOSとOS/2以外の OSの CPUのバージョンも。 Cracker Jack 1.4 の新機能 =============================== 私はついに Borland C++ v3.1を手に入れた。しかしやや失望している。 私は GNU Cコンパイラも持っている。(IT'S GREAT!) このコンパイラに移植して、私のPCでは約8%速くなった。しかしこのスピードは 使用する CPU、RAMなどにより変わる。とにかく今はプロテクトモードで走り(386/486 が必要)640 kbの壁はない。GNU Cに移植した EMXに感謝する。それもまた、OS/2 2.0 で走る。さらに私は(もう一度)アカウントローディングとソートのアルゴリズムをア レンジした。実際それは、数千のアカウントをローディングする時にも、スタート アップが速い。 ソート・ユーティリティ JSORTを追加した。これは DOS SORTのように 64kbの制限は ない。現在シングルクラック辞書はサポートしていないが、進めている。 JPPは -dot:0 オプションでパスワードの前にドットをインサートできる。 これが基本的な変更だ。あまり新しいものはないが、私はリリースの価値があると 考えた。 Cracker Jack 1.3の新機能 ============================== - アカウントのローディング/チェックルーチンの再構築と最適化。 これによりローディングが速くなりより多くのアカウントを扱える。 - -noname スイッチ追加。Jackがメモリーにログインネームをローディングしない ようにする。これによりより多くのアカウントがローディングできる。 アカウントが増えるほど、比較には時間がかかる。 - シングルクラック・モード。すべてのアカウントを同じ Saltでチェックする。 これにはほとんど余分な時間はかからない。やったほうが良い。わたしはこれで いくつかのアカウントが取れた。 - キーボードの Ctrl+C をチェックする。中止したい時にセッションの終了を待た なくてよい。 - キーを押すか exit のみステータスを表示する。スクリーンがスクロールして消 える前にクラックしたパスワードを見つけられる。 - 中止したシングルクラック・セッションを再開できる。 Jackalの将来の計画 : - JSOTR のシングルクラック辞書のサポート - パスワード・ジェネレーター - 'free crack' オプションの追加。他のパスワードファイルから同じ salt でアカウ ントをロードする。( -u オプションでは同じ) - JPP のオプションを増やす。 - ハードディスクのスペースを節約するために、おそらくJack自身にJPP機能を持たせ る。特に -gecos:8 を使う時にために。 - ドキュメントの改良 圧縮パックの中身 ==================== 次のファイルが含まれる。 JACK.EXE クラッカージャック本体 JPP.EXE 単語操作のプリプロセッサ JACKPOT.EXE 今までにクラックしたパスワードを表示r XTRACT.EXE ファイルから単語を抜き出す JSORT.EXE 辞書のソート(NOT single crack wordlists!) JACK14.DOC Hmmm, what can this be? :) EMX.EXE *) EMX runtime/system interface for DOS EMX.DLL *) EMX runtime/system interface for OS/2 *) Note: 386 version だけに含まれる。 8086バージョンと名前は同じだが、386バージョンでは実行環境が違う。 Cracker Jack の使い方 ======================= たぶん大体のことは分かるだろう。しかし、いくつかの説明もしておかなければ ならない。Jackはクラックしたパスワードを JACK.POT と呼ばれるファイルにセ ーブする。これは JACK.EXE と同じディレクトリにある。もし、Jackをフロッピ ーで動かすなら(そんな人はいないと思うが) Writeプロテクトをかけてはいけ ない。Jackは以前にクラックされたパスワードがあれば、このファイルをチェック する。このファイルを消してはいけない。(リードオンリーになっている) JACKPOT.EXE はこれらのパスワードを表示する。これは以前のバージョンの "validfile" に似ている。私はこのオプションを外した。これは間違いだと言う人 もいるだろう。しかしこれには、多くのコアが必要だ。私はもっと多くのアカウン トのクラッキングのために使うほうがベターだと感じた。 JACKPOT.EXE は JACK.EXE と同じディレクトリになくてはならない ! Jackは複数のパスワードファイルをクラックできる。1つのファイルに結合しなくて よい。ワイルドカードも使える。 (完了するまで)10分おきにJackはファイルに情報をセーブする。( -r オプションで 他の名前を指定していなければリストア)システムがクラッシュしてもすべてをやり 直すことはない。もし、途中でセッションを中断し再スタートしたら、古い情報は上 書きされる。もし必要なら常にファイルをリネームする。 -user オプションでクラックしたいアカウントのログイン名やユーザーIDを指定で きる。例えば -user:0 はルート権限を持ったすべてのアカウントをロードする。 しかし、-user:root は rootアカウントそれ自身のみ、ロードする。 Jack のシングルクラック・オプション(-single)はログイン(-login)と JPPのgecos (-gecos:#)オプションの結合に使われる。例えば JPP -gecos:1 -lower pwfile | JACK -stdin -single pwfile gecosは小文字を使う。このアカウントと同じ Saltを他のアカウントにも使う。 ここでシングルクラック・モードを使う時に、注意しなければいけない事がある。 JPPからの出力はファイルへ送る。それから Jackの入力ファイルとして使う。 なぜなら Jackは以前にクラックされたアカウントはロードしない。入力ファイルは クラックされていないアカウントの login/gecos だけ供給すべきだ。 そうでなければ Jackは一貫性を失い、そして間違ったアカウントに単語を与えよう とする。言い換えると、入力ファイルを作った後でいくつかのアカウントをクラック したら、JPP で再び作らなくてはならない。シングルクラック・セッションを再開す るときも同じだ。もし常に JPPの出力をパイプで Jack へ流していたら問題はない。 JPP.EXE は Jack.EXE と同じディレクトリになくてはならない。 JPPの geocs オプションを説明するために次のようなアカウントがパスワードにあっ たとしよう。 billy:EncrPassword:123:10:Billy The Kid:/usr/billy:/bin/csh ここには4レベルの geocos操作がある。 1: それぞれの単語 "Billy", "The", "Kid" 2: 2つの単語の組み合わせ "BillyThe", "BillyKid", "TheBilly", "TheKid" ,... 4: 1つの単語と2つまでのイニシャル "BillyTK", "BillyKT", "TKBilly", "TBillyK", "BKid" ,... 8: 3つまでの単語の一部の組み合わせ "BiThKid", "BillKi", "BilTheKi", "TheBillyK", "BTK" ,... レベル1、2、4は加算することができる。例えばレベル1と4を一度に行うには -gecos:5 と指定する。レベル8はこの限りでない。レベル8は常に他のレベルも 含んでいる。レベル8の出力はディスクの使用を切りつめるために8文字まで。 ディスクスペースに関して言えば、ディスクのキャッシュ同様、DOSの TEMP変数を DOSのパイプ(|)により作られるテンポラリーファイルを保存するのに十分大きな値 にセットすること。 XTRACTプログラムは特別な要求により作られた。(おかしな単語を訂正する) Usage: XTRACT MYFILE.XXX | SORT | JPP -include > WORDS.XXX JPPにパイプで渡す理由はJPPのそのユニークな出力だ。もう一つの目的は、 CrackerJackにいくつかの単語送ったが、、辞書を作りたくないなら: ECHO secret abc123 haleluja password | XTRACT | JACK -stdin pwfile バグ / 制限 ============= 辞書は1つしか指定できない。( しかし、JPPを使う事はできる ) JPP のパラメーターにスペースは使えない。しかしパスワードの中のそれぞれの文字 の下位 7bitだけが使われるので、かわりに char # 160 ( = AltGr+1+6+0) とする事 が出来る。たとえば: JPP -gecos:4 -dot:1 pwfile | JPP -translate:. | JACK -stdin -single pwfile JSORT はまだ、シングルクラック辞書をサポートしていない。JPPの -loginや -gecos オプションで作られたこれらの辞書にある文字列がある。 文字列 "***!***" は Jackに次の saltに変えるように知らせる。 JSORT はこれを特殊文字として認識しない。ただ、普通の入力として扱う。 ................ Have phun, Jackal. 作者への連絡 / ==================================================== CrackerJack の公式な配布サイトは Freeside, +45-3-122-3119。 ここでは最新のバージョンも入手できる。 Zephyr, Freeside Sysop.