
EDR回避のためのレッドチームツール:syscall IDを動的に解決し、ntdllスタブにパッチを適用し、IATフックを解除し、主要なEDRベンダーからフックされたAPIを一覧表示します。
このリポジトリには、レッドチーム演習中に役立つ可能性のあるEDRに関する情報が含まれています。
このPoCは、syscall IDを動的に解決するため、リモートホスト上で実行されているバージョンを確認する必要がありません。ディスク上(改ざんされていない)の情報を取得するために、CreateFileMappingおよびMapViewOfFile Windows APIの呼び出しが実行されます。その後、DLLが解析されてデータが取得され、ライブコードのパッチに使用されます。
このPoCは、コード内で指定されたsyscall IDにパッチを適用します。ハードコードされたsyscall IDを使用してDLLのライブバージョンにパッチを適用し、元の未パッチ状態に戻します。
このユーティリティは、Windows APIに関連付けられたsyscall IDを取得するために使用されます。
get_syscall64.exe ntdll.dll NtOpenProcess
ntdll.dll!NtOpenProcess at 0x00007FF873F6CAD0
NtOpenProcess syscall ID 0x00000026 (38)
このPoCは、Import Address Table内にEDR/AV/マルウェアによって仕掛けられたフックを検出し、それらを元のアドレスに置き換えます(xalicexによるコード)。
コントリビュートしたい場合は、hook_finder64.exe C:\windows\system32\ntdll.dll を実行して、その出力を送信してください。
新しいバージョンはUMHから移行し、代わりに下記のようにカーネルコールバックに依存しています。

⚠️ これらのフックはカーネルモードで設定されています。ユーザーモードからはフックを解除できません。
Mr.Un1k0d3r RingZer0 Team
そしてコミュニティ全体 <3