
このスクリプトは、実行中のプロセス、プロセスメタデータ、現在のプロセスにロードされているDLLと各DLLのメタデータ、一般的なインストールディレクトリ、インストールされているサービス、レジストリ、実行中のドライバをチェックし、AV、EDR、ロギングツールなどの既知の防御製品の存在を確認します。
このスクリプトは、C2サーバー(例:PoshC2)にもロードできます。スクリプトをmodulesディレクトリに配置し、モジュールをロードして実行します。注意:このスクリプトは現在PoshC2に含まれているため、手動で追加する必要はありません。
このスクリプトは、権限があればリモートターゲットに対するチェックも実行できますが、現時点ではプロセスチェック、一般的なインストールディレクトリ、インストールされたサービスに限定されています。
時間が許せば、引き続きリストを追加・改善していきます。完全なロードマップは以下にあります。
このツールのC#版はPowerShell版よりも大幅に改良されており、こちらから入手できます:
https://github.com/PwnDexter/SharpEDRChecker
問題や質問があれば、Twitter @PwnDexter までお問い合わせください!
git clone https://github.com/PwnDexter/Invoke-EDRChecker.git
スクリプトをホストまたは選択したC2にロードした後、以下のコマンドを使用できます。
ローカルホストに対してスクリプトを実行し、現在のユーザーの整合性に基づいてチェックを実行します。
Invoke-EDRChecker
スクリプトを実行し、レジストリチェックを強制的に実行します(管理者として実行していない場合に使用)。
Invoke-EDRChecker -Force
リモートホストに対してスクリプトを実行します。これにより接続性をテストし、実行前にホスト名を解決しようとします。
Invoke-EDRChecker -Remote <hostname>
リモートホストの事前チェックをバイパスするには、-Ignoreフラグを使用して接続性チェックをスキップします。
Invoke-EDRChecker -Remote <hostname> -Ignore
プロセスやドライバが隠蔽されても検出された場合:

非管理者として実行した場合の可視性の違い:

EDR-CheckerをPoshC2で使用する場合:
