トレンドマイクロは、ファイルレスで拡散する新しいボット型マルウェアを確認し、「Novter(ノブター)」と名付けました。「Nodersok」および「Divergent」という名称でも報告されているこのマルウェアは、サイバー犯罪集団「KovCoreG(コブコア ジー)」の活動の下で2019年3月頃より拡散されてきました。弊社は、Novterの登場以来、積極的にその監視を続ける中で、頻繁な更新を確認しています。
2011年以降活発に活動してきた「KovCoreG」のキャンペーンは、「Kovter(コブター)」というボット型マルウェアを利用した長期的な活動で知られ、主に不正広告(マルバタイジング)と脆弱性攻撃ツール(エクスプロイトキット)を利用して拡散されていました。2015年以降、Kovterのボットネットはクリック報酬型オンライン広告のシステムを悪用して金銭を詐取する「クリック詐欺」に利用され、報告によれば、2900万米ドル(2019 年 11 月8日のレートで約31億円)以上の被害を企業に与えました。Kovter のボットネットは、2018年末、法執行機関やトレンドマイクロほかサイバーセキュリティ専門家の連携を通して、ついに解体に至りました。しかし残念ながら、このことは、KovCoreGの活動停止にはつながりませんでした。Kovterはすでにその機能を失いましたが、KovCoreGは代わりに別のボットネットを開発しました。弊社は、セキュリティ企業「ProofPoint」のリサーチャKafeine氏と協力して、KovCoreGによって拡散される、ファイルレスとモジュール型を採用したボット型マルウェアNovterについて明らかにしました。
Novterが確認された当初、不正広告キャンペーンは米国を拠点とするユーザを対象に行われていましたが、今夏からヨーロッパのいくつかの国にその狙いを広げ始めました。弊社の遠隔測定調査から、この不正広告攻撃が、米国のトップ100位圏内のいくつかのWebサイトを介して実行されていたのが判明しました。これらのWebサイトは、以前のKovterを利用した活動でも悪用されていました。
図1:KovCoreGが拡散する「Novter」および「Nodster」の感染の流れ
■「KovCoreG」の不正広告による攻撃
KovCoreGは、ソーシャルエンジニアリングを施した不正広告を使用し、Adobe Flash Playerが古くなっているため、アプリケーションの更新に必要なソフトウェアパッケージをユーザがダウンロードするように仕向けます。しかし、 ここで正規のソフトウェアパッケージの代わりに、不正なHTMLアプリケーションファイル「Player {タイムスタンプ} .hta」をダウンロードさせます。ユーザがHTAファイルを実行すると、リモートサーバから追加のスクリプトを読み込み、オープンソースのプロジェクト「Invoke-PSInject 」を参考に作成されたとみられるPowerShellスクリプトを実行します。このスクリプトを読み込む際のトラフィックは、共通鍵暗号方式の一つ「RC4」で暗号化されます。
図2:KovCoreGの不正広告の例(提供元:ProofPoint)
図3:KovCoreGの不正広告のトラフィック(提供元:ProofPoint)
このPowerShellスクリプトは、「Windows Defender」と「Windows Update」のプロセスを無効にします。そして、シェルコードを実行して、接続管理に関連するインターフェイス「CMSTPLUA COM」を介してユーザーアカウント制御(User Account Control、UAC)を回避します。ここで使用されるPowerShellスクリプトはNovterにも埋め込まれており、PowerShell の反射型インジェクションの技術を利用して、ファイルレスで実行されます。
■ボット型マルウェア「Novter」について解説
Novterは、実行可能ファイル形式のバックドア機能を持つマルウェアです。実行直後に、以下のような検出や解析回避のためのチェックを実行します。
- CRC32アルゴリズムの名称とハードコーディングされたCRC32のリストを比較して、ブラックリストに登録されたプロセスとモジュールを検索する
- コアの数が少なすぎるかどうかを確認する
- プロセスがデバッグされているかどうかを確認する
- スリープ機能が操作されているかどうかを確認する
上述のいずれかが見つかった場合、コマンド&コントロール(C&C)サーバに報告されますが、このとき、目的に応じて異なるC&Cサーバセットが使用されます。一例として、1つのセットは解析回避のための報告を専ら担当します。感染コンピュータの環境を入念に確認してC&Cサーバに報告した後、マルウェアは長時間スリープ状態に入ります。
Novterが備えるバックドアコマンドは以下の通りです。
- killall:プロセスを終了し、ファイルを削除する。このコマンドは、すべてのモジュールに適用可能。
- kill:プロセスを終了し、ファイルを削除する。このコマンドは、特定のモジュールにのみ適用可能。
- stop:特定のモジュールにおいて、ファイルを削除せずにプロセスを終了する。
- resume:特定のモジュールにおけるプロセスを開始する。
- modules:追加のモジュールをダウンロードして実行する。
- update:新しいバージョンをダウンロードし、アップデートをインストールする。
- update_interval:連続した2回のアップデート試行の間隔を設定する。
Novterは、C&Cサーバと通信し、目的に応じて異なる複数のJavaScriptのモジュールをダウンロードします。解析から、 以下の3つのNovterのモジュールが特定されました。
- 対象のコンピュータに「Tech Support Scam」(テクサポ詐欺、サポート詐欺)」のページを表示するモジュール。
- 「Windows Packet Divert (WinDivert)」を悪用して、ウイルス対策ソフトウェアなどのプロセスからの通信をブロックするモジュール。WinDivertは、Windowsのネットワーク・スタックとの間で送受信されるネットワークパケットをキャプチャ、変更、またはドロップを可能にするツール。
- 代わりのサーバを使用して通信(プロキシ)を行うために、「NodeJS」および「io」で記述されたモジュール「Nodster(ノドスター)」。クリック詐欺を利用した戦略を補助するために必要な、プロキシネットワークの構築を担当するモジュールと考えられる。
■Novterのモジュール「Nodster」について解説
Novterの解析中、ダウンロードされる3つのモジュールが確認されましたが、そのうちの1つがネットワークプロキシモジュール「Nodster」でした。このモジュールは、感染コンピュータに「NodeJS」をインストールし、バックグラウンドでNodeJSスクリプト「app.js」を実行します。app.jsは、埋め込みのC&Cサーバアドレスに接続し、2番目のC&Cサーバアドレスを受け取ります。そして、このスクリプトはsocket.ioプロトコルを使用して、2つ目のC&Cサーバへの逆接続を確立します。2つ目のC&Cサーバは、TCP接続の確立およびTCPのペイロード(送信先情報など通信に必要なヘッダを除いたパケット部分)の送信、そしてサーバからの応答を返すようにモジュールに指示するコマンドを返します。こうして、Novterに感染したコンピュータは、攻撃者の活動に利用される代理サーバ(プロキシ)と化します。
図4. モジュール「Nodster」のプロキシとC&Cサーバ間におけるトラフィックの流れ
■Nodsterのトラフィック
調査では「Nodster」モジュールを介してプロキシ化された多くの暗号化トラフィックを確認しましたが、Web広告に使用されるスクリプトの一部の復号に成功しました。それによれば、C&Cサーバは感染コンピュータに、広告を表示する「JavaScript」コードが埋め込まれたWebサイトを開くように指示していました。
また、プロキシを介して転送されたHTTP(S)リクエストにはAndroidデバイスからの「HTTPリクエストでのUser-Agentヘッダ」が含まれていたため、広告トラフィックはAndroidデバイスから送信されたと考えられていました。この要求には、多くのAndroidアプリ名が含まれる「X-Requested-Withヘッダ」が追加されます。当初、弊社はこれらのアプリによってトラフィックが生成されると考え、Google Playストア上で公開されるこれらのアプリを調査しました。しかし、ストアで確認されたアプリからは、そのようなトラフィックを生成する不審なコードは確認されず、アプリ間で共有される類似のコードも見つかりませんでした。
図5:Androidデバイスからの送信を偽装するHTTPSリクエストヘッダ
このことから、この広告トラフィックは、モバイル機器からではなく攻撃者が生成したものと推測されました。攻撃者は、NovterボットネットのNodster モジュールを介して、Androidデバイスや携帯アプリから送信したかのようにトラフィックを偽装していたと考えられます。
結局のところ、KovCoreGの戦略には以前のKovterボットネットの時のようにクリック詐欺の技法が利用されていました。
■被害に遭わないためには
広告は、マーケティングに必要不可欠なもので、通常ユーザに害を与えるようなものではありません。しかし、KovCoreGの不正広告キャンペーンの例は、オンライン広告が煩わしいものとなるばかりか、攻撃者によってユーザのコンピュータが利用されるなどの実際の脅威につながる可能性があることを示しています。KovCoreGがクリック詐欺によって企業に与えた損失を見れば、企業に多大な影響を与えることが明らかです。例えば、2018年に発生したたった1回のモバイル広告詐欺により、GoogleおよびGoogleとパートナーシップを締結している企業は約1,000万米ドル(2019 年 11 月8日のレートで約10億円)の損失を被りました。
Novterは、ファイルレスな感染手法を用いて、C&Cサーバへの接続と広告詐欺関連のトラフィックを難読化します。このことから、攻撃者が高度で巧妙な技術を保持していることが伺えます。ユーザは、特に不正広告のようなソーシャルエンジニアリングの脅威を防ぐために、ベストプラクティスを採用する必要があります。
■トレンドマイクロの対策
法人向けのエンドポイント製品「ウイルスバスター™コーポレートエディション XG」や中小企業向けのクラウド型エンドポイントセキュリティサービス「ウイルスバスター™ビジネスセキュリティサービス」では、「FRS」技術によりウイルス検出と同時に、挙動監視機能(不正変更監視機能)の強化により、その不正活動を検知してブロックできます。トレンドマイクロの法人向けエンドポイント製品「Trend Micro Apex One™」は、不正なファイルを検出し、関連する不正な URL をブロックすることによって、強固な保護を提供します。
■侵入の痕跡(Indicators of Compromise、IoCs)
侵入の痕跡(Indicators of Compromise、IoCs)はこちらを参照してください。
トレンドマイクロによるNovterの調査に関する詳細はこちらをご覧ください。
調査協力: Ecular Xu
本事例における調査協力に関して、「ProofPoint」のリサーチャKafeine氏に謝辞を表明いたします。
参考記事:
- 「New Fileless Botnet Novter Distributed by KovCoreG Malvertising Campaign」
by Jaromir Horejsi and Joseph C. Chen (Threat Researchers)
翻訳: 下舘 紗耶加(Core Technology Marketing, Trend Micro™ Research)