Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
divd-2021-00038--log4j-scanner — Рекурсивный сканер уязвимостей для Log4j CVE в архивах и Docker-образах. Обнаруживает JndiLookup.class и уязвимые версии через хэши SHA256, с возможностью патчинга для удаления класса эксплойта. | Kitploit
Инструменты/GitHubGitHub/dtact/divd-2021-00038--log4j-scanner
Сканеры уязвимостейБезопасность контейнеровАнализ уязвимостейБезопасность облачных средDevSecOpsРеагирование на Инциденты
GitHubdtact/divd-2021-00038--log4j-scanner

divd-2021-00038--log4j-scanner

Рекурсивный сканер уязвимостей для Log4j CVE в архивах и Docker-образах. Обнаруживает JndiLookup.class и уязвимые версии через хэши SHA256, с возможностью патчинга для удаления класса эксплойта.

Репозиторий
46934 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

divd-2021-00038--log4j-scanner

Этот сканер рекурсивно сканирует пути, включая архивы, на наличие уязвимых версий log4j и файлов org/apache/logging/log4j/core/lookup/JndiLookup.class.

В настоящее время белый список определяет неэксплуатируемые версии, в данном случае log4j-core 2.17.0 и 2.12.3.

Сканирование многослойных архивов

Возможности

  • сканирует рекурсивно через все архивы внутри архивов и т.д.
  • сканирует известные библиотеки log4j (хеш sha256)
  • сканирует файлы JndiLookup.class
  • быстрый
  • показывает связанные CVE's, найденные по версии
  • обнаруживает class-файлы с разными расширениями (например, .ezclass)
  • сканирует через все слои локальных и удалённых docker-образов
  • двоичные версии доступны для Windows, Linux и MacOS
  • включает исправление, которое удаляет (также рекурсивно) класс JndiLookup

Ссылки

CVEСсылки
CVE-2021-44228https://www.cve.org/CVERecord?id=CVE-2021-44228
CVE-2021-45046https://www.cve.org/CVERecord?id=CVE-2021-45046
CVE-2021-45105https://www.cve.org/CVERecord?id=CVE-2021-45105
CVE-2021-44832https://www.cve.org/CVERecord?id=CVE-2021-44832

Сканирование

Использование

Windows

root@kitploit:~
$ divd-2021-00038--log4j-scanner.exe {target-path}

Linux / OSX / FreeBSD

root@kitploit:~
$ divd-2021-00038--log4j-scanner {target-path}

Docker-контейнеры

С помощью этого инструмента теперь можно также сканировать контейнеры:

root@kitploit:~
$ ./divd-2021-00038--log4j-scanner scan-image logstash:7.16.1

или локальные образы:

root@kitploit:~
$ ./divd-2021-00038--log4j-scanner scan-image --local {sha256|pattern}
$ ./divd-2021-00038--log4j-scanner scan-image --local log4shell:latest
$ ./divd-2021-00038--log4j-scanner scan-image --local 4949add9e671

# сканировать все локальные образы
$ ./divd-2021-00038--log4j-scanner scan-image --local

Вы также можете исправить образ:

root@kitploit:~
$ docker save log4shell > ./log4shell-image.tar
$ ./divd-2021-00038--log4j-scanner ./log4shell-image.tar
$ ./divd-2021-00038--log4j-scanner patch ./log4shell-image.tar
$ cat ./log4shell-image.tar.patch | docker load

Сравнение обоих tar-архивов покажет следующие различия:

root@kitploit:~
Binary files ../2/BOOT-INF/lib/log4j-core-2.14.1.jar and ./BOOT-INF/lib/log4j-core-2.14.1.jar differ
Binary files ../2/app/spring-boot-application.jar and ./app/spring-boot-application.jar differ
Binary files ../2/b0d66ac73d47865118cfb9a1244f1508d94ea938da1eb78c2db20bd2e1a6629a/layer.tar and ./b0d66ac73d47865118cfb9a1244f1508d94ea938da1eb78c2db20bd2e1a6629a/layer.tar differ
Only in ./org/apache/logging/log4j/core/lookup: JndiLookup.class

Исправление

Мы добавили предварительную поддержку рекурсивного исправления файлов. Это очень экспериментально, будьте осторожны с этой функцией. В настоящее время исправление работает только с архивными файлами (jar/tar). Исправление создаст новый файл .patch, который нужно заменить на оригинальный. Намеренно это ручной процесс, так как он должен быть синхронизирован с перезапуском служб. Убедитесь, что вы создали резервную копию оригинального файла перед заменой. После исправления вы можете снова просканировать, чтобы убедиться, что не пропустили никакие файлы. В настоящее время обычные .class файлы в папках не будут исправлены, так как их можно безопасно удалить вручную.

Файл .patch будет точно таким же, как и оригинальный файл, но без JndiLookup.class. Этого должно быть достаточно для устранения этой проблемы, пока вы ждёте обновлений. Убедитесь, что вы создали резервные копии и тщательно протестировали.

Исправление откажется работать с папками в качестве меры предосторожности. Просто укажите исправление на уязвимый архив.

Использование

Windows

root@kitploit:~
$ divd-2021-00038--log4j-scanner.exe patch {target-path}

Linux / OSX / FreeBSD

root@kitploit:~
divd-2021-00038--log4j-scanner patch {target-path}

Сборка из исходного кода

Требования:

  • Go 1.16 или новее

Для разработки

root@kitploit:~
$ git clone "https://github.com/dtact/divd-2021-00038--log4j-scanner.git"
$ go build -o ./.builds/divd-2021-00038--log4j-scanner ./main.go

Авторские права и лицензия

Исходный код и документация защищены авторским правом 2021 Remco Verhoef (DTACT).

Код выпущен под лицензией MIT.

Скачать инструмент