
ADドメインのWindowsメンバー上にある脆弱なlog4jライブラリを静的に検出します。 @1lann が提供する検出ツールのバイナリを使用します: https://github.com/1lann/log4shelldetect
スクリプトは、スクリプトフォルダー内にドメイン参加済みサーバーの .csv リストを作成することから始まります。 そのファイルがまだ存在しない場合は、作成するかどうかを尋ねられます。そのまま実行してください。
./log4shelldetect.ps1
検索パターンを使用して、そのリストを満たし、特定のサーバー名を対象にすることができます。 そのパターンは「Get-AdComputer -Filter」に追加されます。例:
./log4shelldetect.ps1 -searchPattern '*tst*'
引数なしでスクリプトを起動するだけです。サーバーリストの各エントリに対して PSJob が作成されます。 これらの PSJob は、検出された各ローカルドライブについて、対象となるすべての AD コンピューター上にリモートでスケジュールタスクを作成します。 その後、スキャンバイナリが実行され、ファイルシステムをスキャンして脆弱なライブラリを探します。
./log4shelldetect.ps1
最後に、ジョブの出力を取得して、サーバーリストをステータス(脆弱、非脆弱、到達不能など)で更新する必要があります。 サーバーが脆弱と検出された場合、スキャンツールの出力を含む、該当するマシン名のフォルダーが現在のフォルダーに作成されます。 これらのテキストファイルの各行は、脆弱な log4j バイナリを表します。
./log4shelldetect.ps1 -update
自動化には注意してください! スケジュールタスクは、ローカルファイルシステム上のすべてのディレクトリにアクセスするために「NT AUTHORITY\SYSTEM」として実行されます。 自己責任で使用してください。使用前にスクリプトを確認することをお勧めします。
@1lann の作業に特に感謝します。 log4j の脆弱性を検出する効果的なツールをいち早く開発してくれたことに感謝します。