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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2024-3094-One-Liner — 用于检查服务器和Docker镜像对CVE-2024-3094漏洞的易受攻击性的单行脚本,包括版本检测和xz引用的仓库扫描。 | Kitploit
Инструменты/GitHubGitHub/brinhosa/cve-2024-3094-one-liner
Сканеры уязвимостейБезопасность контейнеровАнализ уязвимостейБезопасность облачных средDevSecOpsБезопасность Цепочки Поставок
GitHubbrinhosa/cve-2024-3094-one-liner

CVE-2024-3094-One-Liner

用于检查服务器和Docker镜像对CVE-2024-3094漏洞的易受攻击性的单行脚本,包括版本检测和xz引用的仓库扫描。

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

Популярное

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

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

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

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

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

CVE-2024-3094 Проверка уязвимости одной строкой

Этот репозиторий содержит простые, но мощные однострочные скрипты, предназначенные для быстрого определения уязвимости вашего сервера к CVE-2024-3094 — критической уязвимости безопасности, обнаруженной в определенных версиях утилиты xz. Кроме того, мы предлагаем удобный способ сканирования ваших репозиториев кода на наличие ссылок на библиотеку xz, что может указывать на потенциальные косвенные уязвимости.

Проверка уязвимости сервера

Чтобы определить, подвержен ли ваш сервер уязвимости CVE-2024-3094, выполните следующую команду в терминале:

root@kitploit:~
(type dpkg &>/dev/null && dpkg -l xz 2>/dev/null | awk '/^ii/{print $3}' | grep -qE '^(5.6.0|5.6.1)$' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or xz not installed") || (type rpm &>/dev/null && rpm -q --qf "%{VERSION}\n" xz 2>/dev/null | grep -qE '^(5.6.0|5.6.1)$' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or xz not installed")

Приведенная выше команда проверит наличие пакетов в дистрибутиве Linux.

Или попробуйте этот другой вариант, где будет выполнена команда xz, обычно это не рекомендуется:

root@kitploit:~
command -v xz &>/dev/null && { xz_version=$(xz --version | head -n 1 | awk '{print $4}'); [[ $xz_version == "5.6.0" || $xz_version == "5.6.1" ]] && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable: CVE-2024-3094"; } || echo "xz not installed"

Этот скрипт выполняет следующие действия:

  • Проверяет, установлена ли утилита xz.
  • Определяет установленную версию xz.
  • Сравнивает версию с известными уязвимыми версиями (5.6.0 и 5.6.1).
  • Выводит статус уязвимости вашего сервера.

Расширенная проверка уязвимости для Docker-образов

Для команд, использующих Docker и обеспокоенных уязвимостями в своих контейнерных образах, мы предлагаем сложный пример с использованием Trivy, сканера уязвимостей с открытым исходным кодом от Aqua Security. Этот метод сканирует Docker-образы на наличие уязвимостей, включая CVE-2024-3094, и предоставляет четкий вывод о состоянии безопасности образа.

Проверка Docker-образов с помощью Trivy

Следующая команда использует Trivy для сканирования Docker-образа (debian:experimental-20240311) на наличие уязвимостей и фильтрует результаты по CVE-2024-3094, связанной с liblzma5:

root@kitploit:~
docker run --rm -v $('pwd'):/project -w /project aquasec/trivy:latest image --format cyclonedx --scanners vuln --output /project/result.json debian:experimental-20240311@sha256:16cc2b09c44d991d36f63153f13a7c98fb7da6bd2ba9d7cc0f48baacb7484970 && jq -r '.components[] | .properties[] | select(.name == "aquasecurity:trivy:PkgID" and (.value | tostring | test("liblzma5@(5\\.6\\.0|5\\.6\\.1)"))) | .value' result.json | grep -qE '5\.6\.0|5\.6\.1' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or liblzma5 not found"

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

  1. Команда Docker Run: Запускает контейнер Trivy, монтируя текущую директорию как том в контейнер. Эта настройка позволяет Trivy выводить результаты сканирования непосредственно в файл (result.json) в текущей директории хоста.

  2. Сканирование Trivy: Сканирует указанный Docker-образ на наличие уязвимостей, выводя результаты в формате CycloneDX (стандартизированный формат для спецификации программного обеспечения).

  3. Обработка с помощью jq: Фильтрует результаты сканирования для выявления пакета liblzma5 и проверяет наличие версий "5.6.0" или "5.6.1".

  4. Проверка уязвимости: Использует grep для поиска уязвимых версий liblzma5. Выводит "Vulnerable: CVE-2024-3094", если найдено; в противном случае выводит "Not vulnerable or liblzma5 not found".

Этот метод очень эффективен для автоматизированных конвейеров и может быть адаптирован для проверки различных уязвимостей в разных Docker-образах, обеспечивая безопасность ваших развертываний.

Настройка сканирования для ваших Docker-образов

Чтобы использовать предоставленную команду для сканирования ваших собственных Docker-образов, выполните следующие шаги для настройки команды в соответствии с вашими потребностями:

  1. Замените Docker-образ: Измените debian:experimental-20240311@sha256:16cc2b09c44d991d36f63153f13a7c98fb7da6bd2ba9d7cc0f48baacb7484970 на образ, который вы хотите сканировать. Вы можете указать образ по имени и тегу (например, yourimage:yourtag) или по его дайджесту.

  2. Настройте проверку уязвимости: Если вы сканируете на наличие уязвимостей, отличных от CVE-2024-3094, измените выражения jq и grep, чтобы они нацеливались на конкретные пакеты и версии, соответствующие интересующим вас уязвимостям.

Например, для сканирования вашего образа с именем yourimage:yourtag:

root@kitploit:~
docker run --rm -v $('pwd'):/project -w /project aquasec/trivy:latest image --format cyclonedx --scanners vuln --output /project/result.json yourimage:yourtag && jq -r '.components[] | .properties[] | select(.name == "aquasecurity:trivy:PkgID" and (.value | tostring | test("liblzma5@(5\\.6\\.0|5\\.6\\.1)"))) | .value' result.json | grep -qE '5\.6\.0|5\.6\.1' && echo "Vulnerable: CVE-2024-3094" || echo "Not vulnerable or liblzma5 not found"

Советы по настройке:

  • Для других уязвимостей: Замените "liblzma5@(5\\.6\\.0|5\\.6\\.1)" в команде jq на пакет и версии, которые вас интересуют. Например, для проверки версии openssl "1.1.1" можно использовать openssl@(1\\.1\\.1).

  • Для разных свойств: В зависимости от уязвимости или пакета может потребоваться изменить .name == "aquasecurity:trivy:PkgID" для нацеливания на другие свойства в выводе CycloneDX.

Обеспечение точности сканирования

  • Регулярные обновления: Убедитесь, что ваш экземпляр Trivy регулярно обновляется для получения последних определений уязвимостей. Обычно это достигается путем загрузки последнего образа aquasec/trivy перед запуском сканирования.

  • Понимание вывода: Ознакомьтесь с форматом вывода Trivy и обработкой jq, чтобы точно интерпретировать результаты и понимать последствия для ваших Docker-образов.

Сканирование репозиториев кода на наличие ссылок xz

Если вы поддерживаете код, который потенциально взаимодействует с библиотекой xz или зависит от нее, крайне важно выявить любые явные ссылки на уязвимые версии библиотеки. Используйте следующие команды для сканирования ваших репозиториев:

Поиск ссылок "tukaani"

Проект tukaani является домом для утилиты xz. Чтобы найти упоминания в вашем коде:

root@kitploit:~
grep -rnH "tukaani" .

Поиск ссылок зависимостей Maven

Для Java-проектов, использующих Maven, вы можете указать xz как зависимость в вашем pom.xml. Чтобы найти эти ссылки:

root@kitploit:~
grep -rnH "org.tukaani:xz:" .

Эти команды будут рекурсивно искать указанные шаблоны в текущей директории (и поддиректориях), сообщая имя файла, номер строки и строку, содержащую совпадение.


Примечание: Убедитесь, что у вас есть необходимые разрешения для запуска этих скриптов на вашем сервере или для сканирования репозиториев. Всегда проверяйте и тестируйте скрипты в безопасной среде перед использованием в production-системах.

Не стесняйтесь вносить свой вклад или предлагать улучшения этого репозитория, отправляя pull request или открывая issue. Ваши отзывы и вклад высоко ценятся!

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