Slide 1

Slide 1 text

EDRの検知の仕組みと 検知回避について

Slide 2

Slide 2 text

Whoami • 経歴 • セキュリティ歴は6-7年程度、7割がSOC • 主にEDRとSIEMを監視 • CrowdStrike, Cybereason, Microsoft Defender for Endpoint, Carbon Black EDR, (Elastic Defend)の監視 • 今は研究員というポジション、実際はサイバー演習(RT)、内部レッド、Conference参加・登 壇と何でも屋な感じ • Conference/勉強会 • Black Hat USA/EU, Code Blue, AVTokyo, Offsec Japan, OWASP, (Bsides London) • 資格 • OSEP/OSCP/CRTL/CRTO/CRTA/CISSP/CKS/GMON/CEH/LPIC/NW/RISS • 趣味:サッカー観戦、動物カフェ、温泉、漫画 • 最近の興味:LLM関連 • X (Twitter): @chayakonanaika – 解析mob 青字の経験をもとに今回の資料を作成

Slide 3

Slide 3 text

今回の発表の背景・目的 • (自分の観測範囲内で)たまに見たり聞いたりする会話 EDRが入っているので大丈夫です • EDR最強説を信じている人が一定数いる気がする(特にマネジ メント層) • EDRの振舞い・AI検知等の守備範囲が曖昧で、良くも悪くも便利だか らこの会話・印象が生まれると推測 • “この攻撃は異常な振舞いだから振舞い分析で検知できます”とか便利な表現 • EDRが素晴らしい製品であるが、当然完璧ではないし過信はよくない EDRが入っているので大丈夫です 弊社のセキュリティ は大丈夫かね?

Slide 4

Slide 4 text

今回の発表の背景・目的 • EDRの様々な検知回避や無効化する手法が存在・研究されている • 大きいカンファレンスだとEDRのBypass関連の話が1件はある • あまり頼りにならないEDRも噂でちらほら・・・(この辺はガチペンテ スターに聞いた方が良いかも) EDRの理解を深めて セキュリティの向上に繋げるのが目的 EDRが入っているので大丈夫です 弊社のセキュリティ は大丈夫かね?

Slide 5

Slide 5 text

目次 1. EDRの概要 2. EDRの構成・検知の仕組み • EDR Agent • バックエンドサーバー • 管理コンソール 3. 検知回避の技術について • Unhook • BYOVD • 攻撃ツール

Slide 6

Slide 6 text

EDRの概要

Slide 7

Slide 7 text

EDR (Endpoint Detection and Response)とは • エンドポイントの脅威を継続的に監視し、対応するサイバーセキュリティソ リューション • エンドポイントとあるが主要のEDR製品はLinuxもサポート • 過去のSOCの経験だと、意外とCriticalインシデントの半分近くはサーバ関連だった印象 (Webサーバ、Mailサーバ、etc) • ネットワークやクラウドのログも統合したXDRサービスもあったりする • 主な特徴 • 脅威の検知 • ログ収集、可視化によるインシデント対応 • 近年のセキュリティ製品で最も普及した(&革新的な)製品の1つだと思う(個 人的意見)

Slide 8

Slide 8 text

EDRの重要性 • 高度化するマルウェアやサイバー攻撃に(ある程度)対応 • ファイルレスマルウェア • 正規ツールの悪用 • Supply Chain攻撃 • SolarWinds、ASUS Live Updateとかが有名 • Living off the Land • 侵害したシステムにすでにあるツールや機能を利用して攻撃、被害拡大 • リアルタイム検知できなくても、ログ収集しているので後追いでインシデ ント対応も可能 • コンソールからPowershellを操作できるので、Fast Forensicsとして利用することも • 逆にEDRコンソールが乗っ取られたらなんでもできる • 他要素認証等でアクセス管理は厳格にすること

Slide 9

Slide 9 text

主なEDR製品の市場シェア https://www.microsoft.com/en-us/security/blog/2024/08/21/microsoft-again-ranked- number-one-in-modern-endpoint-security-market-share/ https://www.cybereason.co.jp/news/press-release/12739/ 海外の市場シェア、MicrosoftとCrowdStrikeが強い 国内の市場シェア、Cybereasonが強い

Slide 10

Slide 10 text

(個人的意見)EDRで評価するポイント 1. 検知率: 未知のマルウェアでも検知するか 2. コンソールからインシデント対応しやすいか • ログが見やすいか、検索しやすいか(そもそもログがあるか) • 特にプロセスの流れ(プロセスツリー)を追いやすいか • アラートページだけで必要な情報を取得・対応できると嬉しい • ページがさくさく動くか、検知ファイルを取得できるか、etc • 隔離したり、リモートログインしてFast Forensic的なことができるか 3. 過検知が起きすぎないか • 見落としがちな気がするが、SOC(ビジネスユーザも)としてはかなり重要 • 過検知が起きすぎると、最悪アラート対応よりもAllow List作成の方に時間がかかる • 監視が前提なため過検知が多すぎるとアラートで忙殺されて、EDRの導入が最悪マイナスに 4. その他:構築しやすいか、処理が軽いか等(構築は専門外)

Slide 11

Slide 11 text

EDRの内部構造 (注意点) 本資料の内容は一般的なEDRの機能や構成例を元にしています 公開情報、各種トレーニング資料などをベースにした概念説明です 実際の実装は各製品によって異なります

Slide 12

Slide 12 text

EDRの主な構成要素・登場人物 • エンドポイント • Agent • 端末からデータを収集し、簡易的な分析を実施 • 悪意ある動作が確認されると、動作ブロック • Telemetry • システム上のアクションを記録 • バックエンド:データ保存・分析サーバー • 管理コンソール: 可視性と制御を提供 引用: EDRとは?EDRの知識と導入運用のススメ | セキュリティ対策のラック

Slide 13

Slide 13 text

EDRの検知ロジック • エージェントとバックエンドに存在* • エージェント • マルウェアのブロックや簡易な分析をおこなう • スコアリングして閾値以上になったらリアルタイム で検知・ブロック等を行う • バックエンド • 収集したTelemetryをAI等を利用して複雑な分析を 行う • 後追いでの分析になるので、タイムラグがある • とあるEDRで数時間前のmimikatzの実行がアラート で上がったような記憶が… • 他にもBlock ListのHashがUpdateされて、1週間前の プロセスの実行を検知したり等 *Evading EDR, 1章 (エージェント) リアルタイムで 検知・ブロック (バックエンド) 後追いで検知

Slide 14

Slide 14 text

(参考)主なTelemetry • どの情報を記録するかは製品それぞれで異なる* • プロセス関連 • プロセス生成、終了、ロードされたDLL • Network関連 • TCP Connection, UDP Connection, URL, DNS Query • File System関連 • ファイル生成、変更、削除 • ユーザアカウント関連 • アカウント作成、削除、修正、ログイン、ログオフ • デバイス関連 • ファイル転送、USB Mount 参考: *https://github.com/tsale/EDR-Telemetry 大量のデータを収集・分析している

Slide 15

Slide 15 text

EDR Agentの主な構成要素 • User Space: EDR DLL • API Hookを利用してプロセス内の不審な動作を監視・記録 • User Space: EDR Service • EDR DLLやDriverからの情報を統合して、管理コンソールと連携 • Kernel Space: EDR Driver • Kernel Callback等を利用してKernelレベルでファイルやレジストリ、プロセス操作等を監視 • プロセス生成時にEDR Serviceを通じて、新規プロセスにEDR DLLをInjection Kernel Space EDR.dll プロセス監視 newProcessのMemory User Space EDR Driver プロセス、NW、レジストリ、ファイル監視 EDR Service コンソールと連携 カーネル層, システムコールを処理 (NtAllocateVirtualAlloc, etc) EDR Cloud Telemetry - Process - File - Network Kernel Callback

Slide 16

Slide 16 text

プロセスでロードされるEDRのDLL

Slide 17

Slide 17 text

EDRのカーネルドライバ

Slide 18

Slide 18 text

EDRのサービス カーネルドライバレベルで保護されて いるので、System権限でもプロセス・ サービスの停止は不可

Slide 19

Slide 19 text

API Hookとは • API Hookとは、アプリケーションやプロセスが呼び出すAPI関数を傍受し、 その動作を監視・制御する技術 • API Hookにはさまざまな手法が存在する • Inline Hook • 関数のコードを直接書き換えて、関数の先頭にJump命令を追加 • IAT Hook (Import Address Table Hooking) • アプリケーションのImport Address Table (IAT)を操作し、特定のAPI関数を別の関数に置き換え。ntdll.dll内の NtCreateFileのアドレスを、EDRの独自関数にリダイレクト等 • 攻撃者も悪用、マルウェアUrsnifではIATフックでキーロガーを実装* 引用: 日経クロステック、 システムに介入する 「フック」の技術 *マルウェア解析ブログ、Ursnif(Dreambot, Gozi)の静的解析レポート

Slide 20

Slide 20 text

EDRのHookを利用した監視 (User Space) • EDRもプログラムの監視のために様々なフックの手法を利用 • Inline hookやIAT hookはよく利用される • フックを利用してマルウェアに頻繁に利用されるAPIを監視 Kernel Space newProcess.exe kernel32.dll (VirtualAlloc, etc) ntdll.dll (NtAllocateVirtualAlloc) EDR.dll プロセス監視 newProcessのプロセス空間 User Space カーネル層, システムコールを処理 (NtAllocateVirtualAlloc, etc) Kernel32.dllはユーザアプリで利用 公開されているWindows APIを提供 ntdll.dllは非公開のネイティブAPIで低レベルなシステムDLL プロセス作成時にロードされるDLLに対してフックを行う Ntdllをフックして、システム コールの前に、EDRが検査 不審なプロセスと判断したら、 プロセスをKillする

Slide 21

Slide 21 text

(参考)フックされるAPI • 大量のAPIがフックされ、フックされるAPIを列挙するツールもある* *https://github.com/asaurusrex/Probatorum-EDR-Userland-Hook-Checker 良くフックされるAPI名 主な役割・用途 NtCreateFile ファイルやデバイスの作成・オープンを行うAPI。マルウェアがファイル操作を行 う際の挙動を検知。 NtCreateThreadEx スレッドを作成する低レベルAPI。リモートプロセスへのスレッド挿入(プロセス インジェクション)などで使われる。 VirtualAllocEx リモートプロセス上のメモリ領域を確保するAPI。プロセスインジェクションの初 期ステップで利用されることが多い。 WriteProcessMemory 他プロセスのメモリへ書き込みを行うAPI。シェルコード注入やコードインジェク ションで多用される。 LoadLibraryExW DLLをロードするAPI。フック解除のための攻撃で利用される

Slide 22

Slide 22 text

EDRのCallbackを利用した監視 (Kernel Space) • Callbackの仕組みを利用してKernelレベルで監視 • 特定のイベント・アクションが発生した際に関数が呼び出される仕組み • プロセス生成時のCallbackを利用して、新規プロセスにAPIをフックしたり、DLLをInjectす る • 他にもNetwork filter drivers, Early Launch Antimalware drivers, Minifilter drivers等も利用 • Minifilterはファイルへのアクセスを監視・制御する仕組み* 1つの方法では回避されるため、様々な方法・レベルで監視を 実現 *A part of Anti-Virus, かえるのほんだな

Slide 23

Slide 23 text

(参考)利用しているKernel Callback Notification Routine 主な役割・用途 PsSetCreateProcessNotifyRoutine 新規プロセス生成/削除時に呼ばれるコールバックを登録。 プロセスの作成や終了をブロック可能。 PsSetCreateThreadNotifyRoutine 新規スレッド生成/削除時に呼ばれるコールバックを登録。 スレッドの作成や終了をブロック可能。 PsSetLoadNotifyRoutine DLLなどのイメージがロード/マッピングされる際に呼ばれるコールバックを登 録。ユーザーモードフックの解除につながるDLL再マッピングを防止可能。 ObRegisterCallbacks プロセス・スレッド・デスクトップハンドル操作に対するコールバックを登録。 OpenProcess、OpenThread、DuplicateHandle へのアクセス権を制御可能。 CmRegisterCallback スレッドがレジストリを変更した時に呼ばれる (参考) Otterhacker, Kernel Callback EvasiveMalware, 13章

Slide 24

Slide 24 text

代表的なEDR Bypassの手法 (Hook回避、User Space) Hook回避は定番なので、大抵のEDRで検知されるが、仕組 みを理解しておくと色々と理解が深まる 以降は検知回避ですが悪用厳禁、あくまでセキュリティ向 上を目的にすること

Slide 25

Slide 25 text

Direct Syscalls • カーネルに直接システムコールする方法 • syswhispers, hell’s gate, hallo’s gateという幾つかの手法がある • 直接システムコールを呼び出すとフックされたEDRの処理がよばれない • Cortex(Paloalto)ではKernelのシステムコールを監視・制御することで検知* • Syscallsの戻り値がntdll.dllのアドレスでないことで検知・ブロックされることも多い User Space Kernel Space malware.exe kernel32.dll ntdll.dll EDR.dll malwareのプロセス空間 カーネル層, システムコールを処理 NtAllocateVirtualAlloc, NtCreateFile, etc *A Deep Dive Into Malicious Direct Syscall Detection EDR Driver プロセス、NW、レジストリ、ファイル監視

Slide 26

Slide 26 text

Direct Syscallsの検知

Slide 27

Slide 27 text

(参考) Indirect Syscalls • Direct Syscallsとは異なり、ntdll.dllのsyscall命令があるアドレスにjmpする 手法 • syscallを直接実行しない&return先がntdll.dllのため、(若干)検知されにくい User Space Kernel Space malware.exe kernel32.dll ntdll.dll EDR.dll malwareのプロセス空間 カーネル層, システムコールを処理 EDR Driver プロセス、NW、レジストリ、ファイル監視

Slide 28

Slide 28 text

(参考) Indirect Syscallsの検知

Slide 29

Slide 29 text

Full DLL Unhooking • ディスクからhookされていないntdll.dllを読み込み、メモリに上書きする方法 1. ディスクから新しいコピーのntdll.dllをメモリにマップ 2. 新しくマップされた DLL の .text セクションを、フックされたntdll.dllにコピー • ディスクにあるntdll.dllへのアクセスやメモリへの書き込みをEDRが検知することが多い • NtWriteVirtualMemory, NtAllocateVirtualMemory等をHookされている User Space Kernel Space Malware.exe Kernel32.dll (フックされた) ntdll.dll EDR.dll Malwareのプロセス空間 カーネル層, システムコールを処理 ntdll.dll (c:¥windows¥system32) ディスク フックされていないDLL ディスクにあるntdll.dllを ロードすることで、EDR.dll へのフックが外れる EDR Driver プロセス、NW、レジストリ、ファイル監視

Slide 30

Slide 30 text

Unhookの検知

Slide 31

Slide 31 text

代表的なEDR Bypass(無効化) の手法 (Kernel Space)

Slide 32

Slide 32 text

Bring Your Own Vulnerable Driver (BYOVD) • 既知の脆弱性を持つ正規のドライバーを攻撃者が持ち込んで悪用 • 正規の署名済みドライバーを利用するため、検知・ブロックが難しい • ドライバはカーネルモードで動作するため、脆弱性を通じてカーネルランド のメモリ領域を書換えが可能になり、コールバック等の停止に利用 • 新規ドライバーのインストールは管理者権限が必要 脆弱なDriver Kernel Space Malware User Space EDR Driver EDR Service コンソールと連携 カーネル層, システムコールを処理 (NtAllocateVirtualAlloc, etc) EDR Cloud Telemetry - Process - File - Network (インストール) 攻撃 コールバックを外す等 サービスを止める等

Slide 33

Slide 33 text

BYOVDへの対策 • 多くの攻撃者が利用する手法のため、正規ドライバーでもAV/EDRや Virustotalでmalicious判定されることもある • 経験の浅い人が”正規ドライバーなので誤検知”と判断が有り得るので、認識することが 重要 • 基本的に管理者権限が必要な攻撃なのでそれまでに対処したい • ただし、すでに脆弱なドライバーがインストール済みの場合は、条件が変わるのでOSや ドライバー等の最新パッチの適用は重要 • Microsoftも脆弱なドライバーブロックリストを作ったり、WDACを導入し て対抗 • GithubでBYOVDをThreat Huntingするルールがいくつか公開されている • この攻撃への特効薬はないので多角的にリスクを軽減することが重要

Slide 34

Slide 34 text

(参考)脆弱性を持つ正規のドライバーの VT判定

Slide 35

Slide 35 text

(参考) WDAC (Windows Defender Application Control) • カーネルレベルでアプリケーション・ドライバーをコントロールする仕組み • AppLockerの後継のような機能 • カーネルレベルでポリシーを設定できたり、プロセスベースでポリシーを作成できたり できる • ポリシーによって許可されていないドライバーをブロック等が可能 • 運用コストは高そうな印象 • 後に紹介する攻撃ツールはこの仕組みを悪用してEDR自身をブロック・・・ 参考:端末のファイル実行を制御するセキュリティ AppLocker, WDACのススメ

Slide 36

Slide 36 text

(参考)Minifilterを悪用してEDRを無効化 • MiniFilter DriverとはファイルへのI/Oを処理するDriverの一種でファイル処 理の前後にコールバックを登録できる • EDRはこの仕組みを利用して、ファイル操作、ファイルの中身を監視 • Minifilter DriverにはAltitudeという一意の値が割り振られ、この順番でイベントを処理 • このAltitudeを調べてEDR製品と同一の値を登録して、重複することでEDR製品の不具 合を起こす攻撃や、独自のminifilterを登録してEDRを無効化する手法等がある • 管理者権限が必要なのでそれまでに対処したい (参考) - tier zero security, Abusing MiniFilter Altitude to blind EDR - When the Hunter Becomes the Hunted: Using Minifilters to Disable EDRs 引用: Microsoft Filter Manager Concepts

Slide 37

Slide 37 text

EDR Bypassの手法 (その他)

Slide 38

Slide 38 text

BYOSI (Bring Your Own Scripting Interpreter) • Scripting Interpreterを持込んで、スクリプト型マルウェアを実行する手法 • Interpreter自体は署名されている正規のファイル(PHP, Python, GO, etc)のため、検知 が難しい • 管理者権限が不要なので初期感染に利用できる • (EDRは基本的にプロセスを軸にログが残るので、こういう読み込んだファイルや部品の方の 検知は苦手な印象) • 試したPoCコード*はPHP公式からInterpreterをダウンロード・解凍して、リバースシェル セッション(cmd.exe)を作成 • EDRのHookを解除したり、サービスを止めてはないのでログは残る *https://github.com/oldkingcone/BYOSI 実用的なテクニックで攻撃につながる可能性もあ るのでブロック

Slide 39

Slide 39 text

DLL Sideloading • DLLを特定の場所に配置することで、正規のアプリケーション 実行時に不正なコードをロード・実行する手法のこと • 正規なアプリケーションが不正なdllをロード・実行するため、 検知が難しい • 攻撃者は不正なdllを保存するだけなのでより検知が困難 (状況によっ てはユーザが気づかずに自ら実行する) • Third PartyのSide Loadingの脆弱性を利用する場合もある • Zoom, Notepad+, openvpn, Teams, etc

Slide 40

Slide 40 text

LOTL(Living Off the Land) • 侵害済みの端末に導入されているツールを利用して攻撃する方法 • Powershell, WMI, RDP, etc • 攻撃者がよく実行するコマンドを自作リバースシェル上で実行しても、検知される ことは少なかった(製品依存) • net, ipconfig, tasklist, whoami等の実行を検知しないことが多い • 明らかに怪しいプロセスツリー(親プロセスがWebサービスやWord、子プロセスがcmd等)やコマンド (certutilでexeをダウンロード等)であれば検知することも多い • Credentialを盗まれて正常通信(RDP等)でログイン等の検知は厳しい • パスワードが書かれたファイルを盗まれてRDPで横展開の検知はほぼ不可能 • 理論上はログインの時間帯等で不自然な箇所があるかもだが、下手な確度でアラートを作ったらその100倍の誤検 知が生まれて逆効果 • KeyLogger等の検知も製品によりけりだが簡単ではない印象 * • 手動でサービス等の設定不備を調査、権限昇格等も検知は厳しい • Permission不備、Unquoted Service etc。周りからはこういう仕様か悪用かが見分けがつかない。 • 検知は厳しいがログには残るのでThreat Hunting等が必要 *Elastic Security Labs,情報窃取から端末を守る

Slide 41

Slide 41 text

(参考)様々なPayloadの実行方法 • exe等を直接実行するのではなく、wrapや他の形式に変換したり、何かのプロセス経由 で実行するのがよくある回避の手法 コマンド・手法 備考 Linkファイルを利用 ユーザがクリックしやすい、隠しファイル等と組み合わせたり もできるのでよく悪用される インストーラファイル(MSI)にバックドアを仕込む MSIのCustom Actionテーブルにコマンドを仕込むことができる ClickOnceアプリケーション型のマルウェアを利用 管理者権限がないユーザでもインストールができる仕組み (ClickOnce)を悪用 WindowsのイベントログにPayloadを隠す手法 (Persistence寄り) Windows Event Logs for Red Teams等を参照、過去に実験し たときは検知されにくかった conhost.exe – headless malware.exe Conhost経由でのバックグラウンドで実行 mshta vbscript:Execute(“CreateObject(“”WScript.Shell””).Run “”malware.exe””,0 : close”) Mshta経由でのVB、もしくはJSでのマルウェア実行 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe malicious.csproj プロジェクトファイルにマルウェアコードを混入して実行 regsvr32 /s /u /n /i:malicious.exe scrobj.dll Regsvr32を利用したCOMオブジェクト経由でのdll実行 Zip, ISO, OneNoteにPayload(マルウェア)を格納(Wrap) 検知されにくい 雑多にまとめた色々なPayloadの実行方法、他にもまだまだある。(参考)PowerShell Exploits — Modern APTs and Their Malicious Scripting Tactics等 必ずしもEDRだけをBypassする方法ではないが、 良くある検知回避。色々な方法があるので、こ れらを学んで判断を誤らないことが重要

Slide 42

Slide 42 text

(参考)最近発表があった手法(研究より) • PoolParty • BlackHat Europe 23で発表されていた手法 • WindowsのThread Poolという仕組みを悪用した新しいProcess Injectionの仕組み • スレッドの実行を行わずに、メモリの割り当てと書き込みだけでInjectionを実現してい るため、検知が困難 • Mockingjay • 2023年の6月頃発表された手法 • 最初からRWXセクションを持つ正規のDLLを探して、Injectionする手法 • Injectionに必要なAPI(VirtualAllocEx等)が不要となり、検知されにくい • HookChain • 2024年のDef Conで発表されていた手法 • Indirect SyscallsやIAT Hookingを組み合わせて、EDRのフックを回避するというやり方

Slide 43

Slide 43 text

ツール群1 • EDRSilencer • Windowsフィルタリングプラットフォーム(WFP)を利用してEDR関連プロセスの通信 をブロック • WFPはWindowsのNWフィルタリングを実現する基盤となるフレームワークでWindows Defender FWもこのフレームワークを利用 • 管理者権限が必要 • 対象はMicrosoft Defender、Elastic、Trellix、Qualys、SentinelOne、Cylance、Cybereason、Carbon Black、 Tanium、Cortex、FortiEDR、Cisco、ESET、Harfanglab、TrendMicro https://github.com/netero1010/EDRSilencer WFPでブロック

Slide 44

Slide 44 text

ツール群2 • Krueger(https://github.com/logangoins/Krueger) • WDAC (Windows Defender Application Control)を悪用するツール • EDR関連のプロセスをブロックするポリシーを作成してEDRのプロセス・ドライバーを ブロック • Domain Admin権限を取られると、ドメイン環境下全てのEDRを無効化も可能* • 実験環境で試したところreboot後、ElasticのEDRは起動しなくなった • Falcon CSが入ったWindowsはクラッシュしてお亡くなりに・・・ • 管理者権限とWDACの導入(とreboot)が必要と攻撃のハードルは高いので、それまで に検知したい *マキナレコード、Windows Defenderの武器利用:新たなEDRバイパス手法を研究者が解説

Slide 45

Slide 45 text

ツール群3 • RealBlindingEDR • 脆弱なドライバを通じてCallbackを削除 • EDRが機能しなくなり、EDRを無効化したり、Killすることが可能になる • Killではなく、無効化 (EDRプロセスは動き続ける)のため、より検知が困難 • EDRPrison • EDRSilencerと類似ツールで、WFPを利用してEDRの通信をブロックすることでEDRを無効化 • EDRSilencerと異なり、WinDivertというネットワークトラフィックを盗聴・操作する正規ドライバ を悪用して、WFPを操作することで検知を困難にしたとのこと • Wireshark等もWinDivertを利用するが、様々なマルウェアも同様に利用する • EDRSandblast • 脆弱なドライバーを悪用してKernelレベルでEDRを攻撃・無効化 • Kernel Callbackの削除や、Minifilterの悪用、フックの削除、Direct Syscalls等の様々な手法を提供 (引数でどの手法を使うか指定)

Slide 46

Slide 46 text

その他 • 製品の脆弱性をつく手法 • 特定のプロセス名にするとEDR関連のDLLがロードされない(らしい、X情報) • Bring Your Own Trusted Binary • BSides London 2024で発表されていた手法 • 署名されたSSHクライアントとPort Forwardを駆使して回避する手法 • Bring Your Own Container • AVTokyo 2024で発表されたコンテナ内はEDRに監視されないことを利用し てBypassする手法 • Hack The SandBox • JSAC 2025で発表されていたWindows Built-inのSandboxを利用して AV/EDRを回避するマルウェアの発表 https://speakerdeck.com/tkmru/byoc-avtokyo2024 https://jsac.jpcert.or.jp/archive/2025/pdf/JSAC2025_2_9_kamekawa_sasada_niwa_en.pdf

Slide 47

Slide 47 text

Takeaways 1. EDRの仕組み・内部構造 2. EDRをBypassする手法・ツールを紹介 • EDRを導入すれば全てが解決ということはない(当たり前) • EDRは素晴らしい製品だけど、検知できないものも多い • 特に侵入後に正規ツール・通信の悪用や、LOTL、設定不備の悪用は検知できな いことが多い • 初期感染もBYOSI等で検知が困難で、検知回避の技術もますます進化する • BYOSIで初期感染 -> 設定不備で権限昇格 -> BYOVD等でEDRを無効化 -> Credentialを取得 -> 取得したCredentialとLOTLで横展開とかは検知は結構厳しい • あくまで多層防御の1つとして考え、最低限、High・Mediumのア ラートは調査、あと脆弱性は潰しておく • その後、今回のような検知の仕組みや攻撃者の視点も勉強して、堅牢 化・新規ルールの作成・Threat Hunting等に繋げる ブロック ブロック

Slide 48

Slide 48 text

(参考・自分用のメモもかねて。 自分も全部を読めたわけではない) 参考にした資料

Slide 49

Slide 49 text

参考資料(トレーニング、本) • Certified Red Team Lead (CRTL) • RTO-2ともいう、Zeropoint Security社が提供するEDR回避を主にしたトレーニング • OffSec Experienced Penetration Tester (OSEP) • Offsec社が提供するペネトレーションテストのトレーニング、EDRではないがAVのBypass等が参考になる • Evasion Lab (CETP) • Altered Security社が提供するEDR回避を主にしたトレーニング、2025/3からスタート • Stealth Cyber Operator [CSCO] – CWL • CyberWarFare Labs社が提供するEDR回避を主にしたトレーニング、受講中で内容が難しい • Evading EDR • EDRのBypassを目的とした貴重な本、正直難しい • Evasive Malware • 2024/9に発売されたマルウェアのBypassテクニックを解説した新しい本、13章にEDRの解説がありわかりやすい • Endpoint Detection and Response Essentials: Explore the landscape of hacking, defense, and deployment in EDR • EDRの仕組みについて解説した本

Slide 50

Slide 50 text

参考資料(日本語) • システムに介入する「フック」の技術 • 日経クロステックの記事、APIフックについて詳細に解説している • 攻撃者はEDRの回避方法を模索している、特に注目すべき10種の手口を解説 • 日経クロステックの記事、 EDRの回避の手法を10種類簡潔にまとめている • Windowsカーネルドライバプログラミング • Windows Kernel Programmingの翻訳版、攻撃関連の資料ではないがカーネルドライバについて学ぶことができ る。上記3つは全て同じ筆者。 • Pool Partyという攻撃手法を通じてWindowsの深淵を覗いた7日間(インターンシップ体験 記) • NTT Communications社のテックブログ、Pool Partyについて解説している • A part of Anti-Virus, かえるのほんだな • EDRではないが、ドライバー、minifilter、AV周りの低レイヤー寄りの勉強になる • EDRはどうやって不審な挙動を発見するのか? • EDRの仕組みについてまとまった記事

Slide 51

Slide 51 text

参考資料 (スライドやブログ等) • EDR Evasion Primer • 2022年の資料、フックの部分がわかりやすく、まとまった資料 • SANSHackFest, How to tamper an EDR? • EDRの内部構造まで非常に詳しく書かれた資料 • A Deep Dive Into Malicious Direct Syscall Detection • Palo Altoが作成したEDRのフックの仕組みや、どうやってDirect Syscallを検知するかなど • Abusing MiniFilter Altitude to blind EDR • Minifilterを利用してEDRを無効化する手法の詳細 • Practical EDR Bypass Methods in 2022 • EDRの仕組みやBypass方法について解説、 Youtubeに動画がある • DEFCON30 Adversary Village - Python vs Modern Defenses • DEFCONのVillageであったPythonを用いたEDRのBypass Workshop • Calling Syscalls Directly from Visual Studio to Bypass AVs/EDRs • Direct Callについての詳細な記事、コードもあり • awesome-edr-bypass • Githubに参考になる資料をリスト化されている • brown-bags /DInvoke to defeat EDRs • Manual Mapping等の手法を詳細に解説