• 検索結果がありません。

new-master_p indd

N/A
N/A
Protected

Academic year: 2021

シェア "new-master_p indd"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

本章ではCain and Abelのさまざまな機能を解説

してきたが、最後に番外編としてGPGPUを使ったパ

スワードクラッカーツールを紹介しよう。Cain and

Abelよりもはるかに高速で解析してくれるゾ。

Windows

GPGPU

パスワードクラッカー

使う

グラフィックボードの演算能力をパスワード

クラックに応用

文●TTS

パスワードクラッカーのトレンドは

  GPU利用へ!

 ここ数年、浮動小数点演算の処理効率がよい GPUを画像処理以外の目的に応用するGPGPUが 注目されている。NVIDIAの CUDAやAMD のATI Streamといった開発環境が出現したことが大き な要因で、暗号解読やデーターベース処理など、 GPGPUでの性能向上が期待されている。  パスワードクラックの世界でもGPGPUへの期 待は高まっており、数年前よりGPUのパワーを利 用したアプリケーションが登場している。MD5や NTLM ハッシュなどのクラックでどれもCPUに比 べて短時間に解析できることが証明されている。  こうしたことから、Cain & AbelはWindows向 けのパスワードリカバリツールとしてメジャーで優 秀なツールではあるものの、パスワードクラックに CPUを使うという点では、すでに古典的だとも言 われている。  GPGPUでのパスワードクラックは、NVIDIAや AMDのグラフィックカードを用いて解析処理を行 わせるため、事前にパスワードクラックに利用で きるグラフィックカードを所有しているか、もしく は、購入するなど用意しておく必要がある。

※ GPU Rainbow Cracker のみ

GPGPUを使ったパスワードクラック

番外編

表1:GPUベースのパスワードクラックツールの例

ソフト OS URL

hashcat-gui

oclHashcat Linux/Windows http://hashcat.net/ IGHASHGPU

RAR GPU Password Recovery Windows http://golubev.com/hashgpu.htm

BarsWF Windows http://3.14.by/en/md5

Cryptohaze GPU Rainbow Cracker Linux/Windows/

Cryptohaze Multiforcer 1.0 Mac OS X※ http://cryptohaze.com/

MD5 GPU Crack Linux/Windows http://bvernoux.free.fr/md5/index.php Elcomsoft Distributed Password Recovery

Advanced PDF Password Recovery Professional Edition

Elcomsoft Wireless Security Auditor Windows http://www.elcomsoft.com/ Lightning Hash Cracker

Elcomsoft Phone Password Breaker Advanced Office Password Recovery

Extreme GPU Bruteforcer Windows http://www.insidepro.com/eng/egb.shtml Accent RAR Password Recovery

Accent OFFICE Password Recovery Windows http://www.passwordrecoverytools.com/ RainbowCrack for GPU Linux/Windows http://project-rainbowcrack.com/ Pyrit FreeBSD/MacOS X/Linux http://code.google.com/p/pyrit/

(2)

 IGHASHGPUは、Windows向けのブルートフォー スハッシュクラックツールで、ATI、NVIDIAいずれ の GPUにも対応している(ただし、すべてのグラ フィックカード対応というわけではない)。CUIの ツールなので、コマンド入力が苦手なユーザーは 敬遠してしまうかもしれないが、使用方法の説 明が入ったREADMEファイルやサンプルコマンド ファイルも付属しているので、これらを参考にすれ ば、使用自体はそれほど難しくはないだろう。  注意点としては、オフィシャルページのダウン ロードリンクは、バージョン0.62という古いものが 記載されているので、ダウンロードする際には、オ フィシャルブログに記載されている最新版をゲッ トするようにしてほしい。原稿執筆段階での最新 版はバージョン0.93.17.1だ。  ちなみに、今回テストで使用しているグラフィッ クカード(Radeon HD6970)も古いバージョンで は使用できず、v0.93.17.1でもMD4/MD5のみ対 応と限定的である。

IGHASHGPUの基本的な使い方

 IGHASHGPUの基本となるコマンド入力は以下 のとおりだ。 ighashgpu.exe [switch:param] [hashfile.txt]  [switch:param] [hashfile.txt]とあるが、hash-file. txtは複数のハッシュをクラックする時の指 定で、ハッシュが1つの場合は、switch:paramで 指定していけばよい。ここでは、代表的な例を READMEファイルにあるサンプルから抜粋して示 すが、その他の各オプションについてはヘルプや READMEファイルを参照してほしい。  図1は、MD5ハッシュをクラックするためのコ マンド入力例である。  冒頭にある、-h:239361613fe5281d8efb90e7 f8e0ceb0 部分は見てわかるように、アタックする ハッシュを指定(-h: ハッシュ)している。  -t:md5は、クラックするハッシュタイプの指 定(-t: パラメーター)で、MD4であれば、-t:md4、

IGHASHGPUを使ったブルートフォースクラック

GPUベースのパスワードクラックツール

 GPUベースのパスワードクラックツールを簡単に まとめたのが表1である。代表的なフリーで利用 できるツールとしては、IGHASHGPU、oclHashcat、 Cryptohaze Multiforcerなどがあり、有償のツー ルとしては、Elcomsoft社やPasscovery社の各ツー ルなどがある。  ツールによっては、NVIDIAのみ対応しているもの (Cryptohaze Multiforcerなど)や、ここ数年アッ プデートがないもの(BarsWF、MD5 GPU Crackな ど)、商用へ移行したもの(RAR GPU Password Recoveryなど)もあるので注意してほしい。  今回の記事では、Windowsに対応しフリーで 利用できるものとして、IGHASHGPU、hashcat-guiを中心に解説していく。

テスト環境

 今回のテスト環境についても簡単に解説してお こう。利用するGPUは、AMD 製Radeon HD6970 を搭載した玄人志向のRH6970-E2GHD/DPであ る(編集部よりレンタル)。  これを搭載したPC 環境は以下で、通常であれ ばサブ機レベルのマシンであり、これに高機能グ ラフィックカードが載っている奇妙な環境で、OS は、Windows7 Ultimate 64bit 版、インストールし たドライバーは、Catalyst Software Suite(64bit) のバージョン11.8である。

●テストマシンのスペック CPU:Celeron Dual-Core E3400 MB:ASUS P5K-VM

Memory:DDR2 4GB(2GBx2) HDD:SATA2 7200RPM 16MBキャッシュ VGA:RH6970-E2GHD/DP

電源:550W

(3)

SHA1なら-t:sha1というように入力すればよい。  -c:sdは、クラックに用いる文字セットの定義(-c: パラメーター)である。大文字 c、小文字s、数字 d、 記号 e、スペースp、すべてa、となっており、-c:sd は、「小文字と数字」の組み合わせを指定している。  -m:????assw???1234はパスワードマスクの指定 (-m: パラメーター)で、????部分のみアタックを行 い、その他は指定した文字列で固定される。  このコマンドを実行した結果判明したパスワー ドは、bigpassword1234である。  同様にして、最大文字列(例:-max:6)やソルト (-salt:e16bed51)などをパラメーターとして指定 できる。  同じようなサンプルがREADMEファイルにいく つか記載されているので、参考にしながらテスト していくといいだろう。  なお、ファンレスのグラフィックカードなどを使 用していると図2のようにGPUの温度が高いとい う理由から処理が中断されてしまう ことがある。ハードウェアのモニタリ ングはデフォルトでは90 度に設定さ れており、この温度は-hmで指定す ることができる。例えば、95度なら -hm:95、無効にするなら0を入力す ればよい。ただし無理をするとカード を壊す可能性もあることから、ファン レスのグラフィックカードで温度指定 する際には十分注意してほしい。

ighashgpu.exe -h:239361613fe5281d8efb90e7f8e0ceb0 -t:md5 -c:sd -m:????assw???1234

図 1 MD5 ハッシュをクラックするためのコマンド入力例

Hardware monitoring enabled, threshold temperature is 90°C.

CURPWD: amjpa4 DONE: 04.08% ETA: 57s CURSPD: 36.5M Threshold GPU temperature reached! Exiting. ↑赤色で表示され処理中断

Processed 150 994 944 passwords in 5s.

Thus, 36 393 093 password(s) per second in average.

 では実際に、GPUとCPUでは解析時間にどの 程度の違いが出るかをCainとIGHASHGPUを使 用してテストしてみることにしよう(いずれもブルー トフォースアタック)。  パスワードは、表 2のようにそれぞれの条件、つ まり、0-9なら数字のみ、a-bならアルファベット 小文字というよう定義して、各定義に沿った形で 生成したものを Cain の Hash Calculatorで MD5 ハッシュとしたものを使用している。  これらのハッシュをCainとIGHASHGPUにをク ラックさせて、解析完了までにどのくらい時間が かかるか測定する。  ただし、Cain(CPU)でのクラックは、時間がか かるもの(例えば丸1日とか)もあるため、それら に関しては、参考までに示される「おおよその解 析時間残」を比較対象とすることとしている。  それぞれ、IGHASHGPUのコマンド入力も記す ので、参考にしてほしい。

単純な組み合わせのパスワードを

  クラック

 はじめにパスワードとして、数字のみ、アルファ ベット小文字のみ、アルファベット小文字+数字の 8 桁のパスワード3種類をテストしたものを見てみ よう。  CainもIGHASHGPUも桁数や文字セットは同じ ものを指定している。

CainとIGHASHGPUで解析時間を比較

図 2 GPU の温度が高いという理由から処理が中断されてしまう 表 2 テストに使用したパスワード 使用する文字種 パスワード 0-9 31950186 a-b dxylojts a-b, 0-9 i0r7ja5k a-b, A-B, 0-9 vS1v3b a-b, A-B, 0-9, 記号 (3%4Ku

(4)

数字のみ8 桁のパスワード:31950186

 数字のみの構成はCainでもIGHASHGPUでもほんの数秒でクラックが完了している。若干 Cainの方が時 間がかかっているが、それほど大きな違いはない。

・IGHASHGPUのコマンド

ighashgpu.exe -h:B08B3E7097683AA3281C5A1E46FDE4EA -t:md5 -c:d -min:8 -max:8

アルファベット小文字のみ8 桁パスワード:dxylojts

 アルファベット小文字のみで構成されたパスワードは、Cainではスタートしてすぐの解析残り時間が約 8 時 間と出たため、そこでクラックは中止しているが、IGHASHGPUでは、23秒で解析が完了している。

・IGHASHGPUのコマンド

ighashgpu.exe -h:8DE60C08615D0B19624AA56FAC758289 -t:md5 -c:s -min:8 -max:8

アルファベット小文字+数字の8 桁パスワード:i0r7ja5k

 アルファベット小文字+数字のみの構成だが、こうしたパスワードを強固なパスワードだと思って設定してい るユーザーも少なくないだろう。Cainでは、スタートしてすぐの解析残り時間が約 4.6日と表示されたため、そ こでクラックは中止。  IGHASHGPUでは2分14 秒で解析が完了している。 ・IGHASHGPUのコマンド

ighashgpu.exe -h:924F5DFA0559925B26FDB1D63D6BBFE5 -t:md5 -c:sd -min:8 -max:8

図 3 Cain も IGHASHGPU もほんの数秒でクラック 完了 図 4 Cain は残り 8 時 間 に 対 して IGHASHGP は 23 秒でクラック完了 図 5 Cain は残り4.6日に 対してIGHASHGPは 2 分 14 秒でクラック完了

(5)

アルファベット小文字+大文字+数字の6 桁パスワード:vS1v3b

 桁数は6 桁と少ないので脆弱ではあるが、アルファベット小文字+大文字+数字を組み合わせて、辞書にな いようなランダムなパスワードである。Cainではスタートしてすぐのクラック残り時間、3時間弱という表示で クラックを停止しているが、IGHASHGPUでのクラックは、6 秒で完了している。

・IGHASHGPUのコマンド

ighashgpu.exe -h:F591311F1A761D11E06E44FD2B48E423 -t:md5 -c:csd -min:6 -max:6

アルファベット小文字+大文字+数字+記号の6 桁パスワード:(3%4Ku

 このパスワードも桁数は少ないのでとても脆弱だが、アルファベット小文字+大文字+数字+記号の組み合 わせだ。これはパスワードの作成時に「この組み合わせで作成するのが良い」と言われる文字種別の組み合わ せではある。  Cainではスタートしてすぐのクラック残り時間は、丸1日ちょいという表示で作業自体を停止。IGHASHGPU でのクラックは、16 秒で完了した。 ・IGHASHGPUのコマンド

ighashgpu.exe -h:3E21B68438D8229F62621BBECB9D37F0 -t:md5 -c:csde -min:6 -max:6

テスト結果について

 今回のテストは時間の関係もあって、厳密なテ ストではなく、CPUと比べてどの程度の違いがあ るかを簡易的に比較している程度にとどめている。  また、アルファベット・数字・記号を組み合わせ たパスワードクラックも当初は8 桁でテストして いたのだが、IGHASHGPU+HD6970でも8 桁だ とGPU温度が90度を超えたことや数時間かかり そうな状況だったため、テスト時間短縮のために6 桁としている。  ただし、次回にチャンスがあるのならば、パ スワードの種類も各10 種類くらい、また桁数も 6/8/10/12桁くらいでテストしたいところである。  しかしながら、ショボイCPUをテスト対象として いるということもあるものの、圧倒的な速度の違 いを見せつけられたといってもよいだろう。  これまでのブルートフォースアタックであれば、 ある程度の桁数があり、複数の文字セットが使わ れていれば、クラッキングまでに数百日などどい う残時間が表示されて、現実的ではなかったが、 GPGPUによって、パスワードクラッキングの速度 が現実的なものに近づいてきていることは間違い ないようだ。 図 6 Cain は残り 3 時間 に 対 して IGHASHGP は 6 秒でクラック完了 図 7 Cain は 残り丸 1 日 強 に 対 して IGHASHGP は 16 秒でクラック完了

(6)

 hashcat-gui はWindows および Linux(い ずれも32/64bitともにサポート)で動 作す るパスワードリカバリツールで、CPU、GPU (OpenCL・CUDAをサポート)いずれも利用で きる。今回テストで利用しているグラフィック カード・HD6970は、前述した現バージョンの IGHASHGPUで は MD4/MD5 の み の 限 定 的 な利用しかできなかったが、hashcat-guiで はその他のハッシュにも対応している(MD4、 MD5、SHA1、DCC、MySQLなど)。また辞書 アタック可能で、より細かな設定もできる。  h as h c at- g u i は、CUI の h as h c at や oclHashcat、oclHashcat-plus などを統合し てGUIからクラックを指定できるもので、実 行するとコマンドプロンプトが表示され、解 析が開始される仕組みとなっている。  hashcat-gui は、単 純なものは別として、 詳細な設定を行いたい場合には、直感的な操 作だけでは理解しづらい部分があり、使用す るにはオプションの理解など、若干の習得が 必要だ。  コマンドラインでヘルプを参照したり、オ フィシャルサイトでダウンロード可能なUser Manual(GUIバージョンは今のところない)な どを参考にしながら使用するといいだろう。

OS 環境+使用しているGPUを

  選択して利用を開始する

 hashcat-gui(ここでは v0.4.4 を使用)を展 開 すると、hashcat-gui32.bin、hashcat-gui32. exe、hashcat-gui64.bin、hashcat-gui64.exeの 4ファイルが存在するので、自身の使用している OS 環境に合わせて、32bit か 64bit の exeファイ ルを実行する。  起 動時には、図 8 のようにCPUを使うのか、 CUDA(Nvidia)か、OpenCL(ATI)か、を選択する ウインドウが表示されるので、自身の環境に合わ せてボタンをクリックする。   図 9 が メ イ ン 画 面 で あ る。 上 記 タ ブ に 「cudaHashcat」や「oclHashcat」などのタブが表 示されるので、GPUを利用したクラッキングを行 う場合には、これらのタブを選択すればよい。  同 様に、タブにある「cudaHashcat-plus」お よび「oclHashcat-plus」は、辞書攻撃を専門と したクラッカーで、「cudaHashcat-lite」および 「oclHashcat-lite」はブルートフォースアタッカー である。  複数のハッシュを辞書やブルートフォースで クラックする際 には、「cudaHashcat」や「ocl-Hashcat」を選択し、辞書攻撃やブルートフォース で、シングルハッシュなどのクラックをしたい場合 には、plusやliteを選択するといった使い分けが できる。

GUIで使用可能なhashcat-guiを使ってみよう

図 8 ユーザーの環境に合わせて、32bit か 64bit の exe ファイル を実行し、CUDA(NVIDIA)か、OpenCL(ATI)を選択できるよう になっている

図 9 hashcat-gui のメイン画面。上部にあるタブを切り替えて使用 できる

(7)

oclHashcat-liteや

  oclHashcat-plusから使ってみよう

  はじ めて使 う場 合 に は、oclHashcat-lite や oclHashcat-plusから試してみるといいだろう。 例えば、図10 はoclHashcat-liteを使用した例で ある。pass1234wordというパスワードをMD5 ハッシュとして生成したものをクラックしている 例である。  Hashにハッシュ値を入れるのはいいとして、そ の 下 段 の MASK にチェック を 入 れて、「?l?l?l?l 1234?l?l?l?l」と記述しているのは、パスワードマ スクとして、文字列の小文字(英)の 4 桁を前後で (?l?l?l?l)また、真ん中の1234は事前にわかって いるものとして指定している。同じように、文字 列の指定(Charsets)なども行える。  文字列のオプションについては、Charsetsへマ ウスを持っていくとヘルプとして、文字列のオプ ション指定方法が表示されるので、これらを参考 にするか、マニュアルを参照して理解を深めると よいだろう。  Password Lengthはパスワードの長さの指定で、 またOutputはクラックしたパスワードの出力の 指定だ。  Resourcesでは、GPUの温度設定(デフォルト は90度)やデバイスの選択などの設定が行える。  実際に実行すると、②のような画面が表示さ れ、sを入力すると解析状況が示される。クラック に成功すると、指定したアウトプットファイルにク ラックされたパスワードが出力される(③)。

oclHashcat-plusの使用例

 同様にして、oclHashcat-plusも使ってみよう。 前述したように、oclHashcat-plusは辞書アタック 専用クラッカーである。基本的な使用方法は、ク ラックしたいハッシュテキストを読み込むか直接 記述(シングルハッシュ)し、辞書を指定してクラッ クを開始するだけである(ルールの指定も可能)。 hashcat-gui のディレクトリにあるoclHashcat-plusの中にサンプル辞書やサンプルルールなどが あるので、これらを利用したり参考にするといいだ ろう。

oclHashcatで複数のハッシュを

  高速クラック

 oclHashcat-liteとoclHashcat-plusを使った後 であれば、oclHashcatの画面も若干わかりやすく MD5 のハッシュクラックの例。マスクの指定やパスワー ドの長さ、出力ファイルの指定など、それほど多くのオ プションはない 「Start」ボタンをクリックすると図のような DOS 画 面が表示される。ここで「s」とタイプすると解析 状況などが表示される クラックに成功するとパスワードが 出力される

1

3

2

    oclHashcat-liteを使ってみよう

図10

(8)

なっているだろう。  oclHashcatでは、これまでと同様にして、ハッ シュを指定(ハッシュファイルで)し、ハッシュタイ プ、パスワード左側・右側、それぞれの辞書やマス クの指定、またオプションで文字列やルールなど を指定してクラッキングを行うことができる。  hashcat-guiはCainに比べればわかりにくい点 が多いが、高機能で高速なパスワードクラッキン グが可能なフリーツールとしては、おさえておきた いところだ。今回はページの都合上、駆け足での 紹介しかできなかったが、またの機会があれば、オ プションの設定などについて解説したい。 クラックしたいハッシュテキストを読み込むか直接記述、 辞書を指定してクラックを開始する 複数のハッシュを辞書ファイルとブルートフォースで解析 する クラックに成功したパスワード 図では NTLM ハッシュをクラックを選択。進捗状況もパー セント表示される クラックに成功するとパスワードが 出力される

1

1

2

2

3

    oclHashcat-plusを使ってみよう

    oclHashcatで複数のハッシュをクラックしてみる

図11

図12

図 8 ユーザーの環境に合わせて、32bit か 64bit の exe ファイル を実行し、CUDA(NVIDIA)か、OpenCL(ATI)を選択できるよう になっている

参照

関連したドキュメント

Internet Explorer 11 Windows 8.1 Windows 10 Microsoft Edge Windows 10..

SUSE® Linux Enterprise Server 15 for AMD64 & Intel64 15S SLES SUSE® Linux Enterprise Server 12 for AMD64 & Intel64 12S. VMware vSphere® 7

Also, for the sake of comparison we give the probability density functions of the terminal wealth of portfolios managed by the pure bond strategy, whose fraction of wealth invested

MPIO サポートを選択すると、 Windows Unified Host Utilities によって、 Windows Server 2016 に含まれている MPIO 機能が有効になります。.

ESET Server Security for Windows Server、ESET Mail/File/Gateway Security for Linux は

An important new aspect of the results in [ 12 ] is that they enable one to obtain uniqueness of stationary distributions for stochastic delay differential equations when the

本資料は Linux サーバー OS 向けプログラム「 ESET Server Security for Linux V8.1 」の機能を紹介した資料です。.. ・ESET File Security

'BOM for Windows Ver.8.0 インストールマニュアル'では、BOM for Windows