セキュリティ研究者たちは、エンドポイント検出および対応(EDR)システムをすり抜けるために、インメモリPEローダーを利用した新たな攻撃の波を発見しました。これらの攻撃では、脅威アクターは悪意のあるリンクや添付ファイルを介して、小型のダウンローダーを被害者に送りつけます。一度実行されると、このダウンローダーはリモートサーバーから完全なPortable Executable(PE)ファイルをフェッチし、それを信頼されたプロセスのメモリに直接マッピングします。この手法により、ペイロードはディスクに触れることなく実行され、従来のアンチウイルスやEDRツールが攻撃を検出またはブロックすることを極めて困難にしています。
### インメモリPEローダーの仕組み
インメモリPEローダーは、正当なオペレーティングシステム機能を悪用して、コードを完全にメモリ内でダウンロードおよび実行します。まず、初期のスタブがWinInetまたは類似のAPIを使用して、攻撃者が制御するURLから悪意のあるペイロードを取得します。次に、スタブは実行中のEDR承認済みプロセス内に仮想メモリ領域を割り当て、ダウンロードされたEXEの生バイトをコピーします。その後、PEヘッダーを解析し、各セクションを適切な仮想アドレスにマッピングし、インポートと再配置を修正してコードが正しく実行できるようにします。各セクションに適切なメモリ保護(コードページを実行可能としてマークするなど)を設定した後、ローダーはペイロードのエントリポイントにジャンプし、悪意のあるコードに制御を渡します。この一連のフローは、ディスク上に悪意のある実行可能ファイルを一切残さないため、ファイルスキャンやファイルシステムアクティビティに基づく検出を回避します。初期のスタブは無害に見え、メインペイロードは信頼されたプロセス内で実行されるため、プロセス作成やメモリ動作を監視する高度なEDRシステムでさえ、これらのステップを見逃したり誤分類したりすることがよくあります。
### 最近のキャンペーン
報告によると、最近のキャンペーンでは、これらのインメモリローダーが、細工された電子メールの添付ファイル、偽のソフトウェアアップデート、および侵害されたウェブサイトを通じて配信されています。被害者は、一見無害に見える数キロバイトの小型ダウンローダーを起動するよう騙され、そのダウンローダーがクラウドストレージリンクやGitHubリポジトリから、より大きなPEペイロード(多くの場合、カスタムツール、リモートアクセス型トロイの木馬、または認証情報窃取ツール)をダウンロードします。ペイロードがディスクに書き込まれることがないため、フォレンジック調査官は攻撃後に証拠を見つけるのに苦労する可能性があります。ある事例では、攻撃者が人気のあるユーティリティを装ったリモート管理ツールをフェッチするためにローダーを使用し、それを正当なプロセスに注入することで、脅威アクターがネットワーク内で横方向に移動し、機密データを盗むことを可能にしました。シグネチャベースの防御にのみ依存していた組織は、対応する前にエンドポイントが侵害されていました。
### 防御戦略
防御側は、複数のテレメトリーソースを組み合わせることで、インメモリPEローダーの検出を改善できます。
* VirtualAlloc、WriteProcessMemory、VirtualProtectなどの異常なAPI呼び出しを監視し、コードインジェクションの試みを特定する。
* ユーザープロセスからの予期せぬネットワーク接続に対する異常検出を行う。
* メモリ整合性チェックとエンドポイント挙動分析を活用し、これらの隠れたローダーをリアルタイムで発見する。
防御を強化するためには、以下の対策が推奨されます。
* 厳格なアプリケーション許可リストを強制する。
* ライブプロセスを検査できるメモリ検索ツールを導入する。
* 機密性の高い環境をセグメント化し、横方向の移動を制限する。
* インメモリ攻撃をシミュレートする定期的な脅威ハンティング演習を実施する。
* ファイルレス技術に対する最新の検出ルールでEDRソリューションを常に更新する。
元記事: [https://gbhackers.com/attackers-bypass-edr-in-memory-pe-loaders/](https://gbhackers.com/attackers-bypass-edr-in-memory-pe-loaders/)