はじめに
公式サイトによると、Cain & Abel は、Microsoft オペレーティング システム用のパスワード回復ツールです。 ネットワークのスニッフィング、Dictionary、Brute-Force、およびCryptanalysis攻撃を使用した暗号化されたパスワードのクラック、VoIP会話の録音、スクランブルされたパスワードの解読、ワイヤレス ネットワーク キーの回復、パスワード ボックスの公開、キャッシュされたパスワードの公開、およびルーティング プロトコルの分析により、さまざまな種類のパスワードを簡単に回復することができます。
最新バージョンはより高速になり、スイッチされたLANでのスニッフィングを可能にするAPR (ARP Poison Routing) や、Man-in-the-Middle (中間者) 攻撃など、多くの新機能が搭載されています。 このバージョンのスニッファーは、SSH-1やHTTPSなどの暗号化されたプロトコルを解析することもでき、幅広い認証メカニズムから認証情報を取得するためのフィルターも含まれています。 新バージョンには、ルーティング プロトコルの認証モニターやルート抽出器、すべての一般的なハッシュ アルゴリズムおよびいくつかの特定の認証に対する辞書およびブルートフォース クラッカー、パスワード/ハッシュ計算機、暗号解読攻撃、パスワード デコーダ、およびネットワークやシステム セキュリティに関連するあまり一般的ではないユーティリティも含まれています。
Who Should Use This Tool?
Cain & Abel は、ネットワーク管理者、教師、プロのペネトレーション テスト担当者、セキュリティ コンサルタント/専門家、フォレンジック スタッフ、セキュリティ ソフトウェア ベンダーにとって非常に便利なツールです。
必要なもの
Cain & Abel のセットアップを成功させるために必要なシステム要件は次のとおりです。
- 10MB以上のハードディスクの空き容量
- Microsoft Windows 2000/XP/2003/Vista OS
- Winpcap Packet Driver (v2.3以上)
- Airpcap Packet Driver (for passive wireless sniffer / WEP cracker)
インストール
まず、Cain & Abelをダウンロードする必要がありますので、ダウンロードページ www.oxid.it/cain.html にアクセスしてください。
ダウンロードしたら、Self-Installing executable package を実行し、インストールの指示に従います。
Cain の機能
ここでは、Cain がネットワーク侵入テストに最適なツールであることを示す、すべての機能のリストを紹介します。
保護されたストレージのパスワード・マネージャー | クレデンシャル・マネージャーのパスワード・デコーダ |
LSA Secrets Dumper | Dialup Password Decoder |
サービスマネージャー | APR (ARP Poison Routing) |
ルートテーブルマネージャー | ネットワークエニュメレーター |
SIDスキャナ | リモートレジストリ |
Sniffer | Routing Protocol Monitors |
Full RDP sessions sniffer for APR | Full SSH-セッションスニファー for APR |
Full HTTPS sessions sniffer for APR | Full |
POP3S sessions sniffer for APR | Full |
Full LDAPS sessions sniffer for APR | Certificates |
OUIフィンガープリントを備えたMACアドレススキャナ | プロミスキャスモードスキャナ |
ワイヤレススキャナ | PWLキャッシュパスワードデコーダ |
802.11キャプチャーファイルデコーダ | |
802.11キャプチャファイルのデコーダ | パスワードクラッカー |
Access (9x/2000/XP)データベースパスワードのデコーダ | 暗号解読攻撃 |
Base64パスワードデコーダ | WEPクラッカー |
Cisco Type-?7パスワードデコーダ | Rainbowcrack-のオンラインクライアント |
Cisco VPN Client Password Decoder | Enterprise Manager Password Decoder |
RSA SecurID Token Calculator | Hash Calculator |
TCP/UDP テーブルビューアー | TCP/UDP/ICMPトレースルート |
Cisco Config Downloader/Uploader (SNMP/TFTP) | Box Revealer |
Wireless Zero Configuration Password Dumper | Remote Desktop Password Decoder |
MSCACHE Hashes Dumper | MySQL Password Extractor |
Microsoft SQL Server 2000 Password Extractor | Oracle Password Extractor |
VNC パスワードデコーダ | シスキーデコーダ |
関連する定義
MAC: (Wikipediaより)「メディアアクセスコントロールアドレス(MACアドレス)とは、物理的なネットワークセグメント上の通信のために、ネットワークインターフェースに割り当てられた一意の識別子である。 MACアドレスは、多数のネットワーク技術と、イーサネットを含むほとんどのIEEE 802ネットワーク技術で使用されています。
MACアドレスは、多くの場合、ネットワークインターフェースカード(NIC)のメーカーによって割り当てられ、ハードウェア、カードの読み取り専用メモリ、またはその他のファームウェアメカニズムに格納されています。 メーカーが割り当てる場合、MACアドレスは通常、メーカーが登録した識別番号を符号化したもので、焼き付けられたアドレスと呼ばれることもあります。 また、イーサネットハードウェアアドレス(EHA)、ハードウェアアドレス、物理アドレスと呼ばれることもあります。 ネットワークノードには複数のNICがあり、NICごとに1つの固有のMACアドレスを持つことになります。
Sniffing:(ウィキペディアより)「パケットアナライザ(ネットワークアナライザ、プロトコルアナライザ、パケットスニファ、特定のネットワークタイプではイーサネットスニファ、ワイヤレススニファとも呼ばれる)は、デジタルネットワークまたはネットワークの一部を通過するトラフィックを傍受し、記録することができるコンピュータプログラムまたはコンピュータハードウェアの一部である。
ARP(ウィキペディアより) 「アドレス解決プロトコル(ARP)は、ネットワーク層のアドレスをリンク層のアドレスに解決するために使用される通信プロトコルであり、マルチプルアクセスネットワークにおいて重要な機能である。 ARPは1982年にRFC826で定義された。 インターネット標準規格STD37である。
使い方
さて、アプリケーションを起動したら、適切なネットワークカードを使用するように設定しなければなりません。複数のネットワーク カードを使用している場合は、スニファーに使用するネットワーク カードの MAC アドレスを知っておくとよいでしょう。ネットワーク インターフェイス カードの MAC アドレスを取得するには、次のようにします。
/p>
2- 次のコマンド「ipconfig /all」を記述します。
3- 目的のイーサネットアダプターのMACアドレスを決定してメモ帳に書き込み、CainアプリケーションでどのNICを選択するかを決定するのに使用します
メインメニューのConfigureをクリックします。 すると、設定ダイアログボックスが表示され、必要なネットワークインターフェイスカードを選択することができます。
さて、設定ダイアログのタブを見て、そのほとんどを簡単に見てみましょう。
[ARP] タブ:
このタブでは、ARP ポイズニング攻撃を実行するための ARP ポイズニング ルーティングを設定できます。ARP ポイズニング ルーティングとは、他のデバイスになりすまして被害者のコンピューターを騙し、そのデバイスに属するすべてのトラフィック (通常はルーターや重要なサーバー) を取得する攻撃です。
[フィルタとポート] タブ:
このタブには、最も標準的なサービスとそのデフォルト ポートが表示されています。
HTTP フィールド タブ
LSA Secrets dumper、HTTP Sniffer、ARP-HTTPS など、被害者が閲覧した Web ページから情報を解析する Cain の機能がありますので、ユーザー名とパスワードのフィールドを増やせば増やすほど、HTTP および HTTPS リクエストから HTTP ユーザー名とパスワードをキャプチャすることができます。 以下に例を示します。
次のクッキーは、認証のために「logonusername=」と「userpassword=」のフィールドを使用しています。
GET /mail/Login?domain=xxxxxx.xx&style=default&plain=0 HTTP/1.1
Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
リファラです。 http://xxx.xxxxxxx.xx/xxxxx/xxxx
Accept-Language: it
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; (R1 1.3); .NET CLR 1.1.4322)
Host: xxx.xxxxxx.xx
Connection: Keep-Alive
Cookie: ss=1; [email protected]; ss=1; srclng=it; srcdmn=it; srctrg=_blank; srcbld=y; srcauto=on; srcclp=on; srcsct=web; userpassword=パスワード; video=c1; TEMPLATE=default;
Traceroute Tab:
トレースルートとは、ソース マシンから宛先マシンに到達するまでにパケットが何ホップかかるかを単純に数えて、2点間のパスを決定する手法です。
Certificate Spoofing Tab:
このタブでは、証明書の偽装を行うことができます。From Wikipedia:
「暗号学において、公開鍵証明書(デジタル証明書またはアイデンティティ証明書とも呼ばれる)とは、デジタル署名を使用して公開鍵をアイデンティティ(人や組織の名前、住所などの情報)と結びつける電子文書である。
一般的な公開鍵基盤(PKI)スキームでは、署名は認証局(CA)のものになります。
一般的な公開鍵基盤(PKI)方式では、認証局(CA)の署名となりますが、信頼の輪(web of trust)方式では、ユーザー(自己署名証明書)または他のユーザー(エンドースメント)の署名となります。 いずれの場合も、証明書の署名は、身元情報と公開鍵が一緒になっていることを証明書の署名者が証明するものです」
単純に考えれば、送信先のサーバーに関する情報を持ったある種のデータ(暗号スイート & 公開鍵と証明書の所有者に関するその他の情報)が、この種のデータを作成することを許可された信頼できる企業(CA)によって暗号化されていると考えることができます。
Certificate Collector Tab:
このタブでは、それをリッスンするプロキシ IP とポートを設定することにより、サーバーとクライアントの間で行き来するすべての証明書を収集します。
Challenge Spoofing Tab:
ここでは、NTLM 認証パケットに書き換えるカスタム チャレンジ値を設定できます。 この機能は Cain のツールバーからすぐに有効にすることができますが、APR と共に使用する必要があります。 Cain が LM や NTLM ハッシュ、またはサポートされているプロトコルのあらゆる種類のパスワードをキャプチャすると、Cain はそれらを自動的に [クラッカー] タブに送信します。SAM ファイルをインポートする方法は次のとおりです:
ここに 4 つの NTLM と LM のハッシュがあり、次の画像のように表示されます:
そして、次の画像のように、すべての可能なパスワード テクニックが表示されます。
前の画像からわかるように、パスワード クラッキングに非常に効果的なテクニックにはさまざまな種類があります。それぞれの定義を見ていきましょう。
辞書攻撃:
Wikipediaより。 “辞書攻撃は、辞書と呼ばれる網羅的なリストに含まれるすべての単語を(あらかじめ用意された値のリストから)連続して試すという、的を絞った手法を用います。 辞書攻撃は、辞書と呼ばれる網羅的なリストに含まれるすべての単語を(あらかじめ整理された値のリストから)連続して試すというもので、ブルートフォース攻撃が大規模な鍵空間を体系的に探索するのに対して、辞書攻撃は成功する可能性の高い可能性のみを試すものです。 一般的に辞書攻撃が成功するのは、多くの人が短いパスワード(7文字以下)や、辞書に載っている単一の単語、または数字を付加するなどの単純で予測しやすい単語のバリエーションを選ぶ傾向があるからです。 しかし、これらは簡単に破ることができます。
Brute forcing attack:
Wikipediaより。 “
Wikipediaより:「暗号技術において、ブルートフォース攻撃(網羅的鍵探索)は、理論的にはあらゆる暗号化されたデータ(情報理論的に安全な方法で暗号化されたデータを除く)に対して使用可能な暗号解読攻撃である。 このような攻撃は、暗号化システムに他の弱点がある場合、それを利用することができない場合に利用されます。 この攻撃は、正しい鍵が見つかるまで、可能性のあるすべての鍵を系統的にチェックします。
暗号に使用されている鍵の長さによって、ブルートフォース攻撃が実際に可能かどうかが決まります。 鍵長がNビットの暗号は、最悪の場合2Nに比例し、平均ではその半分の時間で解読することができます。 ブルートフォース攻撃は、暗号化されたデータを難読化することで、攻撃者が暗号を解読したことを認識しにくくすることで、より効果的に行うことができます。
暗号化システムの強さの指標の 1 つは、攻撃者がそのシステムに対してブルートフォース攻撃を成功させるのに、理論的にどれだけの時間がかかるかということです」
暗号解読攻撃 (レインボー テーブルを使用):
Wikipedia より。 “レインボーテーブルとは、暗号ハッシュ関数を反転させるための事前計算されたテーブルであり、通常はパスワードハッシュをクラックするためのものである。 テーブルは通常、限られた文字セットからなる一定の長さまでのプレーンテキストのパスワードを復元する際に使用されます。 これは時空間トレードオフの実用的な例であり、試行ごとにハッシュを計算する場合には、少ないストレージを犠牲にしてより多くのコンピュータ処理時間を使用し、ハッシュごとに1つのエントリを持つ単純なルックアップテーブルと比較した場合には、より少ない処理時間とより多くのストレージを使用します。 ソルトを使用した鍵生成機能を使用すると、この攻撃は実行不可能になります。 レインボー テーブルは、Martin Hellman による以前のより単純なアルゴリズムを改良したものです。
レインボー テーブルの作成方法
レインボー テーブルを作成するツールは数多くあり、インターネット上にはすでに多くのレインボー テーブルが存在します。
ハッシュ アルゴリズム、パスワードの長さの最小値と最大値、そして最後にパスワードが使用する文字セットを選択する必要があります。
結論
Cain and Abel は、パスワード クラッキングで素晴らしい仕事をする強力なツールです。 ほとんどすべての種類のパスワードをクラックすることができ、通常は時間の問題です。