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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-44228 — Норвежскоязычное руководство по уязвимостям Log4j (CVE-2021-44228, CVE-2021-45046, CVE-2021-45105, CVE-2021-4104, CVE-2019-17571) с скриптами обнаружения, шагами по смягчению последствий и интеллект-картами для выявления и устранения уязвимых систем. | Kitploit
Инструменты/GitHubGitHub/helsecert/cve-2021-44228
Анализ уязвимостейБезопасность Цепочки ПоставокОбучение и ОбразованиеРеагирование на ИнцидентыПодобранные РесурсыАнализ Журналов
GitHubhelsecert/cve-2021-44228

CVE-2021-44228

Норвежскоязычное руководство по уязвимостям Log4j (CVE-2021-44228, CVE-2021-45046, CVE-2021-45105, CVE-2021-4104, CVE-2019-17571) с скриптами обнаружения, шагами по смягчению последствий и интеллект-картами для выявления и устранения уязвимых систем.

Репозиторий
11114 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Уязвимости в Log4j

Обновление 19.12.2021: Постоянно обнаруживаются новые уязвимости и новые способы их использования в Log4j. Мы добавили три блок-схемы (mind maps) в репозиторий, которые описывают соответственно уязвимые версии Log4j, как проверить, уязвимы ли вы и смягчение различных уязвимостей.

Рекомендация

Log4j v2.x:

  • Определите программное обеспечение, которое использует Log4j версии 2.x

  • Устраните уязвимости в Log4j

    • Обновите программное обеспечение, использующее Log4j, до версии, которая использует Log4j 2.17.0

    Если вышеуказанное невозможно

    • Убедитесь, что меры по смягчению последствий для CVE-2021-44228 и CVE-2021-45046 выполнены, обратите внимание, что в этом случае вы уязвимы для DoS
    • Если системы особенно критичны, рассмотрите возможность поиска Context Lookups в Pattern Layouts в конфигурации Log4j2

Log4j v1.x:

  • Определите программное обеспечение, которое использует Log4j версии 1.x.

  • Если Log4j версии 1.x используется в организации, обратитесь к поставщику и потребуйте, чтобы они

    • Обновили до Log4j версии 2.x
    • альтернативно перешли на другую библиотеку для логирования

Уязвимости

CVE-2021-44228

Большой и страшный волк среди уязвимостей Log4j. Уязвимость используется, когда вариант строки ${jndi:ldap://\<код атаки>/a} регистрируется Log4j. CVSS 10.0, RCE.

CVE-2021-45046

Не такая большая, как CVE-2021-44228, но столь же неприятная. Требует нестандартной настройки Log4j. CVSS 9.0, RCE и DoS.

CVE-2021-45105

Не такая большая, как CVE-2021-44228, также немного менее неприятная. CVSS 7.5, DoS

CVE-2021-4104

Относится только к Log4j версии 1.x. Требует, чтобы Log4j использовал JMSAppender. CVSS 6.6, RCE. Для использования требуется, чтобы Log4j использовал JMSAppender. Либо JMSAppender настроен напрямую — что необычно, — либо злоумышленник сам добавляет его в конфигурацию Log4j. Кроме того, злоумышленник должен иметь доступ к изменению конфигурации JMSAppender. Если это так, то злоумышленник обычно уже имеет доступ к системе. Поэтому уязвимость считается малозначимой.

CVE-2019-17571

Относится только к Log4j версии 1.x. Требует, чтобы Log4j использовал SocketServer. CVSS 9.8, RCE Предоставляет злоумышленнику с сетевым доступом к соответствующему сокету возможность выполнения кода. Код для использования общедоступен.

Для Java 8 последняя версия Log4j — 2.17.0. Она устраняет все вышеперечисленные уязвимости.

Версия 2.16.0 устраняет самые серьезные уязвимости.

Для Java 7 Log4j выпущен в версии 2.12.2. Она не устраняет CVE-2021-45105. Команда Log4j также заявляет, что ни Java 6, ни Java 7 больше не поддерживаются. Неизвестно, выпустят ли они еще одно обновление безопасности для Log4j на Java 7.

Блок-схема "Mind map #1" дает хороший обзор предпосылок для наличия различных уязвимостей.
Блок-схема для определения уязвимости к Log4j

Создано Loïc Castel. Взято с github.

Обнаружение уязвимости

Сложность заключается в том, что не обязательно серверы, напрямую выходящие в интернет, уязвимы. Уязвимость может быть на сервере, расположенном глубже в 'цепочке', который получает те же данные и регистрирует их. Это может затруднить понимание того, что открыто, а что нет.

Блок-схема "Mind map #2" дает хороший обзор того, как проверить собственные системы на уязвимости.

Блок-схема для поиска уязвимых экземпляров Log4j

Создано Loïc Castel. Взято с github.

Путем активации уязвимости 1. Создайте DNS-канареечный токен [https://canarytokens.org/generate#](https://canarytokens.org/generate#)

Создание DNS-канарейки

  1. Соберите эту текстовую строку ${jndi:ldap://<канареечный_токен>/a}
  2. Введите эту строку во все поля, которые потенциально могут быть залогированы

"Поиск" с канареечной строкой

- User-agent
- Поле поиска
- Имя пользователя
- ...

4. Отслеживайте попадания канарейки и выясняйте, где работает log4j.

Источник: Твит от Florian Roth

Путем поиска на хостах

Windows

Эта команда обрабатывает все диски, включая сетевые диски:

Get-PSDrive -PSProvider FileSystem | foreach {(gci ($_.Root) -rec -force -include *.jar -ea 0 | foreach {select-string "JndiLookup.class" $_} | select -exp Path)}

Источник: https://twitter.com/0gtweet/status/1469661769547362305

Если нужно проверить только локальные диски:

Get-CimInstance win32_volume | Where-Object { $_.DriveType -eq 3 -and $_.DriveLetter -ne $null} | ForEach-Object {(gci ($_.DriveLetter+"\") -rec -force -include *.jar -ea 0 | foreach {select-string "JndiLookup.class" $_} | select -exp Path)}

Источник: https://twitter.com/webmastir/status/1470386184052486155?s=20

Если дополнительно нужно проверить журнал событий на машине:

Get-WinEvent -ListLog * |
  foreach { get-winevent @{logname=$_.logname; } -ea 0 } |
  where message -match 'jndi'

Linux #1

#!/bin/bash
find / -name '*log4j*.jar' -print0 2>/dev/null -print0 | while read -d $'\0' log4j; do
        echo -en "${log4j}: "$(unzip -p "${log4j}" | strings | grep -Po '^Implementation-Version:\s+([0-9\.]+)' | awk '{ print $NF }')"\n"
done
exit 0

Запускать от root

Linux #2

lsof | grep log4j-core

Смягчение уязвимости

Блок-схема "Mind map #3" дает обзор возможностей смягчения.

Блок-схема смягчения последствий для Log4j

Создано Loïc Castel. Взято с github.

Ниже мы перечислили некоторые ресурсы для выполнения смягчения.

#1 Исправление

Java 8

Обновите Log4j до версии 2.17.0

Java 7

Обновите Log4j до версии 2.12.2 ВНИМАНИЕ не устраняет CVE-2021-45105

#4 Смягчение #1: Установка переменной

⚠️ этот метод больше не считается полноценным решением, так как он не устраняет все уязвимости во всех ситуациях.

Windows

[Environment]:https://raw.githubusercontent.com/helsecert/cve-2021-44228/main/:SetEnvironmentVariable(%22LOG4J_FORMAT_MSG_NO_LOOKUPS%22,%22true%22,%22Machine%22)

ПРИМЕЧАНИЕ: Требуется перезагрузка

Из https://twitter.com/CyberRaiju/status/1469505680138661890

Установка флага JVM

"‐Dlog4j2.formatMsgNoLookups=True"

Пример командной строки:

JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true" teku --network mainnet

Или со значением -Xmx:

JAVA_OPTS="-Dlog4j2.formatMsgNoLookups=true -Xmx4g" teku
Скачать инструмент