
Статическое обнаружение уязвимых библиотек log4j на Windows-серверах, входящих в домен AD.
Статическое обнаружение уязвимых библиотек log4j на компьютерах Windows, входящих в домен AD. Использует бинарный файл инструмента обнаружения от @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.