/* * MacCracの良いところ for MaceR * * 投稿者:真っ赤なうなぎ汁●〜* * * 近ごろ何かと jack だのジョンだのジュンだのチュンだの PONだのが人気もの * みたいなので,Macer も負けないぞって事でもないんだけど何となく気が向い * たので MacCracについてその良いところをずらずらと書いてみましたずらずら * .MacCrac をバリバリずこずこバッコンばっこん使いこなしてる人は読んでも * 疲れるだけなんで,せっかくだから読んで下さい.Newbieの方は,こんな説明 * でも何かの足しになるかも知れないんで,我慢して読んでみて下さい.DES 化 * のあたりは記憶自体あやふやなので,思いっきり嘘書いてる可能性も否定しき * れません.そのときは指摘してね.射的の的にはなりたくないけど * */ 何といってもその柔軟さでしょう.MacCrac は用意した辞書中の各wordを単にそのまま使 うだけでなく,各々のwordに対して実に様々な“応用”を利かせながら作業をします.そ の応用範囲の広さが,まず大きな魅力と言えます. 具体例を挙げます. “Lupin ”という単語についてその組替パターンを考えてみると,“ lupin ”,“LUPIN ”,“1upin ”,“LupinLupin”,“Lupin3”,“nipul ”,“3Lup in”,“Lupin3Lu”,....などなど,嫌になるくらい幾らでも思いつきます.という 事はこれら全てpasswdとして使われ得るという事なわけですけど.だからといって全ての 単語について思いつく限りの組替パターンを辞書として用意する事は限りなく不可能に近 い,というか出来るだろうけどやりたくない作業ですよね.もし10000 語の辞書に50パタ ーン当てはめたら500000語って事ですから.辞書自体が何MBになるか,考えたくもないわ けです. MacCrac では,これを全て勝手に処理してくれます.あらかじめ各文字列に対して行う処 理の手順,つまり一種の規則性を定義しておけば,全てのwordに対してHIT するまであら ゆるパターンを試してくれる訳です(もちろん最後までHIT しない事もあるわけだけど) ではここで,MacCrac の仕組みを大雑把に俯瞰しておきましょう.MacCrac の処理手順を 簡単にまとめるとこうなります_..... ○まず用意されたパターン集から一つ目の法則【R1】を読み込む ○次に辞書から一つ目の word【W2】を取り出す. ○【R1】の法則を【W2】に適用して,バリエーション【R1W2】を生成. ●【R1W2】をDES化(暗号化)して【R1W2-D】という文字列を生成する.   (DES)固定長の64bit-keyからparity用(1bit/byte)の8bitを除いた      56bit-keyを使って,並び替え・置換・混合・XOR,といった処理を      16-round(と思うけど 32-rdだったかも)繰り返す事で暗号化する       ○ passwdファイルからDES化されたpasswd【P1】を抜き出す. ●【R1W2-D】=【P1】ならBingo!《Feedback》ファイルに書き出して【P2】へ ○一致しなければ,辞書から次の【W3】を取り出して(法則は【R1】のまま)  バリエーション【R1W3】を生成し,DES化して【P1】と比較....  という事を,BINGOが出るか辞書が空になるまで繰り返す.   ● BINGOが出るか辞書が空になったら,二つ目の法則【R2】を読み込み,以後  このプロセスを延々と繰り返す.全ての法則を使い切ったら終了する. ■何となくこんなチャートにしてみました.各々縦の列ごとに下方向へ回って いくスロ ットマシンのドラムの様に捉えると解りやすい,よね? 多分. ちなみに辞書の列が 最も早く回転し,辞書列が一周するとルール列が一段下 がります.そしてルール列が 一周するとpasswd列が一段下がり,...と いった感じで勝手に進行していきますか ら,あとは全リールが止まるのを待 っているだけで ひょっとしたら平方根になれる かも. −−−処理の手順−−−> ___________________________________  │  【R3】 【W4】            《Feedback》 【P3】  時   ┃   ┃                 △   ┃  間  【R2】 【W3】                ‖  【P2】  の   ┃   ┃                 ‖   ┃  進  【R1】×【W2】=【R1W2】・ DES ・【R1W2-D】・?・・【P1】  行   ┃   ┃                 ▼   ┃  │   ▼  【W1】   │       │   nズレ  ┃  ▼       ▼    │       │        ▼    ──┼───┼────┼───────┼──-─┼───┼───     ルール  辞書  バリエーション  DES化  判定  passwd ─────────────────────────────────── (何か分かりにくいもの書いちゃったかなあ...?) とまあ,こんな仕組で解析される訳ですが,ところであなた,このフローを見てちょっと 意外な事に気付きませんか? そう,「復号化」をしていないんです.つまり「暗号を解 読」しているんじゃなくて,当てずっぽうな文字列を暗号化して「結果を比較」している だけなんですね.これだと一見効率が悪そうに見えるけれども,大きな利点もあるんです .それは,「当てずっぽう」ではなくてある程度推測した上で文字列を用意出来れば効率 UPが図れる,という点.つまり十分なCPU パワーが無い環境でも「辞書の出来」次第で はパワー不足をカバー出来る訳です.もちろんこの「効率化」は,人間が設定するパスワ ードという性質ゆえランダムな文字列になりにくい,つまり逆に言えば,それ自体意味を 持つ文字列であったり必然性が連続した結果であったりしがちだと言う前提に立った上で の話ですけれども. 何だか話がそれてしまったけれど,まあそんなこんなで辞書の育成・活用の重要性に繋が るというわけなんですね,強引ですけど.そしてその「活用」という点でMacCrac は大き なアドバンテージをもたらしてくれるんだよというのが, 一応ここ迄の流れになります. 強引ですけど. さて,ではその「法則が記述されたパターン集」をどうやって用意するのかという事です けど,これもまたMacCrac は秀越なんですね.主要なパターンがあらかじめ付属してるん です.「dicts.rules 」という名前のファイルがそれです.主要なといっても数百パター ンはありますから,結構広範囲にカバーされてます.ちなみに先程書いた“Lupin ”の例 だと,全てデフォルト状態でHIT します.つまり“Lupin ”といいう1-wordを用意すれば 大文字小文字の組み合わせはもちろん,前後に数字を付加したり,逆に並べ替えたり,2 回繰り返したり,“l ”を数字の“1 ”に置き換えたり,などなど全て勝手に展開してく れるわけです.しかも相当ヒネクレた変形もデフォルトでこなしてくれます. 例えば“Lupin3Lu”ですけど,これは“元の単語に数字を付加した文字列を8文字になる まで繰り返したパターン”ってやつで引っかかります.結構無茶なパターンですけど(笑 ).そしてもちろんこの「dicts.rules 」ファイルは,好みに合わせて自由にカスタマイ ズ出来ます.記述の仕方も「dicts.rules 」中に書かれているので,そんなに苦労せずに 追加・削除出来るでしょう. 1000パターンくらいに増やして(相当頭使う必要があるだろうけど)処理を目一杯重くし てもいいだろうし,ある程度絞り込んで効率を追及する(これはもっと頭使う必要がある だろうけど)っていうのも良いだろうね.まあ,正規表現をやや複雑にした感じ,くらい に捉えられれば きっと自在に組める様になる事でしょう.ちなみにおいらはほとんどデ フォルト状態で使ってるけど,結構十分って感じです. ほんとは少し減らしたいくらいなんだけど もし追加するとしたら,例えば日本人向けに -uji(氏)を付けてみたり,若者向けにcho-(超)を付けたりとか,ってまあこれは強引 な例だけどそんな使い方も出来るので,少し応用して辞書とdicts.rules の抱き合わせセ ットとして使い分けるってのも,かなり通な使い方だと思います.例えば,人名辞書に-k un,-chan ,などを後付けした(HIT 率良好な)優良辞書というのが実際にあるけれど, dicts.rules を操れれば 特別な辞書を用意しなくてもかなり広範囲までカバー出来るわ けです. ここでまたちょっと話をそらしますけど,使える辞書として出回ってるものの中に,例え ば“a ”,“aa”,“aaa ”,..といった連続や,単に数字や文字を前後に付加したも の,或いは特定文字を別の特定文字に置き換えたもの等,明らかな規則性を持ちながらも 各々独立した単語としてリストされているのをよく見かけます.一見便利そうなものも結 構あるけれど,MacCrackで使う場合はそういったバリエーション辞書を用意しなくても取 りこぼしがありません. そして,WordListの大きさは処理速度や時間に大きく影響する要素ですから,必要最小限 のリストから可能な限りの範囲をカバーするこの機能は,限られた時間とCPU パワーを効 率良く活用するという意味で実に有益な機能ですから,新しく入手した辞書や手持ちの辞 書などがもっとスリム化出来ないか,改めて確認してみるといいでしょう.そういった文 字列は思いきって抜いてしまってもMacCrackがちゃんとカバーしてくれますから. そういえば,もう一つのメジャーなMac 用ツールで結構間違えがちなMacKrak というのが あるけれど,確かあのMacKrak に付属の辞書にはそういった繰り返し文字が一杯含まれて た様に記憶している.おいらはそれを見た時にMacCrackって優れモンじゃん,と思ったん だ.. さて,今回も大分長文になってきた様なので,もう一点だけ触れてまとめる事にしましょ う. 確か以前ここでも話題が出てた様に思うんだけれど,/etc/passwd  に書かれているユー ザー情報, つまり“gecos ”も無視できない情報ですよね.当然MacCrackはそれもチェッ クしてくれます.ユーザーネーム(アカウント名)と名前(というか登録名)のフィール ドから文字列を抽出して,辞書の時と同じ様に一通りの処理を勝手にやってくれるのです .ん〜ん,働き者・ そしてこの場合も,MacCrackと同じ階層に置かれた“gecos.rules ”ファイルに定義されている法則に基づいてgecos を処理するので,例えばもっと様々な 処理をさせてみたり,軽快な動作を優先して逆にシンプルにしたりなど,好みのルールを 設定しておくことも出来る訳です.ちなみにおいらの実感値では,gecos の情報をもとに 展開されたpasswdって結構多いと思います. などなどなどなど...疲れたのでここでひとまず終わりにしよっと.   まあそーゆーわけですので,Macer の皆さん MacCrackを使いこなして,r00tアカウント を集めよう! 今ならキャンペーン期間中につき,r00t5個集めると,ナントその場でも う一本プレゼントらしいぞ.(知らないけど) 君も今スグ,Attack を始めよう! co,ac あたりが狙い目らしい! 急げ! (って,何のことか知らないけど.) うーん疲れた...じゃあまたね. ●__U_N_A__B_0_M_B_E_R___________________________________________@〜* .....................................WHERE_DO_YOU_WANT_TO_HACK_TODAY_?