NLab Securityはこのほど、「Right-Click Execution - A Tale of Windows LNK NTLM Leak – Security Research」において、WindowsのLNKファイルから重大な脆弱性を発見したとして、その詳細と概念実証(PoC: Proof of Concept)コードを公開した。

研究者は脆弱性の発見当初、責任ある情報開示に基づきMicrosoftとの調整を試みたという。しかしながら、Microsoftは「サービス提供のセキュリティ基準を満たしていない」として対応を拒否。同社による改善が期待できなくなったことから、今回の情報公開に至った。

  • Right-Click Execution - A Tale of Windows LNK NTLM Leak – Security Research

    Right-Click Execution - A Tale of Windows LNK NTLM Leak – Security Research

LNKファイルを実行せずに侵害可能

Windows環境への侵入方法はさまざまだが、その1つにLNKファイルの配布がある(参考:「Windowsリンクファイル(.LNK)を悪用したサイバー攻撃特定、日本も被害 | TECH+(テックプラス)」)。LNKファイルはアイコンを自由に変更できることからユーザーをだましやすく、よく用いられる攻撃手段となっている。

LNKファイルを配布する多くの攻撃ではユーザー自身によるファイルの実行を必要とする。そのため攻撃を回避できる場合もあるが、今回発見された手法はファイルの右クリックだけで攻撃可能とされる。慎重なユーザーが実行前にLNKファイルのコマンドを確認しようとコンテキストメニューを表示すると、その時点で攻撃されることになる。

予期しないネットワークアクセス

この脆弱性はエクスプローラーによるLNKファイルの構造解析を悪用する。具体的にはEnvironmentVariableDataBlockにUNCパスを設定し、ネットワークリソースとして処理させる。

ユーザーがエクスプローラーから悪意のあるLNKファイルの保存されいているフォルダを開くと、LNKファイルの構造解析が行われ、UNCパスが示すネットワークリソースへのアクセスが準備される。次にLNKファイルを右クリックすると、ネットワークリソースへのアクセスが実行される。

この時点で侵害されることはないが、攻撃者はネットワークリソースへのアクセスによりNTLMハッシュを入手する機会を得られる。NTLMハッシュを窃取されると、レインボーテーブル攻撃などによりパスワードを特定される可能性がある。

研究者は概念実証コードを公開するとともに、ResponderツールによるNTLMハッシュを取得する動画を公開している(参考:「研究者のXへの投稿」)。

Microsoftは安全性を主張

NLab SecurityによるとMicrosoftはMoTWマーク(MoTW: Mark-of-the-Web)による保護が機能するとして安全性を主張したという。ユーザーがインターネットから取得したLNKファイルにアクセスを試みると、MoTWマークにより警告が表示され、この脆弱性による攻撃を軽減できるとしている。

この主張に対し研究者は次のように述べ、セキュリティに対する基本的な考え方に問題があると指摘している。

「二次的な保護メカニズムへの依存と、根本的な脆弱性への直接的な対処について、どちらが適切かという重要な検討事項を浮き彫りにしています。MoTWは信頼できないソースからのファイルに対して追加のセキュリティレイヤーを提供しますが、この保護をバイパスするシナリオや、MoTWをトリガーしない別の攻撃手法と共にLNKファイルが配信されるシナリオについて疑問があります」

本稿執筆時点では、この脆弱性に対する修正プログラムの配布は期待できない。この脆弱性を悪用した攻撃を回避するため、ユーザーはMoTWマークによる警告を真剣に受け止め、サンドボックス環境などを用いた検証をパスしない限りファイルに触れないよう徹底する必要があるとみられる。