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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2018-1335 — CENG 325 - مبادئ أمن المعلومات والخصوصية | Kitploit
أدوات/GitHubGitHub/canumay/cve-2018-1335
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةالتعلم والتعليم
GitHubcanumay/cve-2018-1335

cve-2018-1335

CENG 325 - مبادئ أمن المعلومات والخصوصية

عرض المستودع
1منذ 5 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Ankara Yildirim Beyazit University Computer Engineering Department

CENG 325 - Principles of Information Security And Privacy

مشروع CENG201 OOP

أعضاء المجموعة

@canumay @aslihann @ezgigucuyener @mburakdonmez

المراجع

NVD - CVE-2018-1335

Exploit DB - Apache Tika-server < 1.18 - حقن أوامر

Rhino Security Labs - استغلال CVE-2018-1335: حقن أوامر في Apache Tika

Metasploit

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

كود الاستغلال مكتوب بواسطة باحث الأمن السيبراني David Yesland @Daveysec ويجب استخدامه للأغراض التعليمية فقط.

المرحلة 1 – بحث الثغرات الأمنية

أ. وصف موجز للثغرة

  • النوع: حقن أوامر (Command Injection)
  • عامل التأثير: درجة تأثير الثغرة هي 5.9 وفقًا لمقاييس تأثير CVSS. جميع جوانب السرية والسلامة والتوافر عالية.
  • درجة الخطورة: درجة خطورة الثغرة هي 8.1 وفقًا لمقاييس درجة CVSS الأساسية. (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H)
  • الإصدارات المتأثرة من التطبيق المعرّض للخطر: من Apache Tika الإصدارات 1.7 إلى 1.17
  • ما المقصود بنوع الثغرة
    • قدّم نوع الثغرة وناقش سبب اختلافه عن الأنواع الأخرى من الثغرات نوع الثغرة هو حقن الأوامر. ويعود ذلك إلى أن التطبيقات المعرّضة للخطر تمرر بيانات المستخدم غير المنقّاة إلى صدَفَة النظام (system shell)، مما يسمح بتنفيذ أكواد ضارة. وإذا قارنّا هذه الثغرة بحقن الأكواد (Code Injection)، نجد بعض الاختلافات. على سبيل المثال، يسمح حقن الأكواد للمهاجم باستخدام كوده الخاص الذي ينفذه التطبيق. أما في حقن الأوامر، فيقوم المهاجم بتعديل وظيفة التطبيق، مما يسمح للمستخدمين بتنفيذ أوامر النظام.

ب. طريقة استغلال الثغرة

  • ما أنواع الهجمات التي يمكن تنفيذها بعد تفعيل الثغرة: بعد تفعيل الثغرة، يمكننا بسهولة إنشاء قوقعة عكسية (reverse shell)، وبها يمكننا تنفيذ جميع الأوامر المتاحة للمستخدم الذي يشغّل خادم أباتشي تيكا.
  • كيف يستغل المهاجم الأنظمة المعرّضة للخطر باستخدام الثغرة؟: أولاً، يجب على المهاجم تحديد ما إذا كان الخادم يشغّل إصدارًا معرّضًا للخطر من خادم أباتشي تيكا. ثم ينشئ المهاجم رأس HTTP ضارًا وكود Jscript قبل إرسال طلب PUT إلى نقطة النهاية HTTP المعرّضة للخطر، مما يؤدي إلى قيام خادم أباتشي تيكا بتنفيذ الكود الضار باستخدام وظيفته الخاصة.
  • هل تُستخدم الثغرة في مجموعات الاستغلال (exploit kits)؟: نعم، هذه الثغرة متاحة في مجموعة استغلال Metasploit.

المرحلة 2 – كود الاستغلال

أ. ابحث عن كود استغلال يستغل الثغرة أو قم ببنائه

ب. أبرز أجزاء الكود المعرّضة للخطر واشرح سبب هشاشتها

يقوم خادم أباتشي تيكا بتكوين أمر لتنفيذه، باستخدام القيم التي يقدمها المستخدم في الطلب لتشغيل OCR على الصور. وهذا يسمح للمستخدمين بالعبث بالأمر وتنفيذ كود ضار. في هذه الحالة، يجلب config.getTesseractPath() قيمة ترويسة X-Tika-OCRTesseractPath ويضيفها إلى بداية الأمر. وعلى الرغم من إضافة السلسلة tesseract.exe إلى نهاية المسار الذي يقدمه المستخدم، يمكن للمستخدم أن يحيط مساره بعلامات اقتباس مزدوجة " لتجاهل السلسلة tesseract.exe التالية. وهذا يسمح للمستخدم بتنفيذ أي ملف قابل للتنفيذ على الخادم.

الأمر المُجهز:

root@kitploit:~
"calc.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l eng -psm 1 txt -c preserve_interword_spaces=0

إن CScript.exe المدمج في ويندوز هو لغة برمجة نصية تأخذ اسم ملف لبرنامج نصي وتنفذه وتتجاهل الوسائط الأخرى. وإذا تمكنا من تقديم برنامج نصي مخصص لـ cscript، فيمكننا تنفيذه على الخادم. يأخذ خادم أباتشي تيكا صورتنا المقدمة في نص الطلب (body) ويحفظها في ملف مؤقت لتشغيل OCR، لذا بدلاً من إرسال ثنائي صورة، يمكننا إرسال سلسلة نصية مباشرة وستُحفظ السلسلة كما لو كانت بيانات ثنائية. لكن خادم تيكا يتحقق من أن الثنائي هو صورة، باستثناء نوع الملف jp2 حيث يُحفظ مباشرة. وهذا الملف سيُمرر كوسيطة إلى ملف cscript القابل للتنفيذ. لكن امتداد الملف سيظل .tmp، بينما نحتاج إلى .JScript أو .vbs. لتجاوز ذلك، يمكننا أن نطلب من cscript تشغيل JScript بغض النظر عن امتداد الملف. كما يمرر خادم تيكا config.getPageSetMode() إلى الأمر، وهي القيمة التي يرسلها المستخدم في ترويسة X-TikaOCRLanguage. إذا غيّرناها إلى السلسلة //E:Jscript، فسوف يشغّل cscript البرنامج النصي بصيغة JScript بغض النظر عن امتداد الملف. وأخيرًا، السلسلة المقدمة في نص الطلب ستكون الحمولة (payload) التي سيتم تنفيذها، ويمكنها أيضًا استدعاء وحدة تحكم أخرى للوصول الكامل إلى صدَفَة النظام.

الأمر النهائي المُجهز:

root@kitploit:~
"cscript.exe"tesseract.exe C:\Users\Test\AppData\Local\Temp\apache-tika3299124493942985299.tmp C:\Users\Test\AppData\Local\Temp\apache-tika7317860646082338953.tmp -l //E:Jscript -psm 1 txt -c preserve_interword_spaces=0

حمولة بسيطة لاستدعاء الصدفة في Jscript:

root@kitploit:~
var oShell = WScript.CreateObject("WScript.Shell");
var oExec = oShell.Exec('cmd /c calc.exe');

المرحلة 3 – التنفيذ

أ. نفّذ كود الاستغلال الذي وجدته أو صممته:

خادم Apache Tika Server 1.17 يعمل داخل الجهاز الافتراضي الهدف.

يمكننا الوصول إلى الخادم من جهازنا المضيف باستخدام العنوان IP “192.168.233.167”.

ثم نفّذنا كود الاستغلال المُجهز مع الحمولة “calc.exe” لتشغيل الآلة الحاسبة داخل الجهاز الهدف، لإظهار أن لدينا القدرة على تنفيذ أي كود ضار داخل الجهاز الهدف. كما يمكننا أيضًا بقوة القوقعة العكسية (reverse shell) إنشاء جلسة قوقعة تفاعلية على الجهاز الهدف.

ب. ما نتائج تنفيذ كود الاستغلال:

كما شرحنا أعلاه، بهذا الاستغلال ننفذ برنامج الآلة الحاسبة داخل الجهاز الهدف، لكن مع قدرة تنفيذ الأكواد عن بُعد (Remote Code Execution) يمكننا فعل ما نشاء على الجهاز الهدف بصلاحيات المستخدم الذي يشغّل خادم Apache Tika. على سبيل المثال، يمكننا الوصول إلى ملفات المستخدم، ومراقبة نشاط المستخدم، وحتى التقاط لقطة شاشة أو صورة بكاميرا الويب إذا كانت موجودة.

ج. كيف يمكنك التأكد من أن الثغرة موجودة فعلاً:

هذه الثغرة مُبلَّغ عنها بالفعل من مصادر موثوقة مثل NIST، وقد أكدتها وأصلحتها Apache نفسها. ولكن لإثبات ذلك، يمكننا تنفيذ إثبات مفهوم (PoC) آخر باستخدام metasploit.

أولاً، تأكدنا من أن الإصدار المثبت هو إصدار معرّض للخطر.

بعد تأكيد الإصدار، يمكننا ضبط جلسة metasploit الخاصة بنا باستخدام IP والمنفذ الصحيحين وتشغيل الأمر “check” للتحقق مما إذا كان الهدف معرّضًا للخطر.

أخيرًا، يمكننا تشغيل الأمر “exploit” لبدء الاستغلال والتأكد من أن القوقعة حية بكتابة “dir” بداخلها. من هنا، القيد الوحيد هو صلاحيات المستخدم الذي يشغّل خادم Apache Tika.

تنزيل الأداة