Hacker

現在進行中の Google 広告のマルバタイジング キャンペーンでは、KoiVM 仮想化テクノロジを利用して Formbook データ スティーラーのインストール時に検出を回避するマルウェア インストーラーが拡散されています。

KoiVM は、仮想マシンのみが理解できるようにプログラムのオペコードを難読化する ConfuserEx .NET プロテクターのプラグインです。次に、起動時に、仮想マシンはオペコードを元の形式に変換して、アプリケーションを実行できるようにします。

「KoiVM などの仮想化フレームワークは、NET Common Intermediate Language (CIL) 命令などの元のコードを、仮想化フレームワークだけが理解できる仮想化されたコードに置き換えることで、実行可能ファイルを難読化します」と SentinelLabs の新しいレポートは説明しています。

「仮想マシン エンジンは、仮想化されたコードを実行時に元のコードに変換して実行します。」

「悪用されると、仮想化はマルウェアの分析を難しくし、静的な分析メカニズムを回避しようとする試みでもあります。」

Sentinel Labs が発見した Google の広告キャンペーンでは、脅威アクターが Formbook 情報を盗むマルウェアを「MalVirt」と呼ばれる仮想化された .NET ローダーとしてプッシュし、ウイルス対策アラートをトリガーすることなく最終的なペイロードを配布するのに役立ちます。

Sentinel Labs は、KoiVM の仮想化はハッキング ツールやクラックにはよく使われているものの、マルウェアの配布にはほとんど使用されていないとコメントしています。

代わりに、セキュリティ会社は、その使用における新しい傾向は、Microsoft が Office でマクロを無効にしたことによる複数の副作用の 1 つかもしれないと考えています。

Google 検索広告の悪用

この 1 か月で、RedLine Stealer、Gozi/Ursnif、Vidar、Rhadamanthys Stealer、IcedID、Raccoon Stealer など、 さまざまなマルウェアを配布するための Google 検索広告の悪用が増加していることが研究者によって確認されています。

SentinelLabs が確認した進行中のキャンペーンでは、脅威アクターが、Blender 3D ソフトウェアを装った広告で MalVirt ローダーをプッシュしています。

悪意のある Google 検索結果
悪意のある Google 検索結果(Sentinel Labs)

これらの偽のサイトが提供するダウンロードは、Microsoft、Acer、DigiCert、Sectigo、および AVG Technologies USA になりすました無効なデジタル署名を利用しています。

これらの無効な署名によって Windows が署名済みとして表示されることはありませんが、MalVirt ローダーには検出を回避するための機能が含まれています。

「たとえば、一部のサンプルは、amsi.dll に実装されている AmsiScanBuffer 関数にパッチを適用して、悪意のある PowerShell コマンドを検出する Anti Malware Scan Interface (AMSI) をバイパスします」と研究者の A. Milenkoski は説明しています。

さらに、静的な検出メカニズムを回避するために、一部の文字列 (amsi.dll や AmsiScanBuffer など) は Base-64 でエンコードされ、AES で暗号化されています。

KoiVM で仮想化された MalVirt アセンブリ
KoiVM 仮想化 MalVirt アセンブリ(Sentinel Labs)

ローダーは、特定のレジストリ キーを照会することで、仮想化環境で実行されているかどうかを検出することもできます。実行されている場合は、分析を回避するために実行が停止します。

MalVirt は、システムの起動時に「TaskKill」として読み込まれる署名付きの Microsoft Process Explorer ドライバーも使用し、実行中のプロセスを変更して検出をかわします。

仮想化されたコードの逆コンパイルも回避するために、ローダーは追加の難読化レイヤーを備えた修正バージョンの KoiVM も使用し、解読をさらに困難にしています。

難読化された値の割り当てを算術的に導き出す
難読化された値の割り当てを算術的に導き出す(Sentinel Labs)

SentinelLabs によると、このカスタム KoiVM 実装は、単純な代入を使用する代わりに算術演算によってルーチンを難読化することで、「OldRod」などの標準的な非仮想化フレームワークを混乱させます。

Milenkoski は、これらの MalVirt ローダーの難読化を無効にして、KoiVM の 119 個の定数変数の元の順序を復元することが可能であると述べています。

ただし、追加の難読化により、既存の自動化ツールが役に立たないため、多大な手作業が必要になり、困難になります.

インフラを隠す

マルウェア ローダーで使用されるすべての検出回避システムに加えて、Formbook 自体に新しいトリックが採用されており、実際の C2 (コマンド アンド コントロール) トラフィックと IP アドレスを偽装するのに役立ちます。

情報を盗むマルウェアは、コンテンツが暗号化およびエンコードされているさまざまな「煙幕」HTTP 要求と実際のトラフィックを混ぜ合わせて、目立たないようにします。

マルウェアはこれらの IP とランダムに通信し、さまざまな企業がホストするドメインを含むハードコードされたリストから IP を選び出します。

SentinelLabs が分析したサンプルでは、Formbook が 17 のドメインと通信していることが確認されました。そのうちの 1 つだけが実際の C2 サーバーであり、残りはネットワーク トラフィック監視ツールを混乱させる単なるおとりとして機能していました。

16 の偽の C2 アドレスを通信に使用する
マルウェア通信で複数の偽の IP を使用する(Sentinel Labs)

これは、かなり古いマルウェア系統の新しいシステムであり、そのオペレーターが、セキュリティ ツールやアナリストから隠されることを改善する新しい機能を強化することに関心があることを示しています。

攻撃者が Formbook のマルスパム配布を Google 検索広告に完全に切り替えたかどうかはまだわかりませんが、ユーザーが検索結果でクリックするリンクに非常に注意する必要があるもう 1 つの例です。