Yoko Hasebe (長谷部洋子 岩国市) @yokotf4yur · 185d Active Exploitation
https://x.com/i/grok/share/e1780549889e429ab2a131fc5a30660fGooseEggツールの詳細技術解析です。GooseEggはAPT28(Forest Blizzard / Fancy Bear / GruesomeLarch)が独自開発したポストコンパイゼーションツール(post-compromise tool)で、CVE-2022-38028(Windows Print Spoolerの特権昇格脆弱性)を悪用してSYSTEM権限で任意の実行ファイル/DLLを起動するランチャーです。Microsoft Threat Intelligenceが2024年4月22日に詳細を公開し、VolexityのNearest Neighbor Campaign(2022年2月)でも同一ツールが確認されました。少なくとも2019年4月〜2020年6月から使用されており、2022年10月のMicrosoftパッチ適用後も過去の未パッチ環境で活用されています。1. 全体像と目的役割: 初期アクセス後(unprivilegedユーザー権限から)、Print Spoolerサービスを悪用してSYSTEM権限を取得し、任意のペイロード(バックドア、credential dumper、横移動ツールなど)をSYSTEMとして実行。
特徴: シンプルなランチャー(GooseEgg本体は「見せかけの実行」)。
**Living-off-the-Land(LoTL)**重視で、カスタムマルウェアを最小限に。
検知回避のため、DriverStore内の正当ドライバファイルを悪用し、シンボリックリンクを操作。
使用例(Nearest Neighbor): Wi-Fi近接侵入後、unprivileged RDPログイン → GooseEggで権限昇格 → SAM/NTDS.dit抽出 → Compress-ArchiveでZIP化。
2. 展開フロー(Batchスクリプト + GooseEgg本体)典型的な展開はバッチスクリプトから始まります(ファイル名例: execute.bat / doit.bat)。バッチスクリプトの動作:servtask.batを作成(レジストリハイブ保存+圧縮コマンドを記述)。
例(Microsoft報告より):
reg save hklm\sam C:\ProgramData\http://sam.save
reg save hklm\security C:\ProgramData\http://security.save
reg save hklm\system C:\ProgramData\http://system.save
GooseEgg実行ファイル(DefragmentSrv.exeなど)を呼び出し。
Scheduled Taskを作成してservtask.batをSYSTEMで定期実行(永続化)。
GooseEggバイナリ(DefragmentSrv.exe / justice.exeなど):コマンドライン引数で4種類のコマンドを受け取り、それぞれ異なるパスで実行。
本体は「見せかけ」だが、内部でPrint Spooler悪用ルーチンを実行。
成功確認のためwhoamiを実行し、SYSTEMであることを検証。
3. CVE-2022-38028悪用の核心メカニズム(技術的詳細)Microsoftが最も詳細に解析した部分です。Print SpoolerのJavaScript Constraintsファイル(プリンタドライバの制約JS)を悪用。ステップバイステップ:DriverStoreから正当ファイルをコピー:C:\Windows\System32\DriverStore\FileRepository\pnms009.inf_amd64_... などのドライバパッケージを、攻撃者制御ディレクトリ(C:\ProgramData\[ランダム]\v%u.%02u.%04u)にコピー。
対象JSファイル: MPDW-Constraints.js(Print-to-PDFドライバ関連)。
レジストリ操作(COMサーバー偽装):カスタムプロトコルハンドラを作成。
新しいCLSIDを登録(rogue COM server)。
オブジェクトマネージャー操作:C:ドライブのシンボリックリンクを攻撃者ディレクトリにリダイレクト(\??\C: を書き換え)。
Print Spoolerによる実行:Print SpoolerがC:\Windows\System32\DriverStore\...\MPDW-Constraints.jsをロードしようとする。
リダイレクトにより攻撃者制御のJSがロード → SYSTEM権限で実行。
結果: 埋め込み悪意DLL(wayzgooseXX.dll)がPrintSpoolerプロセス内でロード。
wayzgoose.dllの役割:基本的なランチャー(launcher application)。
コマンドラインで指定された任意のEXE/DLLをSYSTEM権限でspawn。
例: バックドアインストール、RCE、credential dumpingツール実行。
インストールディレクトリ例(Volexity/Microsoft共通):C:\ProgramData\[ランダム文字列]\v[バージョン].%02u.%04u(例: C:\ProgramData\Adobe\v3.80.15456 や dobev3.80.15456)
ファイル構成例(Nearest Neighborで観測):http://DefragmentSrv.zip → 解凍でDefragmentSrv.exe + DefragmentSrv.bat
wayzgoose52.dll(wayzgoose + 数字が特徴的)
servtask.bat
PDB: wayzgoose.pdb(デバッグ情報)
4. MITRE ATT&CK対応(主なTTPs)T1068 Exploitation for Privilege Escalation(CVE-2022-38028)
T1543.003 Windows Service(Print Spooler悪用)
T1053.005 Scheduled Task(永続化)
T1562.004 Impair Defenses(Print Spooler経由)
T1059.001 PowerShell / cmd.exe(servtask.bat内)
5. 検知・防御ポイントIoC:ファイル: DefragmentSrv.exe, wayzgoose*.dll, servtask.bat, http://DefragmentSrv.zip
パス: C:\ProgramData\*\v*.*.* や MPDW-Constraints.js の異常配置
レジストリ: 新規CLSID / プロトコルハンドラ
Post summary
The analysis demonstrates that GooseEgg actively exploits CVE‑2022‑38028 in the wild, detailing the tool’s mechanisms, ongoing usage, and referencing Microsoft’s patch.