
通常、初期アクセスに使用されるGootloaderマルウェアは、現在、最大1,000個のアーカイブを連結することで検知を回避するように設計された不正なZIPアーカイブを使用している。
そうすることで、アーカイブ化されたJScriptファイルであるこのマルウェアは、解析しようとすると多くのツールをクラッシュさせる。
研究者によると、悪意のあるファイルはWindowsのデフォルトのユーティリティを使用して正常に解凍されますが、7-ZipやWinRARに依存するツールは失敗します。
これを実現するために、マルウェアの背後にいる脅威行為者は、500から1,000のZIPアーカイブを連結するだけでなく、解析ツールからの解析をより困難にするために他のトリックも使用しています。
Gootloaderマルウェア・ローダーは2020年から活動しており、ランサムウェアの配備を含むさまざまなサイバー犯罪の作戦で使用されている。
Huntress LabsとDFIR Reportのセキュリティ研究者によって報告されたように、7ヶ月の中断の後、この活動は昨年11月に戻ってきた。
当時、不正なZIPアーカイブが存在していたものの、それらは最小限の修正しか加えられておらず、データを抽出しようとする際にファイル名の不一致がありました。
Expelの研究者がより最近のサンプルを分析したところによると、この段階のアンチ解析をさらに強化するために、Gootloaderの運営者は現在、はるかに広範な難読化メカニズムを実装しています。
具体的には、検出と分析を回避するために、現在では以下のメカニズムが使用されています:
- パーサーがファイルの末尾から読み込むことを悪用して、最大1000個のZIPアーカイブを連結する。
- EOCD(エンドオブセントラルディレクトリ)を切り詰め、2つの必須バイトを欠落させる。
- ディスク番号フィールドをランダム化し、存在しないマルチディスクアーカイブをツールに期待させる。
- ローカルファイルヘッダーとセントラルディレクトリエントリーの間にメタデータの不一致を追加しました。
- 静的検出を回避するために、ダウンロードごとにユニークなZIPとJScriptのサンプルを生成する。
- ZIPをXORエンコードされたブロブとして配信し、それがデコードされ、希望するサイズになるまでクライアント側で繰り返し追加され、ネットワークベースの検出を回避する。

Source:エクスペール
ホスト上で実行されると、マルウェアの JScript は一時ディレクトリから Windows Script Host (WScript) を介して起動し、2 番目の JScript ファイルを指すショートカット (.LNK) ファイルをスタートアップフォルダに追加することで永続性を確立します。
このペイロードは、初回起動時、およびシステム起動のたびに実行され、NTFSショートネームでCScriptをトリガーし、続いてPowerShellがPowerShellを起動する。
Gootloaderの作者は、機能を破壊することなく検出を回避するために複数の破損テクニックを追加しましたが、Expelの研究者は、防御者が脅威を発見できるようにする構造的な異常を使用しました。チームはまた、”一貫して現在のZIPアーカイブを識別することができる “YARAルールを共有した。
この検出は、ZIPヘッダーの特徴、何百もの繰り返されるローカルファイルヘッダー、およびEOCDレコードの特定の組み合わせを検出することに依存しています。
研究者は、JScriptファイルの実行を防ぐために、JScriptファイルを開くデフォルトのアプリケーションをWindows Script Hostではなくメモ帳に変更することを推奨しています。
攻撃対象領域を減らすために、Expelは、JScriptファイルが不要な場合、wscript.exeと cscript.exeがダウンロードしたコンテンツを実行しないようにブロックすることを助言しています。
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}
.ia_button {
width: 100%;
margin: 0px auto;
}
}
MCPのための7つのセキュリティ・ベスト・プラクティス
MCP(モデル・コンテキスト・プロトコル)がLLMをツールやデータに接続するための標準になるにつれて、セキュリティ・チームはこれらの新しいサービスを安全に保つために迅速に動いています。
この無料のチート・シートには、今日から使える7つのベスト・プラクティスがまとめられています。




Comments