GoFlateLoader:巨大PEオーバーレイに潜む情報窃取型マルウェア

GoFlateLoaderは、Lumma、Vidar、StealC、Amatera、Remusをはじめとする複数の情報窃取マルウェア(インフォスティーラー)の主要な配布手段として広く利用されているGolang製ローダーです。

GoFlateLoaderの設計は意図的にシンプルで、コードはメモリ上で動作する単純なマニュアルPEローダーを実装しており、アンチデバッグ、アンチVM、APIハッシュ化、制御フロー難読化といった機能は持っていません。

代わりに検出回避の手段として採用しているのは、技術的には低レベルながら効果的な手法、すなわちバイナリに巨大なPEオーバーレイを付加してファイルサイズを膨大に膨らませ、検出や自動解析を妨害するというものです。

機能的には、GoFlateLoaderはコンパクトで決定論的なフローに従って動作します。まず.rdataセクションからエンコードされたペイロードをスタックにコピーし、小規模な多段階バイトレベルのデコードルーティンを適用して有効なPEを再構築します。その後、デコードされたPEヘッダー(イメージベース、セクションテーブル、データディレクトリ)をパースし、VirtualAllocを介してRWX領域を確保します。

Image

特筆すべき点として、コード転送にはGoのsyscall.Syscallを汎用的なコールゲートとして使用しています。ローダーはトラップポインタをペイロードのエントリポイントに設定し、ハードコードされたダミー引数(1, 2, 3, 4)を使用します。

このパターン、すなわちフィラー引数を伴うsyscall.Syscallの使用は異例であり、他の指標と組み合わせることで検出の糸口となります。

また、ローダーにはビルドごとに異なる大量のジャンクコード・デコイコードが含まれており、静的解析の複雑さを増大させますが、実行時の動作には影響しません。

Gen Threat Labsは、複数のインフォスティーラーを配布するために使用されている広範なGolang製ローダー「GoFlateLoader」を追跡しています。

GoFlateLoaderの最大の特徴は、極めて大きなPEオーバーレイを一貫して使用している点で、サンプルのサイズは通常700〜950 MBに達します。オーバーレイは通常ヌルバイト(まれにランダムなパディング)で埋められており、ディスク上では肥大化した実行ファイルも圧縮すると大幅に小さくなるため、アーカイブ経由の配布は攻撃者にとって効率的です。

GoFlateLoaderによるインフォスティーラーの隠蔽

その動機は実用的なものです。多くのウイルス対策ソフトやEDRソリューションは、パフォーマンスを維持するために深いスキャンやエミュレーションに実用的なサイズ制限を設けており、自動解析サンドボックスやインテリジェンスプラットフォームも厳格なアップロード上限を設けています(VirusTotalの650 MB制限は明らかな標的と考えられます)。

こうした閾値を超えることで、GoFlateLoaderは詳細な静的・動的解析を回避し、自動化パイプラインでのタイムアウトや処理スキップを引き起こすことを狙っています。

Gen Threat Labsは、GoFlateLoaderの配布経路を2つの主要なベクターと結びつけています。1つはクラックされたソフトウェアパッケージ、もう1つはCheck Point Researchが最近分析した悪意のあるTDS(トラフィック配布システム)です。

このTDSは被害者をパスワード保護されたアーカイブを配布するランディングページへリダイレクトします。アーカイブのパスワードはページ上に別途表示されており、パスワードを持たない自動スキャナーがバイナリを展開・解析できない仕組みになっています。

圧縮によってオーバーレイのディスク上の影響を軽減し、パスワード保護によって攻撃者の運用上の安全性が高まります。これにより、人間が手動で展開するまでペイロードは暗号化されたまま維持されます。

GoFlateLoaderはアーキテクチャを認識しており、対象のインフォスティーラーペイロードに合わせてx86とx86-64の両方のビルドが存在します。このローダーは、Lumma、Vidar、StealC、Amatera、Remusといった広く普及している情報窃取マルウェアファミリー(SvitStealerなども含む)を配布することが確認されています。

Image

高度な機能を持たないにもかかわらず、その有効性は実証されています。2026年4月以降、Gen Threat LabsはGoFlateLoaderから33,000人以上のユニークユーザーを保護したと報告しており、ブラジル、インド、アルゼンチン、メキシコ、トルコ、スペインで特に多く検出されています。

検出の糸口としては、定数ダミー引数を伴うコールゲートとして使用されるsyscall.Syscallの痕跡、大きなPEオーバーレイの一貫した存在、およびローダーの静的パターン(.rdataに格納されたデコード済みペイロード、マニュアルPEマッピングシーケンス)が挙げられます。

防御者は、クラックされたソフトウェアのインストールに対して厳格な管理を実施し、既知のTDSランディングページとアーカイブをブロックし、サンドボックス・解析パイプラインが大きな圧縮ファイルを処理できるよう対応するか、またはページ上にパスワードが提供されている場合にパスワード保護されたアーカイブを自動展開するポリシーを実装する必要があります。 

侵害の痕跡(IoC) 

注記:IoC一覧に記載されているファイルのうち、アーカイブ以外のものはすべてサイズが650 MBを超えているため、VirusTotalでは入手できません。 

b88c5744975d2abb447aecc6c090fee9f8580413f4612eecdc6ed1973e8a1739(RemusをロードするGoFlateLoader x64バリアントを含むパスワード保護アーカイブ;パスワード: 1234) 

ed5ae7f36453c5a23e9868a5729d67e0549a11f6dea54f5f52d654a8f51d4902(RemusをロードするGoFlateLoader x64バリアントを含むアーカイブ)

841c9297cb8a2e0ff89433d13c05bfc760eb2e98e251cb8fa785d2ad7cbac05f(AmateraをロードするGoFlateLoader x86バリアントを含むアーカイブ)

ece7c48eb411b24f26762ede83badb4a644c41d5777129381ac2541804d64fc2(LummaをロードするGoFlateLoader x86バリアントを含むアーカイブ) 

421ce2d2f49c23bbe9f60ef3b9cd38d7eb912ce02e56a61837656210069bd9e2(VidarをロードするGoFlateLoader x64バリアントを含むアーカイブ) 

121c2dc793b3873f75a29ec02241f94136de19c049382a50a50d0d5b99507073(StealCをロードするGoFlateLoader x64バリアント) 

2415db5081cec9bfd14ad6da1a66169fd96f13a49010c319a73d1ed6fafd4efa(VidarをロードするGoFlateLoader x64バリアント) 

d9917ade3b4c125a95b5d3e6343cde26145dfbf569bd7e2a843fd0c6fc8ddc28(RemusをロードするGoFlateLoader x64バリアント) 

4cf6893756f441522b94b36f10e5de0e47aeed4743f95c51650746d1ecf97e3d(SvitStealerをロードするGoFlateLoader x64バリアント)

8b89d6c9152d3aab97aadd515ecb69ca72654db2f25425759ba4b646853d737d(LummaをロードするGoFlateLoader x86バリアント)

90ce4ff9da23ac150da0a8e17930cab1e369aa349fdc1b65691b70369145664a(AmateraをロードするGoFlateLoader x86バリアント)

注記: IPアドレスおよびドメインは、誤った名前解決やハイパーリンク化を防ぐため、意図的にデファング処理(例:[.])されています。再ファング化はMISP、VirusTotal、SIEMなどの管理された脅威インテリジェンスプラットフォーム内でのみ行ってください。

翻訳元: https://gbhackers.com/goflateloader-hides-infostealers/

ソース: gbhackers.com