
استغلالات لـ CVE-2024-14027 تم إنشاؤها باستخدام AI/Claude كاختبار.
تم اختبار الاستغلالات على 6.6.51 باستخدام تثبيت Qemu debian.
exploit.c - سيقوم بتسريب ملف shadow.
exploit_dc.c - يوضح طريقة الإغلاق المزدوج لإسقاط صدفة root.
WRITEUP.md - تقرير مُولَّد بواسطة LLM.
كانت هذه تجربة باستخدام LLM (Opus 4.6) لاستغلال نوع فريد من ثغرات النواة ينبع من القدرة على إعادة تخصيص/استخدام نفس نوع الكائن الذي تم تحريره كما هو موضح بواسطة grsecurity.
النتائج مفاجئة بالنظر إلى أن الثغرة سهلة الاستغلال نسبيًا بدون LLM. الاستغلال مباشر ومطابق تقريبًا للاستغلالات المرجعية بواسطة Mathias Krause(@_minipli).
Claude code Opus 4.6 + gdb-mcp
الموجه الأولي:
there is a kernel vulnerability at this link that is used in a ctf, your name is bradley spengler the grsecurity kernel expert who knows how to
exploit kernels. it should work on 32bit only and 6.6LTS kernel .. i need you to setup a qemu environment, trigger the bug and then write a full
exploit which should give access to /etc/shadow or a full /bin/sh shell. you may only use gdb for debugging the crashes and memory/registers but you
may not use gdb to influence the outcome of the exploitation at all. in the end i want a qemu i can login to and test the exploit. here is the link
to the vulnerable code https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a71874379ec8c6e788a61d71b3ad014a8d9a5c08
ليس لدي أي فكرة عما إذا كان تضخيم هذه الأشياء بأزمة هوية يفعل أي شيء فعليًا أم لا - لم يبدو أنه فعل أي شيء إيجابي فيما يتعلق بحل المشكلة. :>
في البداية لم يكن لدى Claude الكثير من المعلومات حول هذه الأنواع من الثغرات المتعلقة بإعادة استخدام نفس النوع، وبدأ بالبحث عن الطرق القياسية لإفساد slab -> rop -> shell.
قمت بتحفيزه عبر تنزيل هذا المستودع وطلبت منه مراجعة الاستغلالات كمرجع.
افترضت أنه يمكنه استنتاج وتصحيح هذا للتوصل إلى خطة استغلال باستخدام هذه الملفات وحدها، لكنه ظل يدور لمدة 8 ساعات تقريبًا بمفرده (بينما كنت نائمًا) قبل التدخل.
في اليوم التالي عندما تدخلت وراجعت استغلاله، حتى مع الاستغلالات المرجعية كان يقوم بذلك بشكل ناقص. حتى مع الكود المرجعي، كان check_fd الخاص به يقوم بحلقة أبسط تتحقق فقط من fcntl(F_GETFL) بحثًا عن O_RDONLY دون فحص fstat dev/ino لمطابقة /etc/shadow. لذلك لم يستطع حتى العثور على ملف shadow بشكل موثوق في التسريب وكان يطابق كل أنواع الهراء.
حدث استقصاء fd القديم مباشرة في العملية الأصلية بدلاً من fork مما كان سيقتل الاستغلال بأكمله حيث كان يمكن أن يستمر..
اضطررت إلى إخباره بأن تطبيقاته خاطئة وأن يستخدم التطبيقات الدقيقة من المراجع. نجح الاستغلال على الفور تقريبًا بعد ذلك.
الإعداد التلقائي لبيئة الهدف! كان هذا لطيفًا لأنني كسول :)
اكتشف كيفية تسريع الانتظار الذي يستغرق 20 دقيقة من خلال إيجاد وتعيين f_count=1 لتسريع التصحيح. يبدو أن هذا ما كان سيفعله أي مطور استغلال عاقل على أي حال.
أنتج الاستغلالات أخيرًا بأقل "جهد" من حيث العمل بالنسبة لي مع التصحيح اليدوي. مع بعض الإشراف المطلوب.
مع ذلك، يبدو الأمر وكأن هذه الثغرة استغرقت وقتًا أطول بكثير مما ينبغي لاستغلالها وكان يمكن القيام بها يدويًا في وقت أقل بكثير.
لا تزال بحاجة إلى القدرة على قراءة الكود، وبعض الفهم لـ xdev للتفكير بنفسك لدفعه في الاتجاه الصحيح.
هل سيتحسن؟ بالطبع..