Gootloader、1,000分割ZIPアーカイブでステルス配信を強化

概要:Gootloaderの新たな回避手法

初期アクセスに利用されるマルウェア「Gootloader」が、最大1,000個のアーカイブを連結した不正な形式のZIPアーカイブを悪用し、検出回避能力を強化していることが明らかになりました。この新たな手法により、多くのセキュリティ分析ツールが解析中にクラッシュする一方で、Windowsのデフォルトユーティリティでは正常に展開されてしまうという問題が発生しています。

Gootloaderの活動背景

Gootloaderマルウェアローダーは2020年から活動しており、ランサムウェアの展開を含む様々なサイバー犯罪作戦で初期アクセスに利用されてきました。昨年11月には7ヶ月の休止期間を経て活動を再開しており、以前から不正な形式のZIPアーカイブを使用していたものの、当時は最小限の改変に留まっていました。

高度な難読化メカニズム

Expelの研究者によると、Gootloaderの運営者はより最近のサンプルにおいて、以下の広範な難読化メカニズムを実装しています。これにより、検出と分析がさらに困難になっています。

  • 最大で千個のZIPアーカイブを連結し、パーサーがファイルの末尾から読み込むという特性を悪用。
  • 必須の2バイトが欠落した「End of Central Directory (EOCD)」の切り詰めにより、ほとんどのツールの解析を妨害。
  • ディスク番号フィールドをランダム化し、ツールに存在しないマルチディスクアーカイブを期待させる。
  • ローカルファイルヘッダーとセントラルディレクトリのエントリ間でメタデータの不一致を発生させる。
  • 各ダウンロードに対して固有のZIPおよびJScriptサンプルを生成し、静的検出を回避。
  • ZIPをXORエンコードされたブロブとして配信し、クライアント側でデコードと繰り返し追記を行うことで、ネットワークベースの検出を回避。

マルウェアの実行と持続性

ホスト上で実行されると、マルウェアのJScriptは一時ディレクトリからWindows Script Host (WScript) 経由でアクティブ化されます。その後、スタートアップフォルダにショートカット (.LNK) ファイルを追加することで持続性を確立し、2番目のJScriptファイルを指し示します。このペイロードは初回起動時とシステム起動時に毎回実行され、NTFSショートネームを持つCScriptをトリガーし、続いてPowerShellを起動します。

検出と対策

Expelの研究者は、Gootloaderの作者が機能性を損なうことなく検出を回避するために複数の破損技術を追加した一方で、防御側が脅威を特定できる構造的異常があることを指摘しています。彼らは、ZIPヘッダー機能、数百の繰り返しローカルファイルヘッダー、EOCDレコードの特定の組み合わせを検出するYARAルールも共有しています。

防御策として、研究者らは以下の点を推奨しています。

  • JScriptファイルを開くデフォルトアプリケーションをWindows Script Hostからメモ帳に変更し、実行を防ぐ。
  • JScriptファイルが必要ない場合、ダウンロードされたコンテンツの実行からwscript.exeおよびcscript.exeをブロックする。

元記事: https://www.bleepingcomputer.com/news/security/gootloader-now-uses-1-000-part-zip-archives-for-stealthy-delivery/