Pass-the-Hash attack

映画では、ハッカーは通常、数回のキーストロークを入力して、ネットワーク全体へのアクセスを数秒で取得します。しかし現実の世界では、攻撃者はしばしば低レベルのユーザー アカウントから始めて、ネットワークを乗っ取るための追加の権限を取得しようとします。

これらの特権を取得するために一般的に使用される方法の 1 つは、pass-the-hash 攻撃です。

パスワード ハッシュの舞台裏

pass-the-hash 攻撃がどのように機能するかを理解するには、まずパスワード ハッシュがどのように使用されるかを理解する必要があります。

システムにパスワードを割り当てても、そのパスワードは実際にはシステムに保存されません。代わりに、オペレーティング システムは数式を使用してパスワードのハッシュを計算します。ハッシュは保存されるものであり、実際のパスワードではありません。

システムにログインすると、認証エンジンは同じ数式を使用して、入力したパスワードのハッシュを計算し、保存されているハッシュと比較します。 2 つのハッシュが互いに一致する場合、パスワードは正しいと見なされ、アクセスが許可されます。

ここで重要なことは、システムに関する限り、ハッシュはパスワードであるということです。

システムにアクセスしようとする攻撃者は、必ずしもユーザーのパスワードを知っている必要はありません。システム内にすでに保存されているパスワード ハッシュにアクセスする必要があるだけです。ハッカーの観点からは、パスワード ハッシュにアクセスできることは、パスワードにアクセスできることと本質的に同じです。

パスワード ハッシュは、パスワードを保護するために一般的に使用される手法ですが、すべてのパスワード ハッシュ テクノロジが同じというわけではありません。 この記事では、主な 3 種類のパスワード ハッシュ手法と、Active Directory が使用している手法を変更する方法について概説します

ハッシュが危険にさらされるとどうなるか

前述のように、ネットワークを乗っ取ろうとするサイバー犯罪者は通常、基本的なユーザー アカウントを最初の侵入ポイントとして使用します。盗んだ資格情報をダーク Web から購入したり、パスワードを盗むマルウェアにユーザーを感染させたり、その他のさまざまな手法を使用してユーザーのパスワードを取得したりする可能性があります。

ハッカーが低レベル ユーザーのパスワード (ハッシュではなく実際のパスワード) にアクセスできるようになると、次の優先事項はそのユーザーとしてログインし、アクセス許可を昇格させる方法を探すことです。ここで、ハッシュ攻撃の出番です。

Windows OS での Pass-the-hash の普及

Pass-the-hash 攻撃はさまざまなシステムで使用できますが、最も一般的な標的は Windows システムです。 Windows が好まれるターゲットである理由は、Windows システムには、そのシステムにログインしたことのあるすべての人のパスワード ハッシュが含まれているためです。ユーザーがローカルでシステムにログインしているか、RDP セッションを使用しているかは問題ではありません。それらのハッシュは引き続きシステムに保存されます。

ハッカーがシステムにログインすると、管理者がある時点でログインしたことを期待して、存在する可能性のあるパスワード ハッシュをシステムで検索します。管理者レベルのハッシュが存在しない場合、ハッカーは、盗んだパスワード ハッシュを使用して他のすべてのワークステーションにログインし、そのパスワード ハッシュを抽出するハッシュ スプレー攻撃を実行します。

最終的に、攻撃者は管理者レベルのハッシュを含むシステムを見つける可能性があります。そのハッシュを使用して、ドメイン コントローラー、アプリケーション サーバー、ファイル サーバー、およびその他の機密リソースにアクセスできます。

ネットワークで pass-the-hash 攻撃を防ぐための 5 つのステップ

残念ながら、pass-the-hash 攻撃は、通常のオペレーティング システムの認証メカニズムに依存しているため、検出が困難です。そのため、pass-the-hash 攻撃が成功しないように対策を講じることが重要です。 pass-the-hash 攻撃が成功する確率を下げるためにできることがいくつかあります。

  1. 特権アカウントでワークステーションにログインしない

    何よりもまず、特権アカウントを使用してワークステーションにログインしないでください。これには RDP セッションが含まれます。攻撃に対して強化された専用の管理ワークステーションをセットアップし、それらのワークステーションからのみ特権操作を実行することをお勧めします。

  2. Windows Defender Credential Guard を有効にする

    Windows 10 および 11 には、 Windows Defender Credential Guard というツールが含まれています。このツールを有効にすると、ハードウェア レベルの仮想化を使用して、ローカル セキュリティ機関サブシステム サービスがサンドボックス環境で実行されます。この単純なアクションにより、システムは pass-the-hash 攻撃に対する耐性が大幅に向上します。

  3. 最小限のユーザー アクセスの原則を適用する

    最小限のユーザー アクセスの背後にある主な考え方は、ユーザーが自分の仕事を行うために特に必要な権限以外の権限を持ってはならないということです。最小限のユーザー アクセスを使用しても pass-the-hash 攻撃を防ぐことはできませんが、攻撃者が 1 つ以上のアカウントを侵害した場合の被害を最小限に抑えることができます。

  4. ファイアウォールを使用して不要なトラフィックをブロックする

    エンド ユーザー デバイスは、ドメイン コントローラー、ファイル サーバー、およびその他の基幹業務システムへのアクセスを必要とする可能性があります。ただし、あるワークステーションが別のワークステーションにアクセスする必要があることはまれです。ファイアウォールを使用してワークステーション間のトラフィックをブロックできる場合は、パス ザ ハッシュ攻撃を成功させるために必要な横方向の移動を行う攻撃者の能力を低下させることができます。

  5. Specops Password Auditor を使用してパスワードヘルスにアクセスする

    攻撃者が pass-the-hash 攻撃を開始するには、最初のエントリ ポイントが必要です。これは通常、盗まれた資格情報の形で発生します。 Specops Password Auditor と呼ばれる無料のツールは、リスクのあるアカウントが危険にさらされる前に特定するのに役立ちます。

Specops Password Auditor は、ユーザーのパスワードが安全なパスワードの業界標準に準拠していることを確認するだけでなく、ユーザーのパスワードを侵害されたことがわかっているパスワードのリストと比較することもできます。そうすれば、そのようなアカウントが悪用される前に、パスワードの変更を強制できます。

Specopsによる後援および執筆