一般的なイメージでは、ハッカーは数回のキー入力とパスワード入力でネットワーク全体にアクセスできると描かれています。しかし実際には、攻撃者はまず低権限のユーザアカウントから始め、次第に権限を拡大してネットワークの支配を狙います。
Pass the hash攻撃は、こうした権限拡大を図るために日常的に利用される手法の一つです。
「ハッシュ化」されたユーザ資格情報がPtH攻撃により盗まれると、ハッシュを解読せずとも固有のPINが利用可能になります。攻撃者は、元のテキストPINにアクセスすることなく、またブルートフォース攻撃を行うことなく、不正なアカウント利用ができるのです。
ハッシュを取得した後、攻撃者は同一ネットワーク上に新たな認証セッションを作成します。さらに、パスワード自体が変更されてもハッシュが更新されないことが多いため、気づかれることなくネットワーク内を動き回る時間が長くなる恐れがあります。
サーバや個別のラップトップなどを乗っ取った後、サイバー犯罪者はネットワーク横断を行い、新たな情報や権限を探し出します。複数のアプリや機器、アカウントを経由して十分なハッシュを集め、ドメイン管理者などの高権限アカウントへのアクセスを試みるのです。PtH攻撃は、マルウェアやその他の遠隔ソフトを用いて実行されます。
PtH攻撃では、IAMシステムや一般的な情報セキュリティ慣行におけるハッシュの役割を理解することが必要です。ハッシュは、ある文字列を読めない暗号文に変換する数学的機能です。一方向関数であるため、ハッシュから元の文字列を取り出すことはできません。
パスワードの正当性確認には、ハッシュがよく利用されます。ログインするたびに同じハッシュ関数で確認がされ、生成されたハッシュが一致すれば認証が通ります。たとえば、パスワードが「Fido123」で(ちなみに、これは良いパスワードとは言えません)、そのハッシュが536498465とすると、直接「Fido123」を使用しても認証システムには適合しません。
ハッシュはパスワードを平文で保存しないため、プライバシー保護にも寄与します。システムには実際の「Fido123」は保存されず、シングルサインオン(SSO)システムでも使いやすさのためにハッシュが利用されます。ユーザがネットワークにログイン後、SSOはハッシュ化されたユーザ名とPINを使って認証を行います。
この仕組みは便利に見えますが、問題も存在します。攻撃者がハッシュを取得した場合、SSO環境においてユーザになりすまし、全権限でセッションを開始する可能性があるのです。
さらに、システムはリモートユーザがログインした際のハッシュを記録します。システム管理者がログインした場合、大切なハッシュが機器内に保存される可能性もあります。
いずれにしても、攻撃者は同じハッシュを複数のログインに再利用できます。もしアプリやコンピュータ間を自由に横断できれば、さらに多くのハッシュを採取する機会が生まれます。さらに、新しいシステムに有用なハッシュが予め保存されている場合、攻撃者はネットワーク内を横断し、最も重要なITシステムにまで侵入する可能性があります。
WindowsのNTLMやWindows Serverクライアントを利用している企業は、ゼロトラスト環境下でPtH攻撃の影響を受けやすいです。
MicrosoftのNTLMセキュリティ機能により、認められたユーザのみが機密リソースにアクセスでき、通信も非公開に保たれます。NTLMはチャレンジレスポンス方式でユーザを認証し、パスワードを求めずにネットワーク名とチャレンジ応答だけでログイン可能にしています。
しかし、NTLMにおけるパスワードのハッシュ化やソルト付けの方法には複数の問題が指摘されています。NTLMはパスワードに追加のランダム文字列(ソルト)を付加しないため、攻撃者は実際のパスワードではなくハッシュだけでセッション認証が可能となってしまいます。
また、NTLMが採用している暗号化は、最新のアルゴリズムや暗号技術を利用しておらず、セキュリティ強度が十分でないと言えます。
KerberosがNTLMの後継として、Windows 2000以降のActive Directory(AD)ドメインで主要な認証プロトコルとなったものの、古いクライアントやサーバとの互換性を維持するため、NTLMは全てのWindowsシステムに残されています。たとえば、Windows 95、Windows 98、Windows NT 4.0を使用している機器では、Windows 2000ドメインへのネットワーク認証にNTLMが用いられます。一方、Windows 2000クライアントは、Windows 2000以前のドメインでのリソースアクセスや、Windows NT 4.0以前のサーバ認証にNTLMを使用します。また、ドメイン外のホストとのローカルログオンにもNTLMが利用されます。
PtH攻撃のリスクは明確に数値化しにくく、評価が困難な場合があります。実際、成立しやすいが故に、リスクの把握が難しいのです。
攻撃によるリスクは、侵害された資格情報の権限レベルに応じ、データ損失から完全な乗っ取りまでさまざまです(最小権限の原則)。
具体的には、以下のような影響が考えられます:
NTLM認証は全てのワークステーションやサーバで行われるため、企業がPtH攻撃を検知するのは容易ではありません。
Pass the Hash攻撃の例: 2021年2月、ブラジルの大手電力会社であるCentrais Eletricas Brasileiras(Eletrobras)とCompanhia Paranaense de Energia(Copel)がランサムウェア攻撃を受けました。Pass the Hash攻撃がきっかけとなりました。
悪意ある攻撃者は、Active Directory(AD)データベース、特にNTDS.ditファイルからパスワードハッシュを盗み取り、権限を拡大するために横断的に移動し、最終的にランサムウェア攻撃を実行するための十分な権限を持つハッシュを採取しました。
システム管理者とユーザでは、PtH攻撃から守るための方法に違いがあります。以下に、双方に役立つ対策を示します。
標準的なネットワークプロトコルとユーザ認証情報が用いられるため、PtH攻撃は検出や防御が難しいです。横方向の移動や権限昇格を防ぐため、侵害されたアカウントを利用しにくくする必要があります。
Windows Defender Credential Guardは、Windows 10以降でPtH攻撃を防ぐための機能です。セキュリティルールを実施するLSASSを仮想サンドボックス内で実行します。
WindowsはパスワードをLMおよびNTハッシュで保存します。Microsoftによれば、LMハッシュはブルートフォース攻撃で容易に解読される恐れがあります。
LSASSのハッシュ抽出には管理者権限が必要なため、管理者アカウントを限定することで、ネットワーク内でのハッシュ攻撃リスクを下げられます。
RDPプログラムはハッシュを保存するため、PtH攻撃の攻撃面が広がります。リモート接続にはコンソールツールを利用してください。
攻撃リスクを下げるため、管理作業はセキュアなPCで行うようにしてください。
各PCごとに異なる複雑なパスワードを設定する機能で、攻撃者による横移動を困難にします。
ファイアウォールを用いてPtH攻撃を防止します。多くのユーザはリモートのファイルサーバやクラウドサービスに接続しますが、他のエンドポイントへの不要な接続は遮断すべきです。ファイアウォールのルールでこれらの横移動が遮断されれば、攻撃者の移動も妨げられます。
従業員向けのセキュリティ教育は、PtH攻撃やその他の攻撃を防ぐために有効です。これによりフィッシングメールやソーシャルエンジニアリングによる不正アクセスを見抜き、攻撃リスクを低減できます。
管理権限は必要最低限にとどめ、特定のアカウントが過剰な権限を持たないようにしてください。一人の管理者が複数のシステムを制御しないように注意することが重要です。
以下は主に常識的な対策であり、最初の3点がPtH攻撃のリスク低減に大きく寄与します。
PtH攻撃は正当な認証情報を悪用するため、非常に厄介です。攻撃の手口を理解し、上記のシステム管理者および従業員向け対策を実践することで、攻撃リスクを低減できます。常に安全を心がけ、ハッシュを守ってください。
最新情報を購読