パスワードを忘れた? アカウント作成
13287140 story
Chrome

WindowsのSCFファイルをGoogle Chromeでダウンロードさせ、SMB認証情報を取得する攻撃 1

ストーリー by headless
認証 部門より
Windowsのシェルコマンドファイル(.scf、SCFファイル)とGoogle Chromeの組み合わせにより、SMB認証情報を取得する攻撃手法をセキュリティ企業のDefenseCodeが公開している(DefenseCodeの記事Threatpostの記事The Registerの記事Softpediaの記事)。

SCFファイルはWindows 98で導入され、主にクイック起動ツールバーの「デスクトップの表示」で使われていた。SCFファイルの内容はINIファイルと同様のテキストファイルで、セクションごとに値の名前と値のデータの組み合わせが記述されている。ファイルのアイコンは「Shell」セクションの「IconFile」で指定するのだが、アイコンをUNCパスで指定した場合、アイコンの保存されたフォルダーをエクスプローラーで開く際に、指定されたリモートサーバーへSMB認証情報が送られる。そのため、攻撃者が自分の支配下にあるサーバーのIPアドレスを指定すれば、ターゲットのユーザー名とNTLMv2パスワードハッシュを取得することが可能となる。パスワードハッシュはオフラインでクラックするほか、SMBリレー攻撃に使用することも可能だ。

一方、Google Chrome側の問題は、デフォルトでファイルのダウンロード先を確認せずにダウンロードが実行される点だ。そのため、攻撃用に細工したSCFファイルのリンクをChrome上でクリックさせれば、ファイルがユーザーの「ダウンロード」フォルダーに保存される。このフォルダーをユーザーが開いた時点で、攻撃者はSMB認証情報を取得できることになる。Windowsのショートカットファイル(.lnk、LNKファイル)もSCFファイルと同様の動作をするが、ChromeではStuxnetの感染が問題になった際にLNKファイルをサニタイズする仕組みが導入されているとのこと。

SCFファイルを攻撃用Webサイトでホストしている場合、用心深いユーザーにクリックさせることは難しいが、Reflected File Download(RFD)攻撃を使用すれば信頼されるWebサイトのレスポンスに「Shell」セクションと「IconFile」を含め、SCFファイルとしてダウンロードさせることも可能だ。例では世界銀行のJSONデータを出力するWeb APIを利用している。通常は出力内容がテキストとしてブラウザーに表示されるのだが、表示できない文字(%0B)を含めることでChromeではファイルとしてダウンロードされる。なお、Internet ExplorerやMicrosoft Edge、Mozilla Firefoxではテキストとして表示され、ファイルが直接ダウンロードされることはなかった。

対策として、Chromeの自動ダウンロードを無効にする(「設定→詳細設定を表示→ダウンロード→ダウンロード前に各ファイルの保存場所を確認する」にチェックを入れる)ことや、インターネット上のSMBサーバーへのアクセスを禁止することなどが推奨されている。Windows 7以降ではSCFファイルがほとんど使われていないため、レジストリからSCFファイルの登録(HKCR\.scf)を削除しても問題ないかもしれない。DefenseCodeは本件をGoogleに通知していないそうだが、Googleはこの問題を認識しており、対応を進めているとThreatpostに回答したとのことだ。
  • by Anonymous Coward on 2017年05月21日 12時15分 (#3214519)

    これがChromeの脆弱性なの?

    そもそも最近流行りのSMB云々に関する脆弱性攻撃の根本的原因は、ほぼ100%がMicrosoftの責任だろう。
    具体的にいうと、これ系の脆弱性は10年以上前から、それも各所/各人から何度も何度も指摘されていて、
    それに対して「Windowsファイル共有はLAN内に対して提供するサービスなので、この脆弱性による影響力は極めて低い
    などと称してMSは特になにもせず、セキュリティfixを長年怠ってきた結果だろ。

    こんなもん仮に全てのChromeが次のアップデートか何かで「自動ダウンロード機能削除」に変更されたとしても、当の脆弱性は残り続けるんだから無意味だろ。
    ChromeでなくMicrosoftに抜本的な解決を依頼しろよ。それ以外ではどうにもならん。

    ここに返信
typodupeerror

Stableって古いって意味だっけ? -- Debian初級

読み込み中...