Doctor Web の専門家は、新たなクリック詐欺トロイの木馬 Trojan.ChimeraWire を特定しました。これは実際のユーザーの行動を装い、検索結果におけるウェブサイトのエンゲージメント指標を人工的に押し上げます。感染した Windows マシンは、指定されたリソースを求めて Google や Bing に自動的にクエリを送り、リンクをたどり、ページをクリックして回ります。あたかも人間が操作しているかのように見せかけることで、攻撃者は自らが宣伝するドメインの検索順位を引き上げることができます。
ChimeraWire の中核には、通常はウェブサイトやウェブアプリケーションとのやり取りを自動化するために用いられるオープンソースプロジェクト zlsgo と Rod が利用されています。システムに侵入すると、トロイの木馬はリモートサイトから、ポータブル版 Windows 向け Google Chrome を含むアーカイブをダウンロードします(同じサーバーには Linux および macOS 向けビルドも保存されています)。その後、NopeCHA と Buster という 2 つの正規の Chrome 拡張機能をサイレントインストールします。どちらも CAPTCHA を自動で解くために設計されたものです。ブラウザは隠しデバッグモードで起動され、すべての制御は WebSocket 接続を通じて行われます。これにより、マルウェアはユーザーに気付かれることなくバックグラウンドで任意のスクリプトを実行できます。
続いて ChimeraWire は、コマンド&コントロールサーバーからコマンドを受信します。サーバーは AES-GCM で暗号化され、base64 文字列としてエンコードされた設定情報を送信します。この設定は、どの検索エンジンを使うか(Google か Bing か)、ターゲットとなるキーワード、プロモーション対象のドメイン、クリックの深さ、ページ読み込みの遅延、クリック分布パターン、そしてボットによる常時トラフィックに見えないようにするための一時停止タイミングなど、あらゆる動作パラメータを定義します。要するに、「操作対象のユーザー」を不正操作に最適化した、きわめて柔軟な行動プロファイルを規定しているのです。
トロイの木馬のワークフローは次のとおりです。割り当てられたキーワードを検索バーに入力し、指定されたサイトを見つけて開きます(バックグラウンドタブで開く場合もあります)。読み込まれた各ページで ChimeraWire は、ハイパーリンクを含むすべての HTML 要素を抽出し、それらを配列に保存したうえで順序をシャッフルします。これはクリックの順番が自然なリンク順序を模倣しないようにするためであり、アンチボットのヒューリスティック検知を回避するための戦術です。その後、アンカーテキストを設定情報内のテンプレート文と照合し、一致数をカウントします。
十分な数の関連リンクが見つかった場合、それらをキーワードとの「関連度」に基づいてソートし、1 つまたは複数をクリックします。一致が少ない、あるいはまったくない場合、ChimeraWire は確率モデルに頼ります。たとえば設定で「1:90, 2:10」という分布が指定されている場合、90% のケースでは 1 件、10% のケースでは 2 件のリンクをクリックする、という意味になります。トロイの木馬はシャッフル済みリストからランダムに選択して処理を進めます。各遷移の後、検索結果タブに戻るか、次のターゲットに進み、そのサイトに割り当てられたアクション数を使い切るまで動作します。
攻撃者は、システムに侵入して必要な権限を取得するために、いくつかの複雑な感染チェーンを構築しています。
最初のチェーンでは、ローダー Trojan.DownLoader48.54600 の実行から始まり、仮想環境やデバッグが検出されると即座に終了します。環境がこれらのチェックを通過した場合、悪意あるスクリプト Python.Downloader.208 とライブラリ ISCSIEXE.dll(Trojan.Starter.8377)を含む python3.zip アーカイブをダウンロードします。攻撃者は DLL サーチオーダーハイジャックを悪用し、iscsicpl.exe にトロイ化された DLL を読み込ませることで、次のステージに管理者レベルの実行権限を付与します。
昇格した権限を得ると、Python.Downloader.208 は onedrive.zip を取得します。このアーカイブには UpdateRingSettings.dll(Trojan.DownLoader48.54318)と、正規署名された OneDrivePatcher.exe が含まれています。この実行ファイルにも DLL ハイジャックの脆弱性があり、悪意あるライブラリを読み込みます。新たなローダーは仮想環境を再度スキャンし、シェルコードと実行ファイルを格納した暗号化 ZLIB コンテナをダウンロードし、これを復号・展開したうえで、最終的なメインペイロードである Trojan.ChimeraWire を起動します。
2 つ目のチェーンでは、別のローダー Trojan.DownLoader48.61444 が用いられます。これは Masquerade PEB を利用して explorer.exe を装い、レガシー COM インターフェース(CMSTPLUA)を通じて権限を昇格させ、再び DLL サーチオーダーハイジャックを悪用します。今回は ATL.dll を差し替え、WMI コンソール(mmc.exe)をトリガーします。管理者権限を取得した後、one.zip(OneDrivePatcher.exe と UpdateRingSettings.dll を含む)と two.zip(update.py としての Python.Downloader.208、およびその実行に必要な補助ファイル一式。Guardian.exe という名前に変更された pythonw.exe を含む)の 2 つのアーカイブをダウンロードします。Windows タスクスケジューラにタスクが作成され、再起動後も永続化が確保されます。これにより、最初のチェーンの一部が事実上複製され、配信成功の可能性が高まります。
このトロイの木馬の名称は偶然ではありません。「Chimera(キメラ)」は、攻撃チェーンのハイブリッド的な性質を想起させます。複数の言語で書かれたローダー、多様な解析回避テクニック、いくつもの権限昇格手法、そしてウェブトラフィックを秘匿的に操作するための既製フレームワーク、プラグイン、正規ソフトウェアの融合です。「Wire」は、モジュール取得から持続的な C2 通信に至るまで、目に見えないが絶え間ないネットワーク活動を強調しています。
現時点で ChimeraWire の主な任務は比較的単純で、検索エンジンやウェブページ上で本物のユーザー行動を模倣することにより、サイトの人気度を人工的に引き上げることです。しかし、その基盤となるコンポーネントは、はるかに多くのことを可能にします。理論上、攻撃者はウェブフォーム送信(広告プラットフォームやアンケートプラットフォームを含む)を自動化したり、ページコンテンツを読み取ったり、スクリーンショットを取得したり、膨大なデータ(スパムやフィッシングキャンペーンに利用できるメールアドレスや電話番号など)を収集したりすることができます。
Doctor Web のスペシャリストは、今後の ChimeraWire の亜種が機能を拡張していくと予想しており、その進化を継続的に監視しています。ユーザーおよび管理者にとって導かれる結論は、すでにおなじみのものです。シグネチャベースの検知だけではもはや不十分です。DLL ハイジャック、管理者レベルの権限昇格、アンチデバッグ技術を駆使した高度な感染チェーンは、振る舞い検知やプロアクティブな防御策と組み合わせない限り、長期間にわたって潜伏し続ける可能性があります。
翻訳元: https://meterpreter.org/chimerawire-the-click-fraud-trojan-disguised-as-a-human-user/