「Pass the Hash」の版間の差分
(ページの作成:「<!-- vim: filetype=mediawiki --> Pass the Hash (Pass-the-Hash)とは、ハッキングテクニックの1つです。攻撃者は、通常、平文のパス...」) |
|||
行16: | 行16: | ||
このテクニックは、[[LMハッシュ]] / [[NTLMハッシュ]] 認証を受け入れる [[Windows]], [[Unix]], その他の[[OS]] が動作しているマシンのサーバ/サービス に対して有効です。 | このテクニックは、[[LMハッシュ]] / [[NTLMハッシュ]] 認証を受け入れる [[Windows]], [[Unix]], その他の[[OS]] が動作しているマシンのサーバ/サービス に対して有効です。 | ||
+ | |||
+ | == ハッシュの収集 == | ||
+ | |||
+ | 攻撃者は、[[Pass the Hash]] 攻撃を実行する前に、ターゲットのユーザアカウントの[[ハッシュ化されたパスワード]] を入手しなければなりません。ペネトレーションテスター/攻撃者は、多くの異なる方法を用いて、[[ハッシュ化されたパスワード]] を入手できます。 | ||
+ | |||
+ | * [[ハッシュ]]/クレデンシャルは、マシンの管理者権限レベルのユーザによって [[SAMデータベース]] からダンプできます。[[ハッシュ]]/クレデンシャルのキャッシュは、[[システム管理者]] によって無効かできますので、この方法は、いつも使えるわけではありません。 | ||
+ | * ローカルユーザアカウントデータベース ([[SAMデータベース]]) をダンプします。このデータベースは、乗っ取った特定のマシンのローカルユーザアカウントだけを持っています。例えば、ドメイン環境において、マシンの[[SAMデータベース]]は、ドメインユーザを含んでいません。 | ||
+ | * クライアントとサーバ間の [[LMハッシュ]] と [[NTLMハッシュ]] のチャレンジレスポンスの対話を[[スニッフ]]し、キャプチャした暗号化されたハッシュを[[総当たり攻撃]]します。 | ||
+ | * [[Windows]] の [[lsass.exe]] プロセスのメモリに格納されている認証されたユーザのクレデンシャルをダンプします。この方法でのクレデンシャルのダンプは、[[RDP]] を通じてログインしているような、ドメインのユーザ/[[システム管理者]] を含んでいます。このテクニックは、乗っ取ったコンピュータのローカルではないユーザアカウントのクレデンシャルを取得できます。 | ||
+ | == 対策 == | ||
+ | いくつものプロトコルで([[SMB]], [[ftp]], [[rpc]], [[HTTP]] など)使われる [[LMハッシュ]] / [[NTLMハッシュ]] を使っているシステムは、この攻撃のリスクにさらされています。この[[エクスプロイト]]から防衛するのは、非常に難しいです。[[Windows]] には、いくつもの[[エクスプロイト]] と攻撃者が[[権限昇格]]して[[ハッシュ]]を収集することに利用できる [[Windows]]で実行されているアプリケーション があります。 | ||
+ | その上、Windows ドメインのマシンが正しく設定されていなかったり、攻撃者がに利用されるセキュリティパッチがちゃんと適用されていないことがあります。幅広いペネトレーションテストツールは、マシンの弱点を発見する手順が自動化されています。 | ||
+ | |||
+ | この攻撃に対して、1つの防衛策はありません。標準的な[[多層防御]]が必要です。例えば、[[ファイアーウォール]]、[[IPS]] ([[侵入防止システム]])、[[IEE 802.1x]] 認証、[[IPsec]]、[[ウイルス対策ソフト]]、完全な[[ディスク暗号化]]、[[権限昇格]]できる人の数を減らすこと、積極的なパッチの提供なのです。 | ||
+ | |||
+ | [[Windows]] のクレデンシャルキャッシュの防止は、メモリから[[ハッシュ]]を入手しようとする攻撃者を制限します。攻撃を実行したときにマシンにログインしているターゲットアカウントだけに絞られます。乗っ取られた、もしくは、信頼できないシステムにログインするドメインの[[システム管理者]] は、[[システム管理者]]の[[ハッシュ]]が攻撃者の対象になるシナリオを許してしまいます。 | ||
+ | 信頼できる[[ドメインコントローラー]]にドメインの[[システム管理者]] がログインを制限することにより、攻撃者の機会を制限できます。[[最小権限の原則]] ( Principle of least privilege, POLP) は、ユーザは、タスクに必要な最低限の権限異常のアカウントを持たない、最小限のユーザアクセスのアプローチを提案します。 | ||
+ | [[LMハッシュ]] / [[NTLMハッシュ]] を使用しないように設定されたシステムは、セキュリティが協力ですが、新しいエクスプロイトが、[[kerberos]] チケットにあります。システムのデバッグ権限のスコープを制限することで、センシティブなプロセスのメモリから[[ハッシュ]]を盗もうとする[[コードインジェクション]]のいくつかの攻撃を無効化できるでしょう。 | ||
== 関連項目 == | == 関連項目 == |
2013年8月25日 (日) 22:00時点における版
Pass the Hash (Pass-the-Hash)とは、ハッキングテクニックの1つです。攻撃者は、通常、平文のパスワードユーザが要求されるケースで、パスワードの代わりにパスワードのNTLMハッシュ や LMハッシュを使用して、リモートのサーバやサービスを認証します。
読み方
- Pass the Hash
- ぱす ざ はっしゅ
- Pass-the-Hash
- ぱす ざ はっしゅ
概要
攻撃者は、有効なユーザ名とハッシュ化されたパスワードを取得(他の方法やツールを使用して取得する)した後で、平文パスワード を得るために、ハッシュ に対する総当たり攻撃( brute-force) なしに、LMハッシュ / NTLMハッシュ を利用して、リモートのサーバ/サービスの認証に使用します。 攻撃者は、ソルトが利用されていないハッシュ化されたパスワードの認証プロトコルの脆弱な実装を悪用します。 その結果、パスワードが変更されるまでセッションは、固定化された形式のセッションのままです。
このテクニックは、LMハッシュ / NTLMハッシュ 認証を受け入れる Windows, Unix, その他のOS が動作しているマシンのサーバ/サービス に対して有効です。
ハッシュの収集
攻撃者は、Pass the Hash 攻撃を実行する前に、ターゲットのユーザアカウントのハッシュ化されたパスワード を入手しなければなりません。ペネトレーションテスター/攻撃者は、多くの異なる方法を用いて、ハッシュ化されたパスワード を入手できます。
- ハッシュ/クレデンシャルは、マシンの管理者権限レベルのユーザによって SAMデータベース からダンプできます。ハッシュ/クレデンシャルのキャッシュは、システム管理者 によって無効かできますので、この方法は、いつも使えるわけではありません。
- ローカルユーザアカウントデータベース (SAMデータベース) をダンプします。このデータベースは、乗っ取った特定のマシンのローカルユーザアカウントだけを持っています。例えば、ドメイン環境において、マシンのSAMデータベースは、ドメインユーザを含んでいません。
- クライアントとサーバ間の LMハッシュ と NTLMハッシュ のチャレンジレスポンスの対話をスニッフし、キャプチャした暗号化されたハッシュを総当たり攻撃します。
- Windows の lsass.exe プロセスのメモリに格納されている認証されたユーザのクレデンシャルをダンプします。この方法でのクレデンシャルのダンプは、RDP を通じてログインしているような、ドメインのユーザ/システム管理者 を含んでいます。このテクニックは、乗っ取ったコンピュータのローカルではないユーザアカウントのクレデンシャルを取得できます。
対策
いくつものプロトコルで(SMB, ftp, rpc, HTTP など)使われる LMハッシュ / NTLMハッシュ を使っているシステムは、この攻撃のリスクにさらされています。このエクスプロイトから防衛するのは、非常に難しいです。Windows には、いくつものエクスプロイト と攻撃者が権限昇格してハッシュを収集することに利用できる Windowsで実行されているアプリケーション があります。 その上、Windows ドメインのマシンが正しく設定されていなかったり、攻撃者がに利用されるセキュリティパッチがちゃんと適用されていないことがあります。幅広いペネトレーションテストツールは、マシンの弱点を発見する手順が自動化されています。
この攻撃に対して、1つの防衛策はありません。標準的な多層防御が必要です。例えば、ファイアーウォール、IPS (侵入防止システム)、IEE 802.1x 認証、IPsec、ウイルス対策ソフト、完全なディスク暗号化、権限昇格できる人の数を減らすこと、積極的なパッチの提供なのです。
Windows のクレデンシャルキャッシュの防止は、メモリからハッシュを入手しようとする攻撃者を制限します。攻撃を実行したときにマシンにログインしているターゲットアカウントだけに絞られます。乗っ取られた、もしくは、信頼できないシステムにログインするドメインのシステム管理者 は、システム管理者のハッシュが攻撃者の対象になるシナリオを許してしまいます。 信頼できるドメインコントローラーにドメインのシステム管理者 がログインを制限することにより、攻撃者の機会を制限できます。最小権限の原則 ( Principle of least privilege, POLP) は、ユーザは、タスクに必要な最低限の権限異常のアカウントを持たない、最小限のユーザアクセスのアプローチを提案します。 LMハッシュ / NTLMハッシュ を使用しないように設定されたシステムは、セキュリティが協力ですが、新しいエクスプロイトが、kerberos チケットにあります。システムのデバッグ権限のスコープを制限することで、センシティブなプロセスのメモリからハッシュを盗もうとするコードインジェクションのいくつかの攻撃を無効化できるでしょう。