5段階のファイルレス・マルウェア、JScriptとPowerShellでAMSIを回避し.NETペイロードをロード

5段階構成のファイルレス・マルウェアローダーを使用し、Microsoftのアンチマルウェアスキャンインターフェース(AMSI)、静的検知コントロール、ディスクベースのフォレンジック分析を回避する、現在進行中のフィッシングキャンペーンが確認されました。

このキャンペーンでは、発注書を装ったTARアーカイブ内にWindows Script Host(JScript)ペイロードを仕込んで配布し、最終的に.NETアセンブリを直接メモリ上にロードします。

この活動は当初、北米に拠点を置く多国籍SaaS(Software as a Service)プロバイダーを標的としたものが確認されました。FIREによれば、エンジニアリングやステージングの複雑さから、同規模の企業が標的として想定されている可能性が高いものの、攻撃者の特定には至っていないとのことです。

研究者らは、このローダーが高度な脅威アクターによる独自運用を反映したものである可能性と、一意に難読化されたサンプルを生成する新興のクリプター・アズ・ア・サービス(Crypter-as-a-Service)機能である可能性の両方に注意を促しています。

ハッキングとクラッキング

感染の連鎖は、被害者が発注書を装ったTARアーカイブから展開された悪意あるJScriptファイルを実行することから始まります。

このスクリプトは、判読可能な文字列や一般的なPowerShellコマンドで意図を露呈させるのではなく、実行時にコードを再構築し、おとりのコンテンツを含め、ランダム化された変数名を用いることで、静的スキャナーやアナリストによるレビューを妨げます。

第1層では、WScript.Shell.Environment(“Process”)のハンドルを確立します。マルウェアは後に、これをプロセス環境変数内にコードをステージングするために使用します。

第2層は、逆順のオフセット暗号によってPowerShellの起動コマンドを隠蔽します。復号されると、このコマンドはconhost.exe -headless経由で、難読化されたフラグと-EncodedCommand引数を伴う非表示のPowerShellインスタンスを起動します。

第3の難読化層は、161616バイトの循環鍵を用いてPowerShellローダーを復号します。復元されたBase64エンコードのローダーはz6ti4ttoCGD1という名前の環境変数に格納され、スクリプトパスはkYcT4A1u9jXwAに格納されます。

これらの識別子は防御側にとって即座に狩り出せる手がかりとなりますが、今後の亜種では容易にローテーションされる可能性があります。

最も特徴的な要素は第4層に見られます。次段のペイロードをファイルやコマンドライン、あるいは単一のエンコード済み文字列として配置するのではなく、PowerShellスクリプトはこれを364364364個の環境変数に分割します。

Fortra Intelligence and Research Experts(FIRE)は、5段階の難読化を用いるファイルレス・マルウェアを配布する現在進行中のフィッシングキャンペーンを特定しました

その後、実行時にこれらの断片を再結合し、[scriptblock]::Create()を用いて呼び出します。この手法により、従来の文字列マッチングの有効性が低下するほか、(‘Lo’+’ad’)のように分割されたメソッド名と組み合わさることで、AMSIによる検査を複雑化させる場合があります。

ファイルレス・マルウェアがJScriptを使用

最終層では、マルウェアは.NETペイロードを、おなじみのBase64や16進数データではなく、CJKまたは漢字文字として格納します。ローダーは各文字のコードポイントから0x4E000x4E000x4E00、すなわち199681996819968を差し引くことで、1バイトずつ変換します。

その後、Reflection.Assembly::Loadを通じて再構築したアセンブリをリフレクティブにロードし、EntryPoint.Invokeを使って実行するため、ディスク上には実行可能なペイロードが一切残りません。

FIREは、最終段階のペイロードをAgent Teslaに関連付けていますが、.NETアセンブリの直接的な復元と完全な分析はまだ完了していません。

最終的なペイロードが何であるかにかかわらず、ローダー自体が中心的なリスクとなります。従来型のエンドポイントの痕跡を最小限に抑えながら、認証情報窃取ツール、ランサムウェアの前段、リモートアクセスツール、データ窃取モジュールなどを展開する目的に転用され得るためです。

このキャンペーンは、JScript実行(T1059.005)、PowerShell(T1059.001)、難読化されたファイルまたは情報(T1027)、ファイルまたは情報の難読化解除/デコード(T1140)、リフレクティブなコードロード(T1620)など、複数のMITRE ATT&CK技術に該当します。

コンピュータードライブとストレージ

防御側は、プロセスの系統、PowerShellスクリプトブロック、コマンドライン、AMSIイベント、プロセス環境変数の動作を捕捉するテレメトリを優先すべきです。

信頼性の高い狩り出しの手がかりとしては、wscript.exeがconhost.exe -headless powershell.exeを起動するケース、PowerShellが環境変数から[scriptblock]::Create()を実行するケース、通常とは異なる大量のランダムな名前の環境変数、そしてその直後に行われるリフレクティブな.NETロードなどが挙げられます。

この手法は最終的な実行可能ファイルをディスクに書き込む必要性を排除するため、組織はファイルハッシュやアンチウイルスのシグネチャのみに頼るのではなく、不審なスクリプトの実行やメモリ上でのアセンブリロードを重大な挙動シグナルとして扱うべきです。

𝗔𝗜 𝗦𝗢𝗖 𝘃𝘀 𝗠𝗗𝗥 𝘃𝘀 𝗠𝗦𝗦𝗣 2026年にどちらが最適か? コスト、自動化、対応力を比較: 無料ガイドをダウンロード

翻訳元: https://gbhackers.com/fileless-malware-uses-jscript/

ソース: gbhackers.com