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

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

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

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

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

Категории

Все категории
Loading categories
WLT3Serial — Эксплойт десериализации на нативном Java для слушателей WebLogic T3 (и T3S). | Kitploit
Инструменты/GitHubGitHub/bort-millipede/wlt3serial
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеArchived
GitHubbort-millipede/wlt3serial

WLT3Serial

Эксплойт десериализации на нативном Java для слушателей WebLogic T3 (и T3S).

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

Популярное

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

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

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

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

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

WLT3Serial

Нативный эксплойт десериализации на Java для слушателей WebLogic T3 (и T3S) (как описано ЗДЕСЬ). Требует сторонних зависимостей ysoserial и wlthint3client.

Преимущества/Недостатки по сравнению с JavaUnserializeExploits weblogic.py и loubia

Преимущества:

  • Обрабатывает T3/T3S-коммуникацию нативно (для большинства методов эксплуатации) с помощью Java вместо использования одноразовых захватов пакетов с помощью Python-скриптов, и поэтому должен работать со всеми версиями сервера WebLogic.
  • Генерирует объектные полезные нагрузки напрямую через ysoserial при каждом выполнении вместо одноразово сгенерированных объектных полезных нагрузок, и поэтому поддерживает все типы объектных полезных нагрузок в последней версии ysoserial.
  • Анализирует (и отображает, если запрошено) все выбрасываемые исключения во время выполнения и четко указывает предполагаемый общий результат выполнения на основе этих исключений. Это включает уведомление пользователя, если эксплуатация выглядит успешной, если связь через SSL/TLS не удалась или если целевой сервер WebLogic, похоже, защищен от эксплуатации.
  • Предлагает несколько различных методов доставки полезной нагрузки (похоже на JavaUnserialize weblogic.py/loubia и ysoserial.exploit.RMIRegistryExploit).

Недостатки:

  • Зависит от .jar-файла (wlthint3client.jar), который не может быть распространен мной (из-за условий лицензирования Oracle) и может быть загружен только с именем пользователя/паролем Oracle. Из-за этого я могу распространять только «тонкий» release jar, который всё равно требует от пользователя получения необходимого файла wlthint3client.jar от Oracle.
  • Из-за проблем с тем, как JVM загружает классы во время инициализации, использование полноценного исполняемого jar-файла WLT3Serial (WLT3Serial-full-[VERSION].jar) больше не поддерживается. Поэтому WLT3Serial требует несколько файлов (описано ниже) для правильной работы с полной функциональностью.

Сборка

Требуется Oracle Java 7 или 8. Не тестировалось с другими поставщиками Java (например, OpenJDK или IBM JRE), поэтому я не гарантирую поддержку для них. Вероятно, может быть собрано с Java 9 или 10, но я не гарантирую поддержку для них.

WLT3Serial собирается с помощью системы автоматизации сборки Gradle. Для сборки следует использовать Gradle 4, хотя другие версии были частично протестированы (см. раздел Разработка).

Сторонние зависимости:

  • ysoserial — для генерации полезных нагрузок десериализации объектов; требуется версия v0.0.5 или выше (будет загружена автоматически Gradle, если не предоставлена заранее пользователем.)
  • wlthint3client — для нативной обработки T3/T3S-соединений; должен быть предоставлен пользователем (из-за условий лицензирования Oracle): может быть загружен (требует имя пользователя/пароль Oracle) в составе файла wls1036_dev.zip (находится в /wlserver/server/lib/wlthint3client.jar) на этой странице (раздел «Zip distribution for Mac OSX, Windows, and Linux» в секции «Oracle WebLogic Server 10.3.6»).

Процедура:

  1. Клонируйте репозиторий WLT3Serial. git clone https://github.com/Bort-Millipede/WLT3Serial.git
  2. Откройте терминал и перейдите в клонированный репозиторий.
  3. Выполните следующую команду для создания предварительного каталога сборки: gradle clean prepare
  4. Поместите загруженный файл wlthint3client.jar в каталог build/libs/.
  5. (ОПЦИОНАЛЬНО) Если вы используете предпочтительную версию ysoserial (v0.0.5 или выше), поместите файл ysoserial.jar в каталог build/libs/.
  6. Чтобы собрать jar-файл WLT3Serial (находится в build/libs/WLT3Serial-[VERSION].jar), выполните следующую команду: gradle build -x test

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

Требуется Oracle Java 7 или 8. Не тестировалось с другими поставщиками Java (например, OpenJDK или IBM JRE), поэтому я не гарантирую поддержку для них. Вероятно, может быть использовано с Java 9 или 10, но я не гарантирую поддержку для них.

Если используются методы эксплуатации Property (по умолчанию), Bind или WLBind, WLT3Serial следует выполнять следующим образом (обратите внимание на значение параметра java '-cp'):

  • на *nix: java -cp /path/to/ysoserial.jar:/path/to/wlthint3client.jar:/path/to/WLT3Serial-[VERSION].jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD
  • на Windows: java -cp \path\to\ysoserial.jar;\path\to\wlthint3client.jar;\path\to\WLT3Serial-[VERSION].jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Если используется метод эксплуатации CustomClass, WLT3Serial следует выполнять следующим образом (обратите внимание на значение параметра java '-cp'):

  • на *nix: java -cp /path/to/ysoserial.jar:/path/to/WLT3Serial-[VERSION].jar:/path/to/wlthint3client.jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD
  • на Windows: java -cp \path\to\ysoserial.jar;\path\to\WLT3Serial-[VERSION].jar;\path\to\wlthint3client.jar bort.millipede.wlt3.WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Ниже приведена распечатка встроенного меню справки:

root@kitploit:~
Usage: WLT3Serial [OPTIONS] REMOTE_HOST REMOTE_PORT PAYLOAD_TYPE PAYLOAD_CMD

Options:
	--help				print usage (you're lookin at it)

	--verbose			Verbose output (full thrown exception output; Disabled by default)

	--method=EXPLOIT_METHOD		Exploit Method for delivering generated ysoserial payload
		Exploit Methods:
			Property	Send ysoserial payload as connection environment property value (Default; via javax.naming.Context.lookup(), variation of ysoserial.exploit.RMIRegistryExploit)
			Bind		Send ysoserial payload as object to bind to name (via javax.naming.Context.bind(), similar to ysoserial.exploit.RMIRegistryExploit)
			WLBind		Send ysoserial payload as WebLogic RMI object to bind to name (via weblogic.rmi.Naming.bind(), similar to ysoserial.exploit.RMIRegistryExploit)
			CustomClass	Send ysoserial payload during T3/T3S connection initialization (via custom weblogic.rjvm.ClassTableEntry class, similar to JavaUnserializeExploits weblogic.py)

	--t3s[=PROTOCOL]		Use T3S (transport-encrypted) connection (Disabled by default)
		Protocols:
			TLSv1.2
			TLSv1.1
			TLSv1 (Default)
			SSLv3
			SSLv2 (SSLv2Hello handshake only, then fallback to SSLv3 for communication: this is an Oracle Java limitation, not a WLT3Serial limitation)


Available Payload Types (WebLogic is usually vulnerable to "CommonsCollectionsX" and "JRMPClientX" types):
	(available payloads listed here)

Примечания по методам эксплуатации

Методы Property, Bind и WLBind очень похожи. Это до такой степени, что если целевая система не может быть эксплуатирована с помощью одного из этих методов, то, скорее всего, она не может быть эксплуатирована ни одним из них. Метод CustomClass полностью отличается от других методов.

Преимущества/Недостатки методов Property/Bind/WLBind:

  • Преимущество: Поскольку эти методы выполняют попытку эксплуатации через доступные классы/методы WebLogic из файла wlthint3client.jar, T3/T3S-коммуникация обрабатывается нативно и генерируется содержательный вывод (исключения, трассировки стека и т.д.), помогающий пользователям определить потенциал и успех эксплуатации.
  • Недостаток: На момент написания Oracle исправил большинство (если не все) режимы эксплуатации с использованием этих методов.

Преимущество/Недостатки метода CustomClass:

  • Преимущество: Поскольку этот метод атакует другой загрузчик классов WebLogic (который содержит дополнительные уязвимые библиотеки), чем вышеуказанные методы, доступны более новые успешные режимы эксплуатации.
  • Недостаток: Из-за характера доставки полезной нагрузки этим методом на целевые серверы (по сути, нарушая нативную T3/T3S-коммуникацию), не может быть сгенерирован содержательный вывод (исключения, трассировки стека и т.д.), помогающий пользователям определить потенциал и успех эксплуатации.

Примечания по T3S-соединению

Рекомендуется, чтобы пользователь выполнил сканирование целевого сервера с помощью sslscan или скрипта nmap ssl-enum-ciphers, чтобы узнать, какие протоколы поддерживаются. Таким образом, пользователь может точно настроить опцию --t3s при выполнении WLT3Serial.

Разработка

В попытке улучшить эксплойты JavaUnserializeExploits weblogic.py и loubia, WLT3Serial был разработан на Java с использованием следующих ресурсов для подключения к службам WebLogic T3/T3S:

  • https://docs.oracle.com/cd/E21764_01/web.1111/e13717/wlthint3client.htm
  • https://docs.oracle.com/cd/E13222_01/wls/docs92/jndi/jndi.html
  • https://docs.oracle.com/cd/E11035_01/wls100/javadocs/weblogic/rmi/Naming.html
  • https://gist.github.com/fkrauthan/ac8624466a4dee4fd02f

Особое внимание было уделено нативной обработке T3-соединений в Java, а также правильной обработке ошибок для предоставления полезного вывода команд пользователю.

WLT3Serial был разработан с использованием следующих версий программного обеспечения:

  • Oracle Java 8 Update 191
  • Oracle Java 7 Update 80 и Oracle Java 7 Update 17
  • Gradle 4.10.2, 3.2 (частично протестирован), 2.10 (частично протестирован), 1.4 (частично протестирован)

Живое тестирование во время разработки проводилось на следующих версиях WebLogic Server:

  • 10.3.6
  • 12.1.3
  • 12.2.1.1 (уязвим только к определенным типам полезных нагрузок и методам эксплуатации)
  • 12.2.1.2 (уязвим только к определенным типам полезных нагрузок и методам эксплуатации)
  • 12.2.1.3 (частично уязвим)

Отказ от ответственности

Разработчики предоставляют программное обеспечение бесплатно без гарантий и не несут ответственности за любой ущерб, причиненный системам при использовании программного обеспечения. Пользователь обязан соблюдать все местные, государственные и федеральные законы при использовании программного обеспечения.

Авторские права

(C) 2017, 2018 Jeffrey Cap (Bort_Millipede)

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