Digital Arts Security Reports

2023/11/14    i-FILTER,サイバー攻撃,フィッシング,改ざんサイト

SocGholish - 偽アップデートでWeb経由のマルウェア感染

偽アップデート(Fake Update)とは、偽のアップデートページを表示してアクセスしたユーザーを騙してマルウェアをダウンロードさせる(実行させる)、という攻撃を指します。

【図1】偽アップデートページ例
【図1】偽アップデートページ例

ひとくちに偽アップデートといってもいくつか異なるパターンがあり、今年になって観測されているものだと下記のような種類があります。

  • SocGholish
  • ClearFake
  • SmartApeSG(ZPHP)
  • FakeSG(RogueRaticate)
  • FakeUpdateRU

米国では2022年に250以上のニュースサイトが改ざんされ、偽アップデートページを表示させるようになっていたとのことで話題になりました。特に今年2023年は "偽アップデート業界" に新規参入が続々と現れ、日本でも偽アップデートがこれまで以上に観測されています。下図はデジタルアーツが観測した偽アップデートの URL 件数です。

【図2】偽アップデート URL 件数
【図2】偽アップデート URL 件数

SocGholish とは

主要な偽アップデートといえば 「SocGholish」 が代表的です。少なくとも2017年末頃から観測されています。上述した米国のニュースサイト改ざんも SocGholish でした。SocGholish は 別名 FAKEUPDATES と呼ばれることからも偽アップデート業界で確固たる地位を築いていることがうかがえます。

SocGholish は、Web からマルウェアを配信するための JavaScript フレームワークです。様々なマルウェアを配信するために使用されています。例えば「NetSupportRAT(遠隔操作型のマルウェア)」や「Wasted Locker(ランサムウェア)」に感染したという事例が報告されているほか、多くのマルウェアに利用されています。

SocGholish による Web 経由マルウェア感染チェーン

今回行った調査では、SocGholish は JavaScript を駆使して様々な解析回避を行い、改ざんサイトの html を置き換えることによってリダイレクトすることなく偽アップデートを表示し、マルウェアをダウンロードさせていることが判明しました。また、条件によっては SocGholish ではない別のルートへと誘導されるパターンも確認しました。

【図3】感染チェーン
【図3】感染チェーン

※以後 JavaScript を JS と表記させていただきます。

Stage.0 改ざんサイト

あらかじめ攻撃者は正規の Web サイトを改ざんし、html 内または JS ファイル内に不審な JS を挿入します。あとは改ざんサイトに誰かがアクセスすることによって開始されます。なお、改ざんサイトは多数あり、JS のパターンも複数あります。

【図4】改ざんサイトの JS 挿入例(赤枠部分)
【図4】改ざんサイトの JS 挿入例(赤枠部分)

Stage.1 TDS

改ざんサイトにアクセスすると JS が実行され、ブラウザー上では改ざんサイト html の head の script の最初に JS が生成・挿入されます。

挿入された JS は 「hxxps://bluegaslamp[.]org/V4CHvFq8」 を読み込みますが、この部分で IP アドレスやリファラーや User-Agent といった情報をチェックし、それに応じたレスポンスを返します。これは TDS(Traffic Direction System)と呼ばれる、アクセスしたユーザーをチェックするシステムを利用しています。TDS は販売されており、SocGholish では Keitaro TDS や Parrot TDS を利用しているとのことです。ドメインは攻撃者側で準備されたもので、他に何種類もあります。

TDS のチェック条件に合致した場合、JS がレスポンスとして返されます。なお、条件に合致しない場合は別ルートに進みます(後述します)。

【図5】挿入された JS と、条件合致した場合のURLレスポンス
【図5】挿入された JS と、条件合致した場合のURLレスポンス

Stage.2 SocGholish 解析チェック

レスポンスされた JS が実行され、ふたたびブラウザー上では改ざんサイトの head の script の最初に JS が生成・挿入されます。

挿入された JS は 「hxxps://creativity[.]kinchcorp[.]com/xFEl0b9zRrigcx/j8mIJ87ZzH/O+Iwes」 を読み込みます。URL のドメインは、正規のドメインに不正に作成されたサブドメイン(ドメインシャドウイング)です。TDS チェックを抜けたにもかかわらず、404エラーが返される場合がありましたので別のチェックが入っているかもしれません。チェックに問題がなければ難読化された JS がレスポンスとして返され、実行されます。

【図6】挿入された JS と、条件合致した場合のURLレスポンスの難読化解除
【図6】挿入された JS と、条件合致した場合のURLレスポンスの難読化解除

ここでの JS は、解析者やサンドボックスなどの機械的なアクセスかどうかをチェックします。いずれかの項目で検知されてしまうと、通信しないまたは無効な通信が発生し、次のステージには進みません。

  • Local Storage 確認(想定通りに元の改ざんサイトからアクセスしているか)
  • WebDriver 確認(自動化されたブラウザーでアクセスしていないか)
  • ウインドウサイズ確認(外枠と内枠のウインドウサイズをチェックし、開発者ツールを開いていないか)
  • Cookie 確認(Wordpress にログインしていないか。改ざんサイト管理者に見つからないように?)
  • JS 実行環境確認と初回アクセス確認(一般的なブラウザなのか、Node.js などの環境ではないか。また、2回目以降のアクセスでないか)
このチェックを抜けると、さらにページ上でマウスが動いたかどうか(人がアクセスしているか)をチェックします。このようにして解析されることを入念に回避しています

Stage.3 SocGholish 偽アップデート表示

マウスが動いた場合に、ブラウザー上では改ざんサイト html の head の script の最初に JS が生成・挿入されます。

挿入された JS は「hxxps://creativity[.]kinchcorp[.]com/動的文字列A」を読み込みます。URL からは偽アップデートページ用の html を生成するための JS がレスポンスとして返され、実行されます。

【図7】挿入された JS と、条件合致した場合のURLレスポンス
【図7】挿入された JS と、条件合致した場合のURLレスポンス

レスポンスされた JS が実行されると改ざんサイトの html の head と body は削除され、最終的に偽アップデート用の html にごっそり置き換えられます。その結果、偽アップデートページが表示されます。

【図8】置き換えられた html と、偽アップデートページ
【図8】置き換えられた html と、偽アップデートページ

偽アップデートページは元の改ざんサイトからリダイレクトせず、アドレスバーも元の改ざんサイトの URL のまま表示されています。

各 Stage の処理について長々と説明してきましたが、ユーザーは改ざんサイトにアクセスすると一瞬で偽アップデートページが表示されています。アドレスバーのURLにも変更がないため怪しまれにくくなっています。このようにして SocGholish は偽アップデートページを、想定するターゲットにのみ表示させています。

Stage.4 マルウェアダウンロード(HTML Smuggling)

偽アップデートページで「Update Chrome」というボタンをクリックすると「Update.js」というファイルがダウンロードされました。しかし、このタイミングをダウンロードと呼ぶのは少し語弊があるかもしれません。

ダウンロード部分には「HTML Smuggling」という手法を用いています。

偽アップデートページには非表示の iframe が設定されており、iframe 内でさらに「hxxps://creativity[.]kinchcorp[.]com/動的文字列B」を読み込みます。このURL のレスポンスにはダウンロードファイルがテキスト文字列データとして含まれています。Stage.3 で偽アップデートページを表示すると同時にブラウザーではすでにデータ取得を終えています。

【図9】iframe と ダウンロードファイルのデータ
【図9】iframe と ダウンロードファイルのデータ

つまり、ユーザーがボタンをクリックした際にはデータをファイルに変換しているだけです。通信は発生しません。しかしながら、ブラウザー上では普通にダウンロードしたように見えます。

HTML Smuggling の手法自体は何年も前からありましたが、2021年ごろから攻撃者に注目され始め、今では多くのマルウェア配信の際に使われています。

Stage.5 マルウェア実行

「Update.js」ファイルをダブルクリックすると Windows のデフォルトでは wscript.exe で実行されます。実行してみると新たな URL に対して POST 通信を行っていました。実行している Windows マシンの情報を窃取しているのでしょう。

この後の挙動については確認できておりませんので最終的にどういう攻撃を行うのかはわかりませんが、何度か情報のやりとりを繰り返したり、端末に応じたさらなるマルウェアに感染するということが考えられます。

あくまで今回ダウンロードされたファイルは調査時のものであり、環境や時期によって他のマルウェアが配信される可能性があります。

SocGholish ではない別のルートへの誘導

TDS のチェック部分において、条件に合致しなかった場合は SocGholish ではない別のルートへと進むことがわかりました。最終的に下図のようなページが表示されます。

【図10】別ルートの誘導例
【図10】別ルートの誘導例

別のルートに進んだ場合の経路は下記の通りです。こちらでは改ざんサイトからのリダイレクトが発生します。

  • Stage.1 の TDS「hxxps://bluegaslamp[.]org/V4CHvFq8」(ドメイン・URLは何種類もあります)で、条件に合致しなかった場合には異なる JS がレスポンスとして返されます。
  • レスポンスされた JS が実行されると URL パス部分が異なる「hxxps://bluegaslamp[.]org/Tww8npGQ」にアクセスします。
  • アクセスすると302リダイレクトでさらに「my-greatbonushere[.]life」 といったドメイン(何種類もあります)の URL へとアクセスします。
  • さらにリダイレクトを繰り返し、最終的にユーザー情報に応じて誘導されるページを確認しました。
    • ビジターアンケート
    • マッチングアプリページ
    • ブラウザープッシュ通知の許可を誘うページ

ビジターアンケート(当選詐欺、ラッキービジター)については過去のレポートで取り上げております。
安価なドメインを多用し1時間で使い捨てるビジターアンケート詐欺

ブラウザープッシュ通知においては、ページの指示に従って許可してしまうとブラウザーから偽の通知が何度も繰り返し表示され、通知のリンクをクリックすると詐欺に遭ってしまいます。こちらについては IPA においても注意喚起と対処法等の詳細が記載されていますので併せてご確認ください。
ブラウザの通知機能から不審サイトに誘導する手口に注意 | IPA 独立行政法人 情報処理推進機構

おわりに

現在の SocGholish を用いて偽アップデートからマルウェアを配信する攻撃は、日本以外の国を主なターゲットとしているように思われます。しかしだからといって安心はできません。SocGholish ではなくても別の攻撃や詐欺に遭う可能性が高いものであることが今回の調査で判明しました。

さらに、"偽アップデート業界" は新規参入が増加しており攻撃者に注目されている分野でもあります。今後も Web 経由のマルウェア感染に警戒する必要があるでしょう。

デジタルアーツでは

「i-FILTER」
デジタルアーツでは日々様々な情報をもとにデータの収集を行っており、本稿のような攻撃に用いられるURLは「i-FILTER」のフィルターデータベースへと迅速に配信され、[脅威情報サイト][違法ソフト・反社会行為][不確定サイト(※)] カテゴリにてブロックすることが可能です。

※[不確定サイト] カテゴリは、弊社でカテゴリ精査を行った結果、コンテンツやURLなどの付随情報では利用用途が判断できないURLが含まれます。用途が判明した場合は別のカテゴリへと修正されます。
「i-FILTER」『不確定サイト』カテゴリとはどのようなサイトが該当しますか
「i-FILTER@Cloud」『不確定サイト』カテゴリとはどのようなサイトが該当しますか

安全なWebセキュリティの新定番「ホワイト運用」とは
さらに、フィルターデータベースに反映されていないURLであっても「ホワイト運用」を行うことで、デジタルアーツが安全を確認したURLにのみアクセスを許可し未知の悪性URLをブロックすることができます。

  1. Digital Arts Security Reports をダウンロード

ダウンロードにはお客様情報の入力が必要となります。