
Сканирует хосты Windows, Linux и macOS на наличие Java-пакетов, содержащих JndiLookup.class, для обнаружения уязвимости Log4Shell (CVE-2021-44228, CVE-2021-45046) и выводит результаты в формате JSON.
Arctic Wolf Log4Shell Deep Scan предназначен для обнаружения пакетов Java-приложений, подверженных CVE-2021-44228 и CVE-2021-45046.
Copyright 2021, Arctic Wolf Networks, Inc.
Arctic Wolf Networks, Inc. предоставляет вам этот файл на условиях лицензии Apache License, Version 2.0 (далее — «Лицензия»). Вы не можете использовать этот файл иначе, чем в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу http://www.apache.org/licenses/LICENSE-2.0.
Если это не требуется применимым законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое на условиях Лицензии, предоставляется «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумеваемых. См. Лицензию для конкретных формулировок разрешений и ограничений, регулирующих использование и распространение в рамках Лицензии.
Этот скрипт выполняет поиск в системе Java-приложений, содержащих класс Log4J JndiLookup.class, который является источником уязвимостей Log4Shell. Если этот класс обнаружен в приложении, скрипт ищет обновления Log4J, указывающие на то, что приложение было обновлено до использования Log4J 2.16+ или Log4J 2.12.2+. Если приложение содержит JndiLookup.class, но, по-видимому, не было обновлено, приложение считается уязвимым.
Дополнительные сведения см.:
Для получения инструкций по устранению уязвимости обратитесь к поставщику каждого затронутого приложения.
Каждое сканирование завершается одним из следующих результатов:
Для получения инструкций по устранению уязвимости обратитесь к поставщику каждого затронутого приложения.
Скачайте последнюю версию здесь: log4shell_deep_scan_0.3.zip.
Для запуска откройте командную строку (cmd.exe) от имени администратора:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1
По умолчанию поиск выполняется по всем фиксированным дискам. Укажите search_root следующим образом:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -search_root C:\START_HERE
Результаты будут записаны в файл в текущем рабочем каталоге следующим образом:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Чтобы указать имя файла для выходного файла, передайте его в качестве параметра следующим образом:
> powershell -ExecutionPolicy ByPass -f log4shell_deep_scan.ps1 -output_filepath FILENAME_HERE.json
Это может занять несколько минут. Ctrl-c для прерывания.
nice при необходимости.Для запуска откройте командную строку:
$ sudo sh log4shell_deep_scan.sh
По умолчанию поиск выполняется по всем фиксированным дискам. Укажите search_root следующим образом:
$ sudo sh log4shell_deep_scan.sh /START_HERE
Результаты будут записаны в файл в текущем рабочем каталоге следующим образом:
log4shell_deep_scan.output.<hostname>.<timestamp>.json
Чтобы указать имя файла для выходного файла, передайте его в качестве параметра следующим образом:
$ sudo sh log4shell_deep_scan.sh /START_HERE FILENAME_HERE.json
Это может занять несколько минут. Ctrl-c для прерывания.
Вывод JSON для сканирований со статусом PASS будет содержать 1 запись следующим образом:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:24:46.8919939-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"PASS", "vulnerable_jar":false }
]
Вывод JSON для сканирований с результатом FAIL будет содержать 1 запись для каждого уязвимого Java-приложения, найденного в системе, следующим образом:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin\\log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin.jar!log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\log4j-core-2.12.1.jar" }
]
Вывод JSON для сканирований, завершившихся с FAIL и содержащих непросканированные jar-файлы, будет содержать 1 запись для каждого уязвимого или непросканированного Java-приложения, найденного в системе, следующим образом:
[
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin\\log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"FAIL", "vulnerable_jar":"C:\\Users\\user1234\\Downloads\\apache-log4j-2.12.1-bin.jar!log4j-core-2.12.1.jar" },
{ "hostname":"DESKTOP-US1234", "scan_ts":"2021-12-16T18:14:09.7897291-06:00", "scan_v":"0.3", "search_root":"C:\\", "result":"UNKNOWN", "unscanned_jar":"C:\\Users\\user1234\\Downloads\\log4j-3234-2.12.1.jar" }
]
Версия 0.3, выпущенная 17 декабря 2021 года, включает следующие улучшения и исправления:
Версия 0.2, выпущенная 17 декабря 2021 года, включает следующие улучшения и исправления: