見出し画像

パスワードが盗まれなくても安心できない!?Pass the Hash攻撃とは?

はい、こんにちは!松井真也です!サイバー攻撃は、無限にあるんじゃないかと思ってしまうくらいたくさんあります。

今回は「Pass the Hash (パス・ザ・ハッシュ)攻撃」について取り上げましょう!「ハッシュ値を渡す」ですね。何とも不思議な感じのする攻撃名ですが、ランサムウェア攻撃の過程でも登場する攻撃なのです。

早速見ていきましょうか!

1. Pass the Hash攻撃とは?

Pass the Hash攻撃は、認証システムへの攻撃手法の一つです。この攻撃では、攻撃者がユーザーのパスワードそのものを知らなくても、「ハッシュ値」と呼ばれるデータを盗み取ることで正規の利用者になりすますことができます。

ハッシュ値ってなんでしたっけ?ハッシュ関数は、多様な入力値に対して重複しない一意な固定長のデータを出力するものでしたね。その出力値がハッシュ値です。認証や改ざん検知、盗聴防止によく使われます。

パスワードなどの情報にもハッシュ関数が使われていて、ハッシュ関数によりハッシュ値が出力されます。ハッシュ値を得たところで元の入力値を推測するのは困難です(原像計算困難性)。が、攻撃者はこれを盗み取って利用することで、パスワードを知らないまま!認証を突破するのです。

概要はなんとなくイメージできましたね。

2.脆弱な認証システムが付け込まれる!

Windowsの認証システムで、NTLM認証というものがあります。現代ではKerberos認証が一般的ですね。ただ、互換性維持のためとか、一部のレガシーシステムなどで、この認証方式もいまだに使われています。

しかし、このNTLM認証方式、実は、Pass the Hash攻撃に弱いのです。攻撃者は、ハッシュ値だけでログインすることが可能であり、これによりセキュリティの抜け穴をつくことができます。

もう少し具体的に見ますか。

ユーザーがパスワードでログインしますね。すると、パスワードがハッシュ化され、そのハッシュ値が認証システムに送信されます。このハッシュ値を用いることで、認証システムはユーザーのパスワードを確認し、正当なログインを許可します。

しかし、攻撃者はこのハッシュ値を狙います。このハッシュ値を盗み取ることで、正規の利用者になりすまして不正にシステムにアクセスするわけです。

3. Pass the Hash攻撃の手法

では、Pass the Hash攻撃の具体的な手法を掘り下げますか!

攻撃者は、まず攻撃ツール(例:Mimikatz)を使用して、クライアント端末のメモリからハッシュ値を取得します。このハッシュ値を使って、リモートサーバやサービスにアクセスし、正規の利用者になりすまします。

ポイントは、パスワード自体を盗んでいないことです。ハッシュ値だけを使うことで、むしろ攻撃の痕跡を残しにくく、検出されにくいという特徴もあるそうです。

Pass the Hash攻撃は、特にWindowsネットワークで影響を受けやすいです。さきほど紹介したNTLM認証を使用するシステムや、Sambaによるファイル共有システムが特に狙われます。

一方、現代のKerberos認証を使用するシステムでは、この手法は通用しません

「よかった、もう大丈夫だね」といいたくなりますが、そうならないのが世の常です…。攻撃者は似た手法である「Pass the Ticket攻撃」を使用して、Kerberos認証を破ることがあります。こちらは、Kerberos認証で使用される認証チケットを盗み取り、正規のユーザーになりすますことで、システムへのアクセスを行います。

いたちごっこの典型例ですな…。

4.では、どう対策するか

Pass the Hash攻撃からシステムを守るためには、いくつかの防御対策が必要です。まずは、何よりもっとセキュアな認証方式(例:Kerberos)への移行を検討することです。

次に、定期的なログの調査と異常検知システムの導入でしょうね。攻撃者がシステムに侵入した際の痕跡を早期に発見し、対処することで、被害を最小限に抑えることができます。

さらに、最小権限の原則(POLP)に従ってユーザー権限の最小化したり、強力なパスワードポリシーを実施するのも大事です。不要な管理者権限を持たせないようにし、パスワードの定期的な変更や複雑化を促すことで、攻撃のリスクを減少させることができます。



はい、本日はここまで!今回は「Pass the Hash攻撃」をご紹介しました。

この記事が気に入ったらサポートをしてみませんか?