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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2015-8522.RCE — خادم Tivoli FastBack (الإصدار 6.1.4) عرضة لخطأ تجاوز سعة المخزن المؤقت (stack-based buffer overflow) مما يسمح للجهات التهديدية بالحصول على تنفيذ تعليمات برمجية تعسفية (ACE) عبر اتصال TCP عن بُعد. يستغل إثبات المفهوم (PoC) المقدم في هذا المستودع هذه الثغرة لإنشاء شيل عكسي (reverse-shell). | Kitploit
أدوات/GitHubGitHub/damariion/cve-2015-8522.rce
أطر الاستغلالتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةشيل كودما بعد الاستغلالاختبار الاختراقأداة الوصول عن بعدتوليد شيفرة القشرة

الأكثر شعبية

عرض الكل →

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

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

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

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

حول

خادم Tivoli FastBack (الإصدار 6.1.4) عرضة لخطأ تجاوز سعة المخزن المؤقت (stack-based buffer overflow) مما يسمح للجهات التهديدية بالحصول على تنفيذ تعليمات برمجية تعسفية (ACE) عبر اتصال TCP عن بُعد. يستغل إثبات المفهوم (PoC) المقدم في هذا المستودع هذه الثغرة لإنشاء شيل عكسي (reverse-shell).

تطوير الحمولات
استغلال الملفات الثنائية
Archived
GitHubdamariion/cve-2015-8522.rce

CVE-2015-8522.RCE

عرض المستودعالموقع الإلكتروني
منذ 4 أشهرلم تتم المراجعة بعد
مشاركة

CVE-2015-8522

تطبيق Tivoli FastBack Server (6.1.4) معرض لثغرة تجاوز سعة المخزن المؤقت القائمة على المكدس مما يسمح للمهاجمين بالحصول على تنفيذ تعليمات برمجية عشوائي (ACE) عبر اتصال TCP عن بُعد. يستغل الإثبات المقدم في هذا المستودع هذه الثغرة لتنفيذ CMD.exe على الهدف والتعامل مع الاتصال الوارد لإنشاء قشرة عكسية.

مثال

OS BUILD ARCH

[!NOTE] يستند هذا الإثبات إلى إثبات منشور سابقًا، وقد تم توسيعه بإضافة تجاوز لـ ASLR بالإضافة إلى بنية محسنة تتبع نماذج هندسة البرمجيات الشائعة. نظرًا لأن هيكل الملفات المتعددة الموصى به قد لا يكون مرغوبًا في جميع الحالات، يتم توفير نسخة ملف واحد من الاستغلال في assets/single.py.

الثغرة

الاتصال

يتواصل الإثبات مع التطبيق المعرض للخطر عبر منفذ TCP 11460. يجب أن تتبع البيانات المنقولة إلى هذا المنفذ البنية المحددة أدناه:

root@kitploit:~
0x00000123 0x00000000 0x00000000 0x00000000
0x00000ABC 0x00000AAA 0x00000111 0x00000BBB
0x00000222 0x00000CCC 0x00000333 0x00000000
0x00000000 0x00000000 0x00000000 0x00000000

<buffer 1> ...
<buffer 2> ...
<buffer 3> ...

الاستغلال

باستخدام بنية الحزمة المذكورة أعلاه، يقوم الإثبات باستدعاء الدالة _FXCLI_SetConfFileChunk المُعرفة برمز العملية 0x534. من هنا، يؤدي التنفيذ إلى استدعاء sscanf الذي تُقرأ وسائطه من المخزن المؤقت (1) دون تطهير مناسب. من خلال تقديم كتلة بحجم 0x118 بايت بالضبط، يتم الكتابة فوق مؤشر eip بأي قيمة موجودة في الـ 4 بايتات الأخيرة.

تجاوزات التخفيف

عشوائية تخطيط مساحة العنوان (ASLR)

لتجاوز ASLR، يقوم الإثبات باستدعاء الدالة FXCLI_DebugDispatch عن طريق إرسال حزمة الشبكة المذكورة أعلاه مع رمز العملية 0x2000. تقرأ هذه الدالة المخزن المؤقت الأول لوظيفة محددة، بعض منها مدرج أدناه:

  • DumpMemoryPools
  • ReadRepositorySectors
  • SymbolOperation

يستخدم الإثبات وظيفة SymbolOperation، التي تدخل رمزًا عشوائيًا وتعيد عنوان قاعدته. بهذا، يتم حل عنوان N98E_CRYPTO_get_new_lockid الذي يُطرح منه إزاحته (0x14E0). ينتج عن هذا في النهاية العنوان الأساسي لـ libeay32IBM019.dll، والذي سيتم استخدامه بشكل مكثف في مرحلة التجاوز التالية.

قبل إنشاء سلسلة ROP، يتم فحص القاعدة بحثًا عن أحرف ضارة محتملة. إذا كانت موجودة، يتم إعادة تشغيل التطبيق المعرض للخطر عن طريق تجاوز سعة المخزن المؤقت والكتابة فوق eip بالقيمة غير المعقولة 0x90909090. بعد ذلك، يتم استقصاء التطبيق حتى عودته إلى الإنترنت لإعادة تشغيل الدورة.

منع تنفيذ البيانات (DEP/NX)

يتم بناء سلسلة ROP حيث يتم استخدام القاعدة التي تم الحصول عليها من مرحلة التجاوز السابقة. تستدعي سلسلة ROP هذه الدالة WriteProcessMemory، وتنسخ محتويات "invite" إلى كهف الكود في مقطع .text في libeay32IBM019.dll.

عند إنشاء سلسلة ROP، يتم فحص جميع محتوياتها (المحلولة) مرة أخرى بحثًا عن أحرف ضارة محتملة. إذا كانت موجودة، يتم إعادة تشغيل التطبيق بنفس الطريقة كما في مرحلة التجاوز السابقة، وتبدأ الدورة من جديد.

[!NOTE] لمنع حلقة لا نهائية أثناء مرحلة التجاوز، تم تكوين الإثبات لإعادة محاولة التجاوز لمدة أقصاها 10 دقائق. بعد ذلك، سينتهي الاستغلال بعد الوصول إلى المهلة الزمنية.

مرحلة ما بعد الاستغلال

بعد تجاوز إجراءات التخفيف للاستغلال، يتم تحقيق تنفيذ تعليمات برمجية عشوائي عام (ACE). يتم استغلال هذا ACE لتنفيذ شيل كود محدد يقوم بإنشاء عملية لـ CMD.exe باستخدام CreateProcessA. يتم تعيين وسائط هذا الاستدعاء لإعادة توجيه جميع الأنابيب (STDIN، STDOUT، STDERR) إلى اتصال مأخذ توصيل متصل بـ localhost.

بالتزامن، يبدأ الإثبات مستمعًا على localhost يلتقط الطلب الوارد من المضيف البعيد ويبدأ واجهة CLI أساسية جدًا للتفاعل مع عملية CMD.exe المنشأة.

التصور

root@kitploit:~
graph

    a("Start")
    b("Buffer overflow: crash")
    c("Buffer overflow: hijack")

    subgraph sa["ASLR Bypass"]

        a1["Resolve API with 'SymbolOperation'"]
        a2["Subtract offset (0x14E0)"]
        a3{"Base contains bad-chars?"}

        a1 -->| N98E_CRYPTO_get_new_lockid | a2
        a2 -->| libeay32IBM019.dll | a3

    end
    
    subgraph sb["DEP Bypass"]

        b1["Construct ROP"]
        b2{"ROP contains bad-chars?"}

        b3["Locate shellcode"]
        b4["Locate code-cave"]
        b5["Invoke WriteProcessMemory"]
        b6["Return to shellcode"]

        b1 --> b2
        b2 -->| no | b3
        b3 --> b4
        b4 --> b5
        b5 --> b6

    end

    subgraph sc["Reverse Shell"]
    
        c1["(Remote) connect to localhost"]
        c2["(Local) listen on available port"]
        c3["(Local) accept connection"]
        c4["(Local) loop over CMDs"]
    
        c1 --> c2
        c2 --> c3
        c3 --> c4

    end

    a3 -->| no  | sb
    
    b2 -->| yes | b
    a3 -->| yes | b
    
    a --> sa
    b --> a
    b6 --> c --> sc

تنزيل الأداة
الحقلالوصفالهدف
123الحجمالحزمة
ABCرمز العمليةالدالة
AAA, 111الإزاحة، الحجمالمخزن المؤقت (1)
BBB, 222الإزاحة، الحجمالمخزن المؤقت (2)
CCC, 333الإزاحة، الحجمالمخزن المؤقت (3)