2023/11/28 i-FILTER,サイバー攻撃,フィッシング,改ざんサイト
ClearFake - 偽アップデートでWeb経由のマルウェア感染
前回のセキュリティレポートでは "偽アップデート業界の老舗" ともいえる SocGholish(FAKEUPDATES)についての調査結果を報告しました。
SocGholish - 偽アップデートでWeb経由のマルウェア感染
しかし、今年はこの "偽アップデート業界" に新勢力が多数参入し、にぎわい始めています。
- ClearFake
- SmartApeSG(ZPHP)
- FakeSG(RogueRaticate)
- FakeUpdateRU
本稿では、弊社Dアラートも発生し日本でもアクセス事例を確認している、配信経路にブロックチェーンを悪用するという「ClearFake」についての調査結果を報告します。
ClearFake とは
ClearFake は2023年8月ころから確認されています。改ざんサイトにあらかじめ挿入された JavaScript が起点となり偽アップデートページが表示され、最終的にマルウェアダウンロード・感染へと至ります。
ClearFake による Web 経由マルウェア感染チェーン
ClearFake は SocGholish ほど解析回避の手法は取り入れていません。しかし、ブロックチェーンを悪用してテイクダウンされない経路を用いたり、偽アップデートページは複数の主要ブラウザーに対応していたり多言語対応していたりといった特徴がありました。
SocGholish がターゲットを選別してマルウェアを配信するのに対し、ClearFake はいわば無差別的にマルウェアを配信しています。
※以後 JavaScript を JS と表記させていただきます。
Stage.0 改ざんサイト
あらかじめ攻撃者は正規の Web サイトを改ざんし、html 内または JS ファイル内に不審な JS を挿入します。JS は一部 Base64 エンコードされているためデコードすると【図3】のようになっています。JS が挿入された改ざんサイトは多数あります。あとは改ざんサイトに誰かがアクセスすることによって開始されます。
Stage.1 ブロックチェーンの悪用
改ざんサイトにアクセスすると【図3】の JS が実行されますが、これが非常に厄介なものでした。
「インターネットを介してブロックチェーンに接続して特定のスマートコントラクトにアクセスし、悪意のある JS コードを取得してブラウザーで実行する」というものです。今回使われたブロックチェーンは BSC(BNB Smart Chain)という、ビットコインなどの仮想通貨取引で利用されるものです。
「ブロックチェーン」は改ざん防止や永続性を保証するために設計されているため、一度ブロックチェーン上に記録されたデータは削除することが非常に困難という特性があります。「スマートコントラクト」とはブロックチェーン上で自動的に動作するプログラムのようなものです。
厄介なポイント
- 誰からもテイクダウンされない
- ブロックチェーン上に悪意のある JS コードを展開すると、削除することががほぼ不可能になります。
- ブラックリストによるブロックが困難
- 本事例では、インターネットを介してアクセスする際に「https://bsc-dataseed1.binance.org/」という一般に共通利用されている正当な URL が使われているためブラックリストではブロックされにくいでしょう。
攻撃者側からすると、管理者にテイクダウンされず閲覧者にもブロックされない安定した配信経路といえます。
悪意のある JS 自体は、ブロックチェーンのトランザクション(取引・処理)履歴から確認することが可能です。またスマートコントラクトとやりとりを行ったパケットから解析して確認することも可能でした【図4】。
Stage.2 ClearFake 偽アップデート表示
ブロックチェーン上に展開された悪意のある JS がブラウザーで実行されると、下記の3つの URL(ドメインは同じ) に順にアクセスが発生し、偽アップデートページが表示されます。
ドメインは頻繁に変更されますが URL パス文字列は3パターンのみです。それぞれの役割を下に示します。
「https://ドメイン/文字列」
- ドメイン/vvmd54/
- ここでのURLは攻撃者側で時限的に有効と無効を切り替えているのか、または IP アドレスでアクセス制御をしているのか、レスポンスが返らずに挙動しないことがあります。
- 問題なかった場合には JS がレスポンスされ、実行されます。この JS は元のページ全体を覆い隠すように iframe を設定します。下記の URL から取得したコンテンツで覆い隠します。
- ドメイン/ZgbN19Mx
- ここではアクセス時に User-Agent をチェックしています。一般的な Web ブラウザーでなければ次に進みません。リファラもチェックしていますが、空白でなければ何でも良いようでした。
- 問題なければ html(JS も含む)がレスポンスされます。上述の JS が呼び出す iframe のコンテンツです。この html もさらに下記の URL からデータを取得しようとします。
- ドメイン/lander/<ブラウザー名>_<数字10ケタ>/_index.php
- <ブラウザー名>部分は User-Agent によって異なります。chrome、firefox、edge、opera という主要なブラウザー名に対応しています。
- ここではブラウザー別の偽アップデートページ表示用コンテンツがあります。言語も英語フランス語ドイツ語スペイン語などに対応しています。
ただし本稿執筆中に、上記 URL パス文字列に更新がありました(文字列のみで役割は同じ)。
これらの結果、
利用しているブラウザーと利用言語に応じた偽アップデートページが表示されます。
また、iframe で元のページ全体を覆い隠すように表示しているため、
元の改ざんサイトからリダイレクトしておらず、アドレスバーも元の改ざんサイトの URL のまま表示されます。
Stage.3 マルウェアダウンロード
偽アップデートページのダウンロードボタンをクリックすると、アクセスした端末情報に応じて
https://ドメイン/?_lp=1&~
のようなクエリの URL を生成してアクセスします。
アクセスするとリダイレクトし、調査時においてはオンラインストレージ Dropbox の URL からマルウェアがダウンロードされました。
今回調査している期間中に、ダウンロードクリック時の挙動変更も確認しました。例えば2023年10月上旬では、【図6】のようにフィンガープリント(アクセスしているブラウザ情報)を POST する URL やジオロケーション(地理情報)取得のための URL などが設定されていましたが、翌11月上旬にはコメントアウトで無効化されていたり記述そのものが削除されていることを確認しています。一連の挙動の中ではあまり意味を成していない部分でしたので、不要になったのかもしれません。
Stage.4 マルウェア実行
調査時に確認したファイルは「Setup_win64_5.49.1031-release.exe」という exe ファイルで、これは情報窃取型の「Lumma Stealer」というマルウェアでした。Lumma Stealer に感染すると Windows 端末情報、ブラウザーのログイン情報や各種履歴や拡張機能情報、仮想通貨ウォレットの情報が窃取されます。
あくまで今回ダウンロードされたファイルは調査時のものであり、環境や時期によって他のマルウェアが配信される可能性があります。
おわりに
ClearFake は、現状では SocGholish ほどの積極的な解析回避を取り入れていません。
しかしながら、配信経路にブロックチェーンを悪用したり主要ブラウザー対応や多言語対応といった特徴があります。解析されたとしても、テイクダウンされない経路があり偽装種類が多いということは、誘導される絶対数が多くなるため結果的に偽アップデートの被害者も多く発生することにつながります。また、ClearFake は本稿執筆時の短い期間で何度も JS の記述方法など頻繁に更新を確認しているため、今後も変わった手法を用いてくる可能性が考えられます。
ClearFake に限らず他の偽アップデートも出現しており、今後も Web 経由のマルウェア感染に警戒する必要があるでしょう。