最近、ESETの専門家はサプライチェーンへの新しい攻撃に惹かれています。 2つのゲームと1つのゲームプラットフォームが侵害され、バックドアが導入されました。 これらの攻撃はアジアとゲーム業界を標的にしており、Winntiが再び背後にいます。
3つのケース、1つのバックドア
マルウェアの構成は異なりますが、侵害された3つのソフトウェア製品には同じバックドアコードが含まれており、同じメカニズムを使用し始めました。 現在、2つの製品にバックドアはありませんが、1つは依然としてトロイの木馬バージョンで配布されています。皮肉なことに、このゲームはInfestation(「感染」)と呼ばれます。 2月の初めから開発者と連絡を取ろうとしてきましたが、今のところ何の役にも立ちません。
悪意のあるペイロードの導入方法を分析し、バックドアを詳細に検討します。
ペイロードの実装
ペイロードコードは、トロイの木馬化された実行可能ファイルの実行中に実行されます。 PEエントリポイントの直後に、標準のCランタイム初期化呼び出し(
__scrt_common_main_seh
)がインターセプトされ、他の何よりも先に悪意のあるペイロードが起動されます(図2)。 これは、攻撃者がソースコード自体ではなく、アセンブリ構成を変更したことを示している可能性があります。
図1.実行可能ファイルへのクリーンなエントリポイント
図2.侵害された実行可能ファイルのエントリポイント
実行可能ファイルに追加されたコードは、Cランタイム初期化コードおよび後続のホストアプリケーションコードの通常の実行を再開する前に、RAM内のバックドアを復号化して起動します。 組み込みのペイロードには、下の図に示す特別な構造があり、追加された圧縮解除コードが解釈します。
図3.埋め込みペイロード構造
これには、ファイル名と埋め込みDLLファイルを解読するために使用されるRC4キー(0x37で暗号化されたXOR)が含まれています。
悪意のあるペイロード
実際の悪意のあるペイロードには、17 KBのコードとデータのみが含まれています。
構成
次の図に示す構成データは、スペースで区切られた行のリストです。
図4.ペイロード構成データ
設定は4つのフィールドで構成されます。
- 管理C&CサーバーのURL。
- 続行する前にミリ秒単位でタイムアウトを決定するために使用される変数(t)。 待機時間は、2/3〜5/3 tの範囲でランダムに選択されます。
- キャンペーンを識別する行。
- セミコロンで区切られた実行可能ファイル名のリスト。 それらのいずれかが機能する場合、バックドアは実行を停止します。
ペイロードの5つのバージョンを特定しました。
最初の3つのオプションでは、コードは再コンパイルされませんでしたが、構成データはDLLファイル自体で編集されました。 残りのコンテンツはバイトコピーです。
C&Cインフラストラクチャ
ドメイン名は、侵害されたアプリケーションの開発者のサイトに似た方法で選択されます。 トップレベルドメインは、Namecheapサービスを使用して対応する正当なサイトにリダイレクトするように構成されますが、サブドメインは悪意のあるC&Cサーバーを示します。
この記事の執筆時点では、どのドメインも利用可能ではなく、CおよびCサーバーは応答していません。
調査報告書
ボットIDは、マシンのMACアドレスから生成されます。 バックドアは、ユーザー名、コンピューター名、Windowsバージョン、システム言語などのマシン情報をC&Cサーバーに送信し、コマンドを待ちます。 データはキー「
*&b0i0rong2Y7un1
」を使用してXORで暗号化され、base64でエンコードされます。 C&Cサーバーから受信したデータは、同じキーを使用して暗号化されます。
チーム
単純なバックドアは、攻撃者が使用できる4つのチームのみをサポートします。
DownUrlFile
DownRunUrlFile
RunUrlBinInMem
-
UnInstall
チームの名前はそれ自体を物語っています。 これにより、攻撃者は特定のURLから追加の実行可能ファイルを実行できます。
おそらく最後のコマンドはそれほど明白ではありません。
UnInstall
はシステムからマルウェアを削除しません。 最終的に、それはまだ実行される正当な実行可能ファイルに埋め込まれます。 コマンドは何も削除する代わりに、レジストリキーの値を1に設定することにより、悪意のあるコードを無効にします。
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\ImageFlag
ペイロードを開始した後、レジストリからの値が要求され、指定されている場合、実行はキャンセルされます。 おそらく、攻撃者は、関心のない被害者からのコールバックを回避することにより、C&Cサーバーの負荷を軽減しようとしています。
第二段階
テレメトリによると、被害者に送信される第2段階のペイロードの1つはWin64 / Winnti.BNです。 私たちが知る限り、このマルウェアのドロッパーは
api.goallbandungtravel[.]com
から
api.goallbandungtravel[.]com
経由でダウンロードされます。 次のファイル名を使用して、Windowsサービスおよび
C:\Windows\System32
DLLとしてインストールされていることが
C:\Windows\System32
。
-cscsrv.dll
-dwmsvc.dll
-iassrv.dll
-mprsvc.dll
-nlasrv.dll
-powfsvc.dll
-racsvc.dll
-slcsvc.dll
-snmpsvc.dll
-sspisvc.dll
分析したサンプルは十分に大きく、約60 MBです。 ただし、実際のサイズまたはPEファイルはバージョンに応じて63〜72 KBであるため、これは可視性のみです。 きれいなものの多くは、単に悪意のあるファイルに追加されます。 これは、悪意のあるサービスをリセットしてインストールするコンポーネントによって実行される可能性があります。
サービスを開始した後、DLL
.mui
拡張子を追加し、RC5を使用して復号化します。 復号化されたMUIファイルには、オフセット0の位置に依存しないコードが含まれています。RC5キーは、ハードディスクのシリアル番号と行「
f@Ukd!rCto R$.
」から取得され
f@Ukd!rCto R$.
」 MUIファイルまたはそれらを最初にインストールするコードを取得できませんでした。 したがって、悪意のあるサービスの正確な目的は不明です。
最近のマルウェアバージョンには、C&Cサーバー
http://checkin.travelsanignacio[.]com
を使用した自動更新メカニズムが含まれています。 このサーバーは、RC5静的キーで暗号化された最新バージョンのMUIファイルを提供しました。 調査の過程で、このC&Cサーバーは応答しませんでした。
目標
キャンペーンの対象が明確でない人から始めましょう。 ペイロードの開始時に、マルウェアはシステム言語がロシア語か中国語かを確認します(下図を参照)。 答えがはいの場合、プログラムは動作を停止します。 この例外を回避することは不可能です-攻撃者は、これらの言語設定を備えたコンピューターに基本的に興味を持ちません。
図5.ペイロードを起動する前に言語を確認する
分布統計
テレメトリーによると、ほとんどの感染はアジア、主にタイで発生しました。 開発者によってまだ配布されている、侵害されたアプリケーションの人気を考えると、犠牲者の数が数万または数十万人であっても驚くことではありません。
おわりに
サプライチェーン攻撃は、ユーザー側で検出するのが困難です。 実行中のすべてのソフトウェア、および推奨されるすべての更新を分析することは不可能です。 デフォルトでは、ユーザーは開発者を信頼し、ファイルに悪意のあるコードが含まれていないと想定します。 これがおそらく、いくつかのサイバーグループがソフトウェアベンダーへの攻撃を標的にしている理由です。妥協により、ボットネットの作成が可能になります。 この戦術には欠点があります-スキームが明らかになると、攻撃者はボットネットの制御を失い、ユーザーは次のアップデートをインストールすることでシステムをクリーンアップできます。
Winntiサイバーグループの動機は現在不明です。 おそらく、攻撃者は金銭的な利益を探しているか、大規模な操作の一部としてボットネットを使用することを計画しています。
ESET製品は、脅威をWin32 / HackedApp.Winnti.A、Win32 / HackedApp.Winnti.B、ペイロードをWin32 / Winnti.AG、第2段階のWin64 / Winnti.BNとして検出します。
妥協の指標はこちらから入手できます 。