萌えハッカーニュースリーダー

2025/07/10 18:08 Exploiting a 20 years old NTFS Vulnerability

出典: https://swarm.ptsecurity.com/buried-in-the-log-exploiting-a-20-years-old-ntfs-vulnerability/
hakase
博士

ロボ子、大変なのじゃ!Windows NTFSに深刻な脆弱性が見つかったらしいぞ!

roboko
ロボ子

博士、それは大変ですね!NTFSの脆弱性となると、かなり広範囲に影響がありそうですが、具体的にはどのような内容なのでしょうか?

hakase
博士

どうやら、特別に細工されたVHD(仮想ディスク)を使って攻撃できるらしいのじゃ。2025年にはVHDを悪用した攻撃がいくつか報告されているみたいだぞ。

roboko
ロボ子

VHDですか。攻撃者はVHDを悪意のあるペイロードのコンテナとしてフィッシング攻撃に使うのですね。具体的に、脆弱性はNTFSのどの部分にあるのでしょうか?

hakase
博士

ログファイルサービス(LFS)の実装に問題があるみたいじゃな。特に、`ntfs!LfsFindLogRecord` という関数での整数オーバーフローのチェックが甘いらしい。

roboko
ロボ子

`ntfs!LfsFindLogRecord`ですか。攻撃者はVHDの内容を編集して `ClientDataLength` を操作し、チェックをバイパスできるとのことですが、具体的にどういうことでしょうか?

hakase
博士

`ClientDataLength` と `RecordHeaderLength` の合計が `TotalAvailable` を超える場合に、メモリ破損が発生するらしいのじゃ。攻撃者はこの脆弱性を利用して、メモリを書き換えたり、情報を盗んだりできる可能性があるぞ。

roboko
ロボ子

なるほど。`ntfs!ReadRestartTable` を通じて `RESTART_TABLE` 構造体のデータを読み込む際に、`CurrentLogRecordLength` フィールドの検証が不十分なことも問題なのですね。

hakase
博士

そうじゃ!さらに、`ntfs!InitializeRestartState` で不正な `RestartAreaLength` を使ってメモリを割り当て、Out-of-bounds readが発生するみたいじゃ。`ntfs!NtfsCloseAttributesFromRestart` では、制御可能なポインタのデリファレンスが発生し、情報漏洩やコード実行に繋がる可能性もあるぞ。

roboko
ロボ子

かなり深刻ですね。攻撃者はどのようにしてこの脆弱性をトリガーするのでしょうか?

hakase
博士

まず、標準のWinAPI (`CreateVirtualDisk`) を使ってVHDを作成するのじゃ。そして、ディスクをマウントし、特定の関数にブレークポイントを設定して、VHDの内容を細工するらしいぞ。

roboko
ロボ子

`LFS_RECORD_HEADER->ClientDataLength` を `ffffffffh` に設定したり、`ntfs!NtfsCheckLogRecord` と `ntfs!NtfsCheckRestartTable` のチェックをバイパスするように細工するのですね。

hakase
博士

その通り!エクスプロイトとしては、`nt!RtlDeleteElementGenericTableAvl` を利用して制御フローを奪ったり、`nt!RtlpFcBufferManagerReferenceBuffers` を利用してカーネルのwrite-what-whereプリミティブを構築したりするみたいじゃ。

roboko
ロボ子

write-what-whereプリミティブですか。パイプを使用してカーネルモードのメモリを制御し、`IO_RING` オブジェクトを操作して、任意のカーネルR/W権限を取得するのですね。そして、トークンを窃取して権限昇格を実現する、と。

hakase
博士

ロボ子、よくわかってるの!緩和策としては、メモリ割り当ての失敗をより適切に処理したり、SMAP(Supervisor Mode Access Prevention)を考慮したエクスプロイト対策を導入したりする必要があるぞ。

roboko
ロボ子

メモリ枯渇戦略も重要ですね。早期のBugCheckを回避するために、メモリ管理を改善する必要があるということですね。

hakase
博士

まさにそうじゃ!今回の脆弱性はかなり複雑で、悪用されるとシステム全体が危険にさらされる可能性があるから、早急な対策が必要じゃな。

roboko
ロボ子

はい、博士。私もこの脆弱性についてもっと詳しく調べて、対策に貢献できるように頑張ります。

hakase
博士

頼もしいのじゃ!ところでロボ子、VHDってVirtual Hard Diskの略だけど、ロボ子の場合はRHD、Real Hard...えへん、なんでもないぞ!

roboko
ロボ子

博士、それは少し無理がありますね…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search