
ثغرة حرجة في تنفيذ التعليمات البرمجية عن بُعد (RCE) قبل المصادقة في Oracle E-Business Suite (الإصدارات 12.2.3 - 12.2.14) تسمح للمهاجمين بالسيطرة الكاملة على الخوادم المعرضة للخطر عبر طلبات HTTP خبيثة - ويتم استغلالها الآن بنشاط في البرية.
CVE-2025-61882 هي ثغرة حرجة، RCE قبل المصادقة في Oracle E-Business Suite (EBS) يتم استغلالها بنشاط في حملات الابتزاز/سرقة البيانات. الإصدارات المتأثرة: 12.2.3 → 12.2.14. نشرت Oracle استشارة طارئة مع مؤشرات الاختراق (IOCs) (عناوين IP، أمر shell-stager، قيم SHA-256). قم بتطبيق التصحيح أو حماية الأنظمة المكشوفة فورًا، وابحث باستخدام أدوات الكشف المقدمة، واستخدم سكربت Python الآمن أدناه لفحص السجلات. لا تشغّل PoCs العامة على بيئة الإنتاج — اختبر فقط في مختبر معزول وبإذن. 🛑🗿
يدير Oracle EBS وظائف أعمال حرجة (ERP، الرواتب، المالية، الموارد البشرية). ثغرة RCE قبل المصادقة في مثيل EBS مواجه للويب تسمح للمهاجم بتنفيذ أوامر عشوائية على خادم التطبيق، والوصول المحتمل إلى بيانات حساسة، وإسقاط webshells، وسرقة الملفات. تم تسليح هذه الثغرة في البرية وربطها بحملات ابتزاز — إنها حادثة أعمال حقيقية، وليست CVE نظرية. 🔥
/OA_HTML/، ونقاط النهاية ذات الصلةUiServlet و /OA_HTML/ لتفعيل RCE./bin/bash -i >& /dev/tcp/...).تلاحظ Oracle أن مؤشرات الاختراق هذه هي نشاط مرصود عبر الحوادث (ليست محدودة بـ CVE-2025-61882). تعامل مع أي تطابق إيجابي كأولوية عالية.
عناوين IP
200.107.207.26 — نشاط GET/POST محتمل185.181.60.11 — نشاط GET/POST محتملنمط Shell stager
sh -c /bin/bash -i >& /dev/tcp// 0>&1 — أمر نمط reverse shell صادر مرصودقيم SHA-256 (أدوات الاستغلال / قطع PoC)
76b6d36e04e367a2334c445b51e1ecce97e4c614e88dfb4f72b104ca0f31235d
(oracle_ebs_nday_exploit_poc_scattered_lapsus_retard_cl0p_hunters.zip)aa0d3859d6633b62bccfb69017d33a8979a3be1f3f0a5a4bf6960d6c73d41121
(.../exp.py)6fd538e4a8e3493dda6f9fcdc96e814bdd14f3e2ef8aa46f0143bff34b882c1b
(.../server.py)الإصدارات المتأثرة (تكرار للتأكيد)
TL;DR يحتوي مستودع GitHub على أدوات كشف سلبية لـ CVE-2025-61882 (RCE قبل المصادقة في Oracle E-Business Suite). استخدمها للبحث والفرز والاحتواء — وليس للاستغلال. 🛑🗿
تمت إضافة وصف موجز (Description.md) (mini-README) بالفعل داخل مجلد detections/ — راجع هذا الملف للكتابة الكاملة و TL;DR. يلخص هذا README العلوي حزمة الكشف والاستخدام فقط حتى تتمكن من الحصول على الأشياء وتشغيلها بسرعة.
detections/splunk/
oracle_cve61882_ioc_traffic.spl — كشف حركة المرور من/إلى عناوين IP الخاصة بمؤشرات الاختراق المقدمة من Oracle.oracle_cve61882_uiservlet_post.spl — كشف POSTs المشبوهة إلى UiServlet / /OA_HTML/ من عناوين IP خارجية.oracle_cve61882_reverse_shell.spl — كشف إنشاء عمليات بنمط reverse shell في سجلات نقاط النهاية.detections/elastic/
oracle_cve61882_uiservlet_post.kql — KQL لطلبات POST إلى UiServlet/OA_HTML.oracle_cve61882_filehash_detection.kql — KQL لمطابقة قيم SHA-256 الخبيثة المقدمة من Oracle.detections/scripts/
ebs_safe_hunt.py — محلل سجلات Python آمن وغير متصل (بدون استدعاءات شبكة، بدون تنفيذ استغلال). شغّله على نسخ من سجلات الوصول الخاصة بك.detections/Description.md
راجع detections/Description.md للسياق ومؤشرات الاختراق. ✅
ضع استعلامات Splunk .spl في بيئة Splunk الخاصة بك (أو استوردها في عمليات البحث المحفوظة / التنبيهات).
الصق استعلامات KQL في قواعد كشف Kibana / Elastic.
انسخ ebs_safe_hunt.py إلى مضيف لديه وصول قراءة فقط إلى سجلات مؤرشفة أو منقحة، ثم شغّل:
python3 ebs_safe_hunt.py /path/to/access.log
راجع مخرجات malicious_ips و servlet_posts و shell_stager و malicious_hash المميزة وصعّد حسب الحاجة. 🕵️♂️
المبدأ: ادمج كشف الإصدار أو ضربات الواجهة مع مؤشرات عالية الثقة (عناوين IP خبيثة، POST إلى UiServlet/OA_HTML، سلاسل عمليات reverse shell، تطابقات hash ملف، تحميلات صادرة كبيرة).
أمثلة Splunk كشف حركة المرور إلى مؤشرات اختراق Oracle:
index=web_logs OR index=proxy_logs
| where clientip IN ("200.107.207.26","185.181.60.11") OR dest_ip IN ("200.107.207.26","185.181.60.11")
| stats count by clientip, dest_ip, uri, method, useragent, _time
| sort - count
كشف POSTs إلى UiServlet/OA_HTML من عناوين IP خارجية:
index=web_logs sourcetype=access_combined
| where (uri LIKE "%UiServlet%" OR uri LIKE "%/OA_HTML/%") AND method="POST"
| where NOT cidrmatch("10.0.0.0/8", clientip) // اضبط لنطاقاتك الداخلية
| stats count by clientip, uri, useragent, _time
| sort - count
كشف إنشاء عمليات reverse shell (EDR):
index=endpoint_events sourcetype=os_process
| where process_cmdline LIKE "%/bin/bash -i%/dev/tcp/%" OR process_cmdline LIKE "%/dev/tcp//%"
| table _time host user process_name process_cmdline parent_process
أمثلة Elastic / KQL POST مشبوه إلى UiServlet:
http.request.method : "POST" and (http.request.uri : "*UiServlet*" or http.request.uri : "/OA_HTML/*") and not client.ip : ("10.0.0.0/8")
كشف hash ملف:
event.type: "file" and file.hash.sha256 : ("76b6d36e04e3...", "aa0d3859d66...", "6fd538e4a8e3...")
Sigma (أفكار قواعد قابلة للنقل)
UiServlet//OA_HTML/ من عناوين IP خارجية → أولوية عالية/bin/bash -i >& /dev/tcp/ → حرجةيحلل هذا السكربت سجلات الوصول بتنسيق combined ويحدد POSTs المشبوهة إلى UiServlet/OA_HTML، والطلبات من عناوين IP الخبيثة المدرجة من Oracle، وأنماط shell stager، وحدوث قيم SHA-256 المقدمة. لا يقوم بأي نشاط شبكة أو تشغيل كود استغلال.
#!/usr/bin/env python3
"""
ebs_safe_hunt.py — محلل سجلات آمن لمؤشرات CVE-2025-61882.
الاستخدام:
python3 ebs_safe_hunt.py /path/to/access.log
ملاحظات:
- يحلل أسطر سجلات Apache/Nginx combined.
- يحدد POSTs إلى UiServlet/OA_HTML، وعناوين IP الخبيثة من استشارة Oracle،
وأنماط shell stager، وقيم SHA256 المرصودة.
- آمن: بدون شبكة / بدون تنفيذ استغلال.
"""
import sys
import re
from collections import Counter, defaultdict
# Regex لتنسيق السجل combined الشائع
LOG_PATTERN = re.compile(
r'(?P<ip>\S+) \S+ \S+ \[(?P<time>.*?)\] "(?P<method>\S+) (?P<uri>\S+) \S+" (?P<status>\d{3}) (?P<size>\S+) "(?P<ref>[^"]*)" "(?P<ua>[^"]*)"'
)
# مؤشرات الاختراق المقدمة من Oracle
MALICIOUS_IPS = {"200.107.207.26", "185.181.60.11"}
MALICIOUS_HASHES = {
"76b6d36e04e367a2334c445b51e1ecce97e4c614e88dfb4f72b104ca0f31235d",
"aa0d3859d6633b62bccfb69017d33a8979a3be1f3f0a5a4bf6960d6c73d41121",
"6fd538e4a8e3493dda6f9fcdc96e814bdd14f3e2ef8aa46f0143bff34b882c1b",
}
SHELL_PATTERN = "/bin/bash -i" # نبحث عن هذه السلسلة الفرعية (نمط reverse shell)
SUSPICIOUS_PATHS = ["UiServlet", "/OA_HTML/"]
# اختياري: قائمة وكلاء المستخدم المشبوهين المستخدمين غالبًا من قبل الماسحات
SUSPICIOUS_UAS = ["curl", "wget", "python-requests", "nikto", "sqlmap", "masscan", "Nmap"]
def analyze_log(path):
ip_counts = Counter()
uri_counts = Counter()
ua_counts = Counter()
suspicious = defaultdict(list)
with open(path, "r", errors="replace") as fh:
for line_no, line in enumerate(fh, 1):
m = LOG_PATTERN.search(line)
if not m:
# اختياريًا، تحقق من الهاشات أو نمط shell في الأسطر غير المهيكلة
if any(h in line for h in MALICIOUS_HASHES):
suspicious["malicious_hash_lines"].append((line_no, line.strip()))
if SHELL_PATTERN in line or "/dev/tcp/" in line:
suspicious["shell_pattern_lines"].append((line_no, line.strip()))
continue
ip = m.group("ip")
method = m.group("method")
uri = m.group("uri")
ua = m.group("ua")
size = m.group("size")
ip_counts[ip] += 1
uri_counts[uri] += 1
ua_counts[ua] += 1
# 1) عناوين IP الخبيثة (Oracle)
if ip in MALICIOUS_IPS:
suspicious["malicious_ips"].append((line_no, ip, method, uri, ua))
# 2) POSTs إلى مسارات EBS المشبوهة
if method.upper() == "POST" and any(p in uri for p in SUSPICIOUS_PATHS):
suspicious["servlet_posts"].append((line_no, ip, uri, ua))
# 3) وكلاء المستخدم المشبوهون (الماسحات)
if any(k.lower() in ua.lower() for k in SUSPICIOUS_UAS):
suspicious["suspicious_ua"].append((line_no, ip, uri, ua))
# 4) استجابات كبيرة جدًا (سرقة محتملة) — اضبط العتبة لبيئتك
try:
if size != "-" and int(size) > 5_000_000: # >5MB
suspicious["large_responses"].append((line_no, ip, uri, size))
except ValueError:
pass
# 5) نمط shell stager أو أنماط /dev/tcp في السطر
if SHELL_PATTERN in line or "/dev/tcp/" in line:
suspicious["shell_stager"].append((line_no, ip, uri, line.strip()))
# 6) هاشات الملفات الخبيثة المعروفة الموجودة في السجلات (إن وجدت)
for h in MALICIOUS_HASHES:
if h in line:
suspicious["malicious_hash"].append((line_no, ip, uri, h))
return {
"ip_counts": ip_counts,
"uri_counts": uri_counts,
"ua_counts": ua_counts,
"suspicious": suspicious
}
def pretty_report(r, top=10):
print("\n=== EBS HUNT REPORT ===\n")
print("أهم عناوين IP المصدر:")
for ip, c in r["ip_counts"].most_common(top):
print(f" {ip}: {c}")
print("\nأهم URIs:")
for uri, c in r["uri_counts"].most_common(top):
print(f" {uri}: {c}")
print("\nأهم وكلاء المستخدم:")
for ua, c in r["ua_counts"].most_common(top):
print(f" {ua}: {c}")
print("\nالنتائج المشبوهة:")
if not r["suspicious"]:
print(" لم يتم العثور على شيء.")
return
for k, items in r["suspicious"].items():
print(f"\n-- {k} ({len(items)} تطابق) --")
for item in items[:100]:
print(" " + " | ".join(map(str, item)))
if __name__ == "__main__":
if len(sys.argv) != 2:
print("الاستخدام: python3 ebs_safe_hunt.py /path/to/access.log")
sys.exit(1)
path = sys.argv[1]
result = analyze_log(path)
pretty_report(result)
طريقة الاستخدام: انسخ ebs_safe_hunt.py إلى مضيف لديه وصول قراءة إلى سجلات مؤرشفة أو منسوخة. شغّل:
python3 ebs_safe_hunt.py /path/to/access.log
راجع نتائج malicious_ips و servlet_posts و shell_stager و malicious_hash المميزة وصعّد حسب الاقتضاء. 🕵️♂️
200.107.207.26 و 185.181.60.11 وأي عناوين IP/نطاقات IOC أخرى مقدمة من البائعين.الموضوع: حرج: CVE-2025-61882 — Oracle E-Business Suite — إجراء فوري مطلوب
ماذا: RCE حرج قبل المصادقة (CVE-2025-61882) في Oracle EBS (12.2.3–12.2.14). تم استغلاله في حملات سرقة البيانات/الابتزاز.
طلبات فورية (خلال 24 ساعة القادمة):
المخاطر: عالية — احتمال اختراق كامل لخادم التطبيق، سرقة بيانات، تعرض تنظيمي. الخلاصة: صحيح أو احمِ الآن. — 🗿
لديك كل ما تحتاجه: النظرة العامة، مؤشرات الاختراق مباشرة من Oracle، عمليات بحث عملية، وسكربت آمن لبدء الفرز. صحيح أو احمِ خوادم EBS الخاصة بك، واطلق عمليات بحث IOC عبر SOC الخاص بك، واعزل أي شيء يبدو مريبًا. ابقَ حادًا، وصحح بسرعة، ومرّن عضلة الاستجابة للحوادث. 🗿🔥