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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-44228-Scanner — Сканер уязвимостей и патч для устранения уязвимости Log4j2 CVE-2021-44228 | Kitploit
Инструменты/GitHubGitHub/logpresso/cve-2021-44228-scanner
Сканеры уязвимостейАнализ уязвимостейАудит конфигурацииБезопасность Цепочки ПоставокРеагирование на ИнцидентыАнализ Журналов
GitHublogpresso/cve-2021-44228-scanner

CVE-2021-44228-Scanner

Сканер уязвимостей и патч для устранения уязвимости Log4j2 CVE-2021-44228

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

Популярное

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

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

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

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

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

Логотип Logpresso

log4j2-scan — это единый бинарный инструмент командной строки для сканирования уязвимости CVE-2021-44228 и применения патча. Он также поддерживает сканирование и исправление вложенных JAR-файлов. Кроме того, он обнаруживает уязвимости CVE-2021-45046 (log4j 2.15.0), CVE-2021-45105 (log4j 2.16.0), CVE-2021-44832 (log4j 2.17.0), CVE-2021-4104, CVE-2019-17571, CVE-2017-5645, CVE-2020-9488, CVE-2022-23302, CVE-2022-23305, CVE-2022-23307 (log4j 1.x) и CVE-2021-42550 (logback 0.9-1.2.7).

Управление рисками Log4j

Вы можете интегрировать log4j2-scan с сервисом Logpresso Watch для отчётности и управления исправлениями. Подробнее на https://logpresso.watch.

Загрузка

  • log4j2-scan 3.0.1 (Windows x64, 7z)
  • log4j2-scan 3.0.1 (Windows x64, zip)
    • Если возникает ошибка VCRUNTIME140.dll not found, установите Visual C++ Redistributable.
    • Если нативный исполняемый файл не работает, используйте JAR-версию. 32-битная версия не поддерживается.
    • 7zip доступен на www.7zip.org, это открытое и бесплатное ПО.
  • log4j2-scan 3.0.1 (Linux x64)
  • log4j2-scan 3.0.1 (Linux aarch64)
    • Если нативный исполняемый файл не работает, используйте JAR-версию. 32-битная версия не поддерживается.
  • log4j2-scan 3.0.1 (Mac OS)
  • log4j2-scan 3.0.1 (Любая ОС, 620 КБ)
  • Сборка

    • Как собрать нативный образ

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

    Просто запустите log4j2-scan.exe или log4j2-scan, указав путь к целевой папке. logpresso-log4j2-scan.jar должен работать с JRE/JDK 7+.

    Опция --fix поддерживается для следующих уязвимостей:

    • Log4j v2
      • CVE-2021-44228 (JndiLookup)
      • CVE-2021-45046 (JndiLookup)
    • Log4j v1
      • CVE-2021-4104 (JMSAppender)
      • CVE-2019-17571 (SocketServer)
      • CVE-2020-9488 (SMTPAppender)
      • CVE-2022-23302 (JMSSink)
      • CVE-2022-23305 (JDBCAppender)
      • CVE-2022-23307 (пакет chainsaw)

    Опция --fix не устраняет следующие уязвимости:

    • Log4j v2
      • CVE-2021-44832 (JDBCAppender)
      • CVE-2021-45105 (DoS)
      • CVE-2017-5645 (SocketServer)
      • CVE-2020-9488 (SMTPAppender)
    • Logback
      • CVE-2021-42550

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

    root@kitploit:~
    Logpresso CVE-2021-44228 Vulnerability Scanner 3.0.1 (2022-02-13)
    Usage: log4j2-scan [--scan-log4j1] [--fix] target_path1 target_path2
    
    -f [config_file_path]
            Specify config file path which contains scan target paths.
            Paths should be separated by new line. Prepend # for comment.
    --scan-log4j1
            Enables scanning for log4j 1 versions.
    --scan-logback
            Enables scanning for logback CVE-2021-42550.
    --scan-zip
            Scan also .zip extension files. This option may slow down scanning.
    --zip-charset
            Specify an alternate zip encoding other than utf-8. System default charset is used if not specified.
    --fix
            Backup original file and remove JndiLookup.class from JAR recursively.
            With --scan-log4j1 option, it also removes JMSAppender.class, SocketServer.class, SMTPAppender.class, SMTPAppender$1.class,
            JMSSink.class, JDBCAppender.class, and all classes of org.apache.log4j.chainsaw package
    --force-fix
            Do not prompt confirmation. Don't use this option unless you know what you are doing.
    --restore [backup_file_path]
            Unfix JAR files using zip archived file.
    --backup-path [zip_output_path]
            Specify backup file path.
    --backup-ext [zip]
            Specify backup file extension. zip by default.
            If --backup-path is specified, this option is ignored.
    --all-drives
            Scan all drives on Windows
    --drives c,d
            Scan specified drives on Windows. Spaces are not allowed here.
    --no-symlink
            Do not detect symlink as vulnerable file.
    --exclude [path_prefix]
            Path prefixes of directories whose absolute path starts with the specified value will be excluded.
            Does not support relative paths. You can specify multiple --exclude [path_prefix] pairs
    --exclude-config [config_file_path]
            Specify exclude path prefix list in text file. Paths should be separated by new line. Prepend # for comment.
    --exclude-pattern [pattern]
            Exclude specified paths of directories by pattern. Supports fragments.
            You can specify multiple --exclude-pattern [pattern] pairs (non regex)
    --exclude-file-config [config_file_path]
            Specify exclude file path list in text file. Paths should be separated by new line. Prepend # for comment.
    --exclude-fs nfs,tmpfs
            Exclude paths by file system type. nfs, nfs3, nfs4, afs, cifs, autofs,
            tmpfs, devtmpfs, fuse.sshfs, smbfs and iso9660 is ignored by default.
    --api-key [key]
            Send reports to Logpresso Watch service.
    --http-proxy [addr:port]
            Send reports via specified HTTP proxy server.
    --syslog-udp [host:port]
            Send reports to remote syslog host.
            Send vulnerable, potentially vulnerable, and mitigated reports by default.
    --syslog-level [level]
            Send reports only if report is higher or equal to specified level.
            Specify alert for vulnerable and potentially vulnerable reports.
            Specify info for vulnerable, potentially vulnerable, and mitigated reports.
            Specify debug for vulnerable, potentially vulnerable, mitigated, and error reports.
    --syslog-facility [code]
            Default value is 16 (LOCAL0). Facility value must be in the range of 0 to 23 inclusive.
    --rfc5424
            Follow RFC5424 The Syslog Protocol strictly.
    --report-csv
            Generate log4j2_scan_report_yyyyMMdd_HHmmss.csv in working directory if not specified otherwise via --report-path [path]
    --report-json
            Generate log4j2_scan_report_yyyyMMdd_HHmmss.json in working directory if not specified otherwise via --report-path [path]
    --report-patch
            Report also patched log4j file.
    --report-path
            Specify report output path including filename. Implies --report-csv.
    --report-dir
            Specify report output directory. Implies --report-csv.
    --no-empty-report
            Do not generate empty report.
    --csv-log-path
            Specify csv log file path. If log file exists, log will be appended.
    --json-log-path
            Specify json log file path. If log file exists, log will be appended.
    --old-exit-code
            Return sum of vulnerable and potentially vulnerable files as exit code.
    --debug
            Print exception stacktrace for debugging.
    --trace
            Print all directories and files while scanning.
    --silent
            Do not print progress message.
    --throttle
            Limit scan files per second.
    --help
            Print this help.
    

    В Windows

    root@kitploit:~
    log4j2-scan [--fix] target_path
    

    В Linux

    root@kitploit:~
    ./log4j2-scan [--fix] target_path
    

    В UNIX (AIX, Solaris и т. д.)

    root@kitploit:~
    java -jar logpresso-log4j2-scan-3.0.1.jar [--fix] target_path
    

    Если добавить опцию --fix, программа скопирует уязвимый оригинальный JAR-файл в файл .bak и создаст новый JAR-файл без записи org/apache/logging/log4j/core/lookup/JndiLookup.class. Все .bak-файлы архивируются в единый zip-файл с именем log4j2_scan_backup_yyyyMMdd_HHmmss.zip, после чего безопасно удаляются. В большинстве сред функция JNDI lookup не используется. Однако вы используете эту опцию на свой страх и риск. Вы можете легко восстановить оригинальные уязвимые JAR-файлы с помощью опции --restore.

    В зависимости от операционной системы:

    • Windows: перед применением патча необходимо завершить все работающие JVM-процессы из-за блокировки файлов. После исправления запустите затрагиваемые JVM-процессы.
    • Linux/macOS: примените патч, затем перезапустите JVM.

    Если вы хотите автоматизировать процесс исправления, используйте опцию --force-fix. С этой опцией программа не будет запрашивать подтверждение.

    Метка (mitigated) будет отображаться, если запись org/apache/logging/log4j/core/lookup/JndiLookup.class удалена из JAR-файла.

    Если добавить опцию --trace, программа будет выводить все посещённые папки и файлы. Используйте эту опцию только для отладки.

    В Windows:

    root@kitploit:~
    CMD> log4j2-scan.exe D:\tmp
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\elasticsearch-7.16.0\bin\elasticsearch-sql-cli-7.16.0.jar, log4j 2.11.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\elasticsearch-7.16.0\lib\log4j-core-2.11.1.jar, log4j 2.11.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\flink-1.14.0\lib\log4j-core-2.14.1.jar, log4j 2.14.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\logstash-7.16.0\logstash-core\lib\jars\log4j-core-2.14.0.jar, log4j 2.14.0
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\logstash-7.16.0\vendor\bundle\jruby\2.5.0\gems\logstash-input-tcp-6.2.1-java\vendor\jar-dependencies\org\logstash\inputs\logstash-input-tcp\6.2.1\logstash-input-tcp-6.2.1.jar, log4j 2.9.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-7.7.3\solr-7.7.3\contrib\prometheus-exporter\lib\log4j-core-2.11.0.jar, log4j 2.11.0
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-7.7.3\solr-7.7.3\server\lib\ext\log4j-core-2.11.0.jar, log4j 2.11.0
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-8.11.0\contrib\prometheus-exporter\lib\log4j-core-2.14.1.jar, log4j 2.14.1
    [*] Found CVE-2021-44228 vulnerability in D:\tmp\solr-8.11.0\server\lib\ext\log4j-core-2.14.1.jar, log4j 2.14.1
    
    Scanned 5047 directories and 26251 files
    Found 9 vulnerable files
    Completed in 0.42 seconds
    

    Как это работает

    Выполняется в 5 шагов:

    1. Рекурсивно находит все файлы .jar, .war, .ear, .aar, .rar, .nar.
    2. Находит запись META-INF/maven/org.apache.logging.log4j/log4j-core/pom.properties внутри JAR-файла.
    3. Считывает groupId, artifactId и версию.
    4. Сравнивает версию log4j2 и выводит информацию об уязвимой версии.
    5. Если используется опция --fix, создаёт резервную копию уязвимого файла и исправляет его.
      • Например, исходный vulnerable.jar копируется в vulnerable.jar.bak
    6. Архивирует все файлы резервных копий в zip-файл log4j2_scan_backup_yyyyMMdd_HHmmss.zip, затем удаляет .bak-файлы.

    Код завершения для автоматизации

    • -1 ошибка выполнения
    • 0 чисто (уязвимости отсутствуют)
    • 1 найдено
    • 2 некоторые ошибки

    Интеграции с инструментами

    • HCL BigFix
    • Checkmk
      • См. также плагин checkmk CVE-log4j для агента

    Контакты

    Если у вас есть вопросы или проблемы, создайте issue в этом репозитории.

    О Logpresso

    Logpresso — ведущая компания в области искусственного интеллекта и больших данных, расположенная в Южной Корее. Logpresso предоставляет решения SIEM, SOAR, управления логами и FDS на базе собственной платформы для работы с большими данными.

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