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

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

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

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

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

Категории

Все категории
Loading categories
Apache-RocketMQ-CVE-2023-33246- — Эксплойт для Apache RocketMQ RCE (CVE-2023-33246), который выполняет произвольные команды через функцию обновления конфигурации, с настройкой окружения и примерами использования. | Kitploit
Инструменты/GitHubGitHub/sumitpathania03/apache-rocketmq-cve-2023-33246-
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed TeamingArchived
GitHubsumitpathania03/apache-rocketmq-cve-2023-33246-

Apache-RocketMQ-CVE-2023-33246-

Эксплойт для Apache RocketMQ RCE (CVE-2023-33246), который выполняет произвольные команды через функцию обновления конфигурации, с настройкой окружения и примерами использования.

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

Популярное

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

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

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

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

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

CVE-2023-33246: Удалённое выполнение кода в Apache RocketMQ

ОБЗОР

Apache RocketMQ — одна из самых популярных и широко используемых распределённых платформ обмена сообщениями и потоковой передачи данных. Недавно была опубликована информация об уязвимости выполнения команд в Apache RocketMQ, затрагивающей версии 5.1.0 и ниже. Удалённый неаутентифицированный пользователь может использовать эту уязвимость через функцию обновления конфигурации, чтобы выполнять команды с тем же уровнем доступа, что и процесс RocketMQ.

Основные компоненты

Nameserver:

  1. Nameserver в RocketMQ выступает в роли реестра или хранилища метаданных для всей инфраструктуры обмена сообщениями.

  2. Он хранит информацию о топиках, очередях и брокерах, ответственных за обработку сообщений.

  3. Клиенты (производители и потребители) используют nameserver для обнаружения брокеров, с которыми им нужно взаимодействовать для публикации или получения сообщений.

  4. Nameserver отвечает за динамическую маршрутизацию, балансировку нагрузки и отказоустойчивость в кластере RocketMQ.

  5. Он прослушивает определённый порт (обычно порт 9876 по умолчанию) для входящих запросов от клиентов и брокеров.

Broker:

  1. Брокеры — это рабочие лошадки системы RocketMQ, отвечающие за хранение и управление сообщениями.

  • Каждый брокер управляет одним или несколькими топиками, которые являются логическими каналами для обмена сообщениями.

  • Производители публикуют сообщения в определённые топики, а потребители подписываются на топики для получения сообщений.

  • Брокеры обрабатывают хранение, репликацию и доставку сообщений потребителям на основе подписок и шаблонов потребления.

  • Они поддерживают очереди сообщений для каждой пары топик-партиция, обеспечивая эффективную обработку и доставку сообщений.

  • Брокеры взаимодействуют с nameserver для регистрации, обновления метаданных и участия в механизмах маршрутизации и балансировки нагрузки кластера.

  • Настройка окружения:-

    Настройка локального окружения RocketMQ через Docker

    root@kitploit:~
    docker pull apache/rocketmq:4.9.4
    ### Запуск nameserver
    docker run -d --name rmqnamesrv -p 9876:9876 apache/rocketmq:4.9.4 sh mqnamesrv
    ### Запуск Broker
    docker run -d --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -p 10909:10909 -p 10911:10911 -p 10912:10912 apache/rocketmq:4.9.4 sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf
    

    Примеры использования

    1. Проверка версии

    При использовании конфигурации по умолчанию кластер брокеров запускается на TCP-порту 9876 и начинает приём сообщений от клиента. Например, ниже приведён пример обмена данными между клиентом и брокером для получения версии RocketMQ.

    root@kitploit:~
    python3 check.py --ip 127.0.0.1 --port 9876
    

    rock

    PCAP rock

    2. Анализ эксплуатации

    Функция UpdateBrokerConfig() срабатывает при получении запроса с кодом '25', который связан с RequestCode.

    root@kitploit:~
    python3 CVE-2023-33246_RocketMQ_RCE_EXPLOIT.py 127.0.0.1 10911 curl 127.0.0.1/exp
    

    Screenshot 2024-03-28 164712

    PCAP

    rock

    Мы используем конфигурацию сервера "rocketmqHome", находящуюся в файле broker.conf. Эта конфигурация задаёт значение переменной окружения ROCKETMQ_HOME внутри процесса RocketMQ. Аккуратно подбирая это значение, мы можем выполнять произвольные команды.

    rock

    вот как работает эта уязвимость..

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