Cain and Abelであらゆる パスワードを奪取せよ!

商用製品にも引けを取らない多機能パスワードクラッカー
実践
Cain and Abelであらゆる
3 パスワードを奪取せよ !
文● TTS
Cain & AbelはWindows GUIで動くパスワードクラッカー。貧者のL0phtCrackと称
されるその機能は、Windowsのログオンパスワードのクラックをはじめ、スニッフィングに
よるパスワード取得、さらには無線LANアクセスポイントのWEPキー解析など実に多彩だ。
定番パスワードクラッカー “Cain & Abel”
Cain & Abel は、クラッカーにとってはすでに
UDP Table を参照できるようにしたり、NT Hashes
定番ともいえるパスワードクラッキングツールだ。
Windows の GUI で操作できることもあり、初心者
Dumper を利用して Windows のログオンパスワード
をクラッキングするといったことを可能にする。 具体
や CUI が苦手なユーザーなどでも簡単に使用できる。
的な例は後述するのでそちらを参照してほしい。
Cain & Abel でのパスワードの取得は、単純に
ローカル環境(ハードディスク)に保存されているア
カウント情報から、暗号化パスワードやハッシュ値を
ブルートフォースや辞書でクラックする機能、そして
Cain & Abel の Windows 7 への対応だが、原
ネットワーク上をスニッフィングおよび中間者攻撃す
ることでアカウント情報を取得するといった機能が備
わっている。
稿執筆時点の最新バージョン v4.9.35 でオフィシャ
ルサイトのダウンロードページには、「Cain & Abel
v4.9.35 for Windows NT/2000/XP」としか記載
具体的な例をいくつか挙げると、Outlook Express
や Windows Mail に保存されたメールアカウント、
されていないものの、Windows Vista や Windows
7 上でも問 題なく動 作するようだ。 最 新 版では、
IE で保存した Web サイトアカウント、Windows の
ログオンパスワードや MD5 ハッシュ値などのクラッ
キング、POP3/HTTP/FTP/SMB といった暗号化
されていない各種サービスアカウントと中間者攻撃
NTLM hashes Dumper や Wireless Password
Decoder などの 64 ビット OS への対応、Windows
7 上の Windows Live Mail アカウント取得に対応し
たことなどが記載されており、念のため、Windows
を利用することで HTTPS/POP3S/FTPS などのア
カウントを取得するといったこともできる。
また、別途 AirPcap(無線 LAN パケットキャプ
チャーデバイス)を使用することで、無線 LAN アク
7 Ultimate 64 ビット版上でも Cain & Abel の簡単
な動作チェックを行ったが、クライアントとしての基
本的な動作は問題なかった。ただし、これはターゲッ
トとしてのテストではない。今回の記事でのターゲッ
セスポイントのパケットインジェクションからWEP キー
クラックまでの一連の操作を行うことも可能だ。
トはユーザー数の多い Windows XP に限定してい
るのでその点に注意してほしい。
Cain と Abel、 それぞれの役割
Windows 7 への対応状況は?
インストールも簡単
Cain & Abel はその名前のとおり2 つのプログラ
ムから構成されており、Cain がメインプログラムとし
て、GUI でのパスワードクラッカーやスニッファーな
Cain & Abel の導入(インストール)には難し
い点はない。 基 本 的にインストーラーにしたがっ
て進んでいけばよいだけだ。Cain & Abel のイン
どとして機能する。Abel は、バックグラウンドのプ
ストールが完了すると、続いてパケットドライバー、
ログラム(NT サービス)として別途組み込むことで、 WinPcap のインストールが開始されるので、すでに
ローカルおよびリモートからのシェル(コマンドプロン
WinPcap がインストールされている場合を除き、こ
プト)操作や Route Tables の編集、そして TCP/
ちらも併せてインストールする。
206
イン ストー ル 完 了 後 に Cain を 起 動 す ると
「Windows ファイアウォールが有効だと、Cain の
いくつかの機能が正常に動作しない」といった警告
が表示されることがあるが、これは v4.9.35 で新たに
追加された検出機能で、Windows ファイアウォール
Windows ファイアウォールが有効な場合、図のような警告が
を無効にすれば出なくなる。
出る
Cain & Abel の基本機能
Cain のメイン画面が下の図である。はじめて利用
クして左ペインの中からクラックしたいパスワードの
する場合には若干わかりづらいかもしれないが、ツー
ルバーの下部にあるタブを切り替えることで、各機
種別を選択する。一例として、MD5 ハッシュ値をク
ラックしてみよう。
能を利用することができる。
例としてクラックする MD5 ハッシュは Tools メ
ここで は、Cain の ベ ーシックな 機 能 である、
Password Decoders、Password Crackers、Sniffer
ニューにある Hash Calculator で生成できるので、
これを使用して「1111」などの簡単なものにして
の 3 つの操作方法について簡単に解説しておこう。
おけばいいだろう。生成された MD5 ハッシュ値をコ
ピーして、左ペインの MD5 Hashes を選択。次に、
Password Decoders
ハードディスク内に保存されているアカウント情
報などを取得する場合には「Decoders」タブのま
ま、目的とするパスワード種別を選択する。 仮に IE
右ペインを右クリックしてメニューから「Add to list」
→ハッシュ値をペーストする。リストに現れた MD5
ハッシュ値を右クリックして、辞書アタックやブルート
フォースアタックなどを選択してクラッキングを行う。
で保存したパスワードを取得したいのであれば、IE7
Passwords を選択し、ツールバーの「+」アイコン
をクリックすると保存されたアカウント情報が表示される。
Windows 7 の場合には同様の操作をしても表示
スニッファーをはじめてテストする場合には自身の
パスワードを取得してみるとわかりやすい。スニッフィ
されないが、
「Credential Manager」を選択して「+」
アイコンをクリックすると、Web サイトや Windows
Live のアカウントなど、資格情報コンテナに保存さ
れた情報(コントロールパネル→資格情報マネー
ングを行うには、あらかじめ Configure メニューの
Sniffer タブで利用する NIC を選択しておく。次に、
「Sniffer」タブをクリックし、下部に出現するタブの
中から
「Passwords」を選択する。あとはツールバー
ジャー)が閲覧できる。
のスニッファーボタンをクリックすればスニッフィング
が開始される。メールクライアントや FTP クライアン
トなど暗号化されていない通信でテストすると、左ペ
インの「FTP」や「POP3」などの数字が増えパスワー
ドが取得できているはずだ。
Password Crackers
パスワードクラッカーは「Crackers」タブをクリッ
クラック可能なパス
ワードやプロトコル
などタブごとに異な
る内容が表示される
左ペイン
Sniffer
機能を切り替えるタブ
パスワードの解析結果
などが表示される右ペ
イン
Cain のメイン画面。ツールバーの下部にあるタブを切り替えることで、各機能へアクセスできる
207
Cain で Windows ログオンパスワードをクラックする
では、実践的に Cain & Abel を使用する例をい
くつか紹介していこう。はじめに Windows ログオン
使い方は簡単なので割愛するが、これで管理者とし
てのログオンが可能になる。続いて Cain で、前述
パスワードが設定されている Windows XP へログオ
した Password Crackers を使用して他ユーザーの
ンし、そのコンピューターに設定されたユーザーのパ
パスワードクラックを開始する。
スワードをクラックするというシナリオだ。ここでは実
際のクラッキングを想定して別のツールも併用した例
「Cracker」
タブをクリックし、
左ペインから
「LM&NTML
Hashes」を選択し、ツールバーの「+」アイコンでハッ
を示す。自分だったらどのように侵入するかを考えて
みるのもおもしろいだろう。
シュを追加する。「+」アイコンをクリックするとデフォ
ルトでは「Import Hashes from local system」が
Password Crackersを使用して
ログオンパスワードをクラッキング
はじめに管理者権限で Windows へログオンする
選択されているが、ローカルから取り込むのであれば、
そのまま「Next」ボタンをクリックすればよい。
右ペインにハッシュが追加されたら、次にクラック
したいアカウントを右クリックしてクラックを開始する。
クラッキングは Brute-Force Password Cracker/
ために
「Offline NT Password & Registry Editor ※」
Dictionary Password Cracker/Cryptanalysis/
というツール(LiveCD)でブートし、Administrator
RainbowCrack-Online の 4 つから選択できる。
アカウントのパスワードをリセットする。このツールの
ブルートフォースアタックで Windows のログオンパスワードをクラックする
Offline NT Password でブートし Administrator アカウン
トのパスワードをリセット
「Cracker」
タブをクリックし、
左ペインから
「LM&NTLMHashes」
を選択し、ツールバーの「+」アイコンでハッシュを追加する。
ここでは User01 がターゲット
クラックしたいアカウントを右クリックしてクラックを開始する。 ブルートフォースアタックでクラッキングに成功した例。下の
ここではブルートフォースアタックを選択した
ウインドウにパスワードの「111111」が表示されている
※ Offline NT Password & Registry Editor http://pogostick.net/~pnh/ntpasswd/
208
Abel を使ってリモート PC のパスワードをクラックする
前ページでは、Windows ログオンパスワードが設
定されている Windows XP へログオンし、ユーザー
Abel の「NT Hashes Dumper」 を 利 用 す れ
ば、リモートコンピューターのハッシュを出力できるの
のアカウントパスワードをクラックした。続いて、その
で、前述したローカルコンピューター上でのクラッキ
コンピューターと接続されているローカルネットワーク
ングと同様にユーザーアカウントパスワードのクラッキ
上のリモートコンピューター(Windows XP)のユー
ザーアカウントをクラックしてみよう。
ングが可能になる。
なお、リモートコンピューターに Abel を組み込む
利用するのは冒頭で解説した Abel である。Abel
は、ネットワークで接続されたターゲットコンピューター
にはターゲットのコンピューターへ管理者権限を持つ
ユーザーとして接続できることが前提となる。
へリモートからインストールすることが可能だ。
Abel の NT Hashes Dumper を使ってリモート PC のパスワードをクラックする
Cain の「Network」タブをクリックして、Entire
接続が完了したら「Services」を右クリックして Abel をイ
Network にある Microsoft Windows Network
のワークグループを展開。ローカルネットワーク上
ンストール
のターゲットとなるコンピューターを選択する
インストールが完了するとターゲットコンピューターに新たに
Hashes をクリックして出力されたハッシュのアカウントを
Abel のメニューが追加され、Console や Hashes、LSA
Secrets、Routes といったサブメニューが利用できるように
なる
選 択 し て、Send To Cracker も しく は、Send All To
Cracker で Cracker へ送る。あとはローカルコンピューター
上でのクラッキングと同様だ
209
ARPポイズニングでリモートPCのパスワードをゲットする
ターゲットの存在するローカルネットワークに侵入
できたのであれば、次に Cain のスニッファー機能を
せで得られた IP アドレスと MAC アドレスのマッピン
グはキャッシュされ、キャッシュされているノード宛の
利用して、ターゲットの利用するサービスのアカウン
通信では問い合わせは行わずに直接通信できるよう
トパスワードを入手する。このあたりはクラッカーの
になっている。
気持ちになってテストすることで、防御策を練る際の
参考になるはずだ。
ARP ポイズニングは、このキャッシュされた IP ア
ドレスと MAC アドレスのマッピングを新しいものに
Cain のスニッファー機能に関しては前述したとお
り NIC を指定して、スニッファーボタンをクリックす
書き換え、通信はクラッカーのコンピューターを介す
るようにしてしまう攻撃だ。ARP ポイズニングでター
ればよいのだが、これで取得できるのは、リピーター
ハブなどのように、1 つのポートから入力されたフレー
ゲットの通信経路に入り込めれば、スニッフィングだ
けでなく中間者攻撃もできるため、偽の証明書を用
ムをすべてのポートに中継するネットワーク環境だけ
いて SSL 通信のアカウント情報などを取得すること
だ。 現状では、入力されたフレームをすべてのポー
トへ送信するのではなく、そのフレームの宛先となる
や、DNS スプーフィング(偽の DNS 情報)するこ
とも可能になる。
ノードの MAC アドレスを確認し、該当するポートの
Cain では、ARP ポイズニングを行い、SSL 通
みにフレームを送信する「スイッチングハブ」の環境
信のアカウント情報を取得することもDNSスプーフィ
下がほとんであるため、リピーターハブと同様にすべ
ングを行うことも可能だ。つまり、Gmail などのよう
てのノードにパケットを中継する一部の無線 LAN ア
クセスポイントなど以外では攻撃に成功しない。
な SSL 通信アカウントを利用して安心しているユー
ザーのパスワードも取得できる可能性があるわけだ。
ARPポイズニングで
スニッフィングと中間攻撃を可能にする
ARPポイズン・ルーティングの設定と
ポイズニングの開始方法
そこで使われるのが ARP ポイズニングと呼ばれる
Cain を起 動して、「Sniffer」タブをクリックし、
手口である。
下部の「Hosts」タブを選択する。 次に「+」ボ
ARP プロトコルは、IP アドレスと MAC アドレス
を関連付けるために利用されるプロトコルで、例えば
ノード A の MAC アドレスをノード B が知りたい場合
に、ブロードキャストで MAC アドレスの問い合わせ
を行い、ノード A からの MAC アドレス応答で、B
タンでネットワーク上のホストをスキャンする(レン
ジ指 定も可 )
。 スキャンが完了したら「ARP」タ
ブをクリックし、右上のペインで+ボタンをクリック
し、クラッカーのコンピューターがデフォルトゲート
ウェイ(192.168.1.1)とターゲットクライアントを
は A の MAC アドレスを知ることができる。
しかし、このような問い合わせを通信のたびに行う
と無駄な通信が増えてしまうため、すでに問い合わ
中継するように設定を行う。ここでは、ターゲットを
「192.168.1.91-WindowsXP」としている。
設定が完了したら、ツールバーのスニッファーボタ
ユーザー 1 およびユーザー
2 のインターネット接続はク
インターネット
Web サーバー
中間者攻撃の例
ルーター
スウィッチングハブ
DNS Spoof
ARP Spoof
ユーザー 1
ユーザー 2
クラッカー
ラッカーのコンピューターを
経由するよう ARP テーブル
が改ざんされる。このため
DNS を改ざんして他のサー
バーへジャンプさせたり、偽
の SSL 証明書を利用した情
報の採取などが可能になる。
ARPポイズニングで通信をクラッカーのコンピューターを介するよう変更してしまう
210
ARP ポイズニングでリモート PC からパスワードを奪取する
ネットワーク上のホストをスキャンする
ターゲットの通信がクラッカーのコンピューターを中継するよ
うに設定する。スニッファーボタンの横にある APR ボタンを
クリックすればポイズニング開始だ
「Use Spoofed IP and MAC addresses」で詐称し、存
在を隠ぺいすることも可能だ。こちらは詐称前
こちらが詐称後。192.168.1.1 の MAC アドレスが変更さ
れていることがわかる
DNS スプーフィングもドメイン
名と IP アドレスを指定するだけ
で簡単に実行できる
ターゲットが SSL 通信でのアクセスを行うと APR-Cert へ自動的に偽の証明書が作
成され、ストアされる
ンの横にある APR ボタンをクリックすればポイズニン
グが開始される。
ターゲットの ARP テーブルのキャッシュを参照(コ
SSL通信のパスワードを取得できる
可能性もある
マンドプロンプトで「arp -a」)すると、クラッカーの
パソコンの MAC アドレスとともに 2 つ同じ MAC ア
ドレスが表示され攻撃がバレる可能性があるが、こ
れは、Configure の「ARP Poison Routing」にあ
る「Use Spoofed IP and MAC addresses」 を
ARP ポイズニングが成功し、ターゲットとゲートウェ
イの通信経路に入り込めれば、あとは放置しておけ
ばスニッフィングでターゲットのアカウント情報が入手
できる。暗号化されていない通信のアカウント取得は
「Sniffer」タブ→「Passwords」で確認できる。
使い、ネットワーク上に割り当てられていない IP アド
レスと偽造された MAC アドレスを使用するよう設定
すれば、ARP テーブルを確認しても MAC アドレス
が二重にならず、存在を隠ぺいすることができる。
前述したように Cain では、SSL 通信のアカウン
ト情報を取得することも可能だ。ARP ポイズニング
に成功していれば、特別な設定をしなくとも放置して
おけば、自動的に偽の証明書での中間者攻撃を行っ
てくれる。
211