Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
LSPromise — Android complete exploit chain that enables privilege escalation from a local untrusted app to root/kernel, combination of CVE-2026-49881 and CVE-2026-43284 | Kitploit
أدوات/GitHubGitHub/lsposed/lspromise
Android SecurityPrivilege EscalationExploit FrameworksVulnerability AnalysisExploitationPost-ExploitationPayload Development
GitHublsposed/lspromise

LSPromise

Android complete exploit chain that enables privilege escalation from a local untrusted app to root/kernel, combination of CVE-2026-49881 and CVE-2026-43284

عرض المستودع
4198761منذ 21 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

LSPromise

سلسلة استغلال كاملة تتيح تصعيد الامتيازات من تطبيق محلي غير موثوق إلى صلاحيات الجذر/النواة. لا تتضمن هذه السلسلة تلفيات في الذاكرة أو حالات سباق، لذا لا يحتاج المهاجمون إلى تنفيذ عمليات حقن معقدة للكومة أو تجاوز إجراءات الحماية ضد ثغرات تلف الذاكرة مثل KASLR أو MTE أو CFI، مما يجعل سلسلة الاستغلال هذه تحقق نسبة نجاح 100% على الأجهزة المعرضة للخطر.

تم اختبارها على Pixel 10 الذي يعمل بالإصدار الرسمي الأول من Android 17. لاحظ أنها لا تعمل على Pixel 6a وقد تحدث هذه المشكلة أيضًا على أجهزة أخرى تعمل بأنوية 6.1.xxx-android14 بسبب خطأ آخر في هذه الأنوية.

الاستخدام: ثبّت تطبيق KernelSU، افتح هذا التطبيق، انقر على "Run userspace exploit" ثم "Run kernel exploit and load KernelSU". بعد نجاح الاستغلال، سيتم تفعيل KernelSU ويمكنك استخدامه لمنح صلاحيات الجذر لتطبيقات أخرى. مشكلة معروفة: إذا كنت قد نفّذت استغلال النواة بالفعل وتريد تشغيله مرة أخرى، فستحتاج إلى إعادة تشغيل الجهاز.

تسجيل الشاشة: انقر هنا

تقرير فني

تتكون السلسلة من ثغرتين منفصلتين: الأولى ثغرة 0-day في خدمة الاتصالات Telecom، بينما الثانية ثغرة kernel 1-day تم الكشف عنها قبل 3 أشهر. لكن أجهزة AOSP وPixel (باستثناء تلك التي تعمل بإصدارات QPR التجريبية) تظل معرضة للخطر وقت كتابة هذا التقرير.

الوصول إلى system_server

الثغرة الأولى في السلسلة هي خطأ منطقي بسيط تم إدخاله في Android 17. ينبع من تغيير غريب، والذي يضيف الكود التالي إلى InCallController.java:

        PackageManager packageManager = mContext.getPackageManager();
        Context userContext = mContext.createContextAsUser(userHandle,
                0 /* flags */);
        PackageManager userPackageManager = userContext != null ?
                userContext.getPackageManager() : packageManager;

        List<ResolveInfo> entries;
        entries = userPackageManager.queryIntentServices(
                serviceIntent,
                PackageManager.GET_META_DATA | PackageManager.MATCH_DISABLED_COMPONENTS);
        for (ResolveInfo entry : entries) {
            ServiceInfo serviceInfo = entry.serviceInfo;

            if (serviceInfo != null) {
                boolean isMetaFlag = serviceInfo.metaData != null &&
                        serviceInfo.metaData.getBoolean(
                                "android.telecom.CLASS_EXISTENCE_CHECK", false);
                if (isMetaFlag && !serviceClassExists(serviceInfo, userHandle)) {
                    continue;
                }
            }
        }

يتم تعريف طريقة serviceClassExists() ذات الصلة على النحو التالي:

    /**
     * Verifies that the class for a given ServiceInfo exists within its package.
     * This prevents a system crash if a service is declared in the manifest but its
     * class was not included in the compiled code.
     * @param serviceInfo The ServiceInfo of the service to check.
     * @param userHandle The user under which to check for the service.
     * @return {@code true} if the class exists, {@code false} otherwise.
     */
    private boolean serviceClassExists(ServiceInfo serviceInfo, UserHandle userHandle) {
        Log.i(this, "serviceClassExists check");
        try {
            Context packageContext = mContext.createPackageContextAsUser(
                    serviceInfo.packageName,
                    Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY, userHandle);
            ClassLoader classLoader = packageContext.getClassLoader();
            Class.forName(serviceInfo.name, false, classLoader);
            return true;
        } catch (NameNotFoundException | ClassNotFoundException e) {
            Log.w(this, "Skipping InCallService: class not found for " + serviceInfo.name);
            return false;
        } catch (Exception e) {
            Log.e(this, e, "Error checking for existence of " + serviceInfo.name);
            return false;
        }
    }

هذه هي أكثر ثغرة لا يمكن تصديقها رأيتها على الإطلاق. يستخدم الكود Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY لتحميل كود من تطبيق عشوائي؛ وبينما يبدو أن هناك بعض الإجراءات التي تهدف إلى منع تنفيذ الكود العشوائي، مثل تمرير false إلى Class.forName() لمنع تهيئة الفئة، لا يزال بإمكان التطبيق تعريف AppComponentFactory مخصص يتم استدعاؤه عند استدعاء getClassLoader().

من ناحية أخرى، يوجد الخطأ في InCallController.java، وهو جزء من حزمة com.android.server.telecom وليس com.android.phone. يجدر بالذكر أن الحزمة تُعلن android:sharedUserId="android.uid.system" و android:process="system" في AndroidManifest.xml، لذا فهي تعمل في عملية system_server، وهي واحدة من أكثر عمليات مساحة المستخدم امتيازًا في Android. لذلك، لدينا الآن القدرة على تنفيذ كود Java عشوائي داخل system_server.

من المفاجئ أنه حتى مهندس Google يمكنه ارتكاب مثل هذا الخطأ الكبير في عصر الذكاء الاصطناعي. وجدناه وأبلغناه إلى فريق أمان Android في 23 يوليو 2026. أخبرونا أنه مكرر. قامت Google بتحويل النشرة الأمنية الشهرية إلى إصدار ربع سنوي، مما قد يفسر عدم إصلاح الثغرة بعد 3 أشهر من إصدار Android 17.

تم تخصيص CVE-2026-49881 للثغرة وتم إصلاحها في سبتمبر 2026 عبر إزالة منطق serviceClassExists لمعالجة الثغرة الأمنية.

الوصول إلى حزمة الشبكات

تسمح لنا الثغرة الأولى بتصعيد الامتيازات إلى مستوى النظام system، لكنها لا تزال بعيدة عن الجذر. يتطلب الجذر الكامل على الأقل UID 0 وعدم التقييد بواسطة SELinux.

حان الوقت الآن لتقديم ثغرة kernel 1-day: ثغرات DirtyFrag. لن يتم شرح المبادئ الأساسية هنا بالتفصيل؛ يرجى الرجوع إلى التقرير الفني للمبلّغ الأصلي. هناك نوعان: CVE-2026-43500 يتطلب RxRPC وهو معطل لأنوية Android العامة؛ CVE-2026-43284 يتطلب xfrm-ESP وهو قابل للاستغلال على Android. ومع ذلك، يمنع SELinux التطبيقات غير الموثوقة من استخدام هذه الميزة:

# Privileged netlink socket interfaces.
neverallow { appdomain -network_stack }
    domain:{
        netlink_tcpdiag_socket
        netlink_nflog_socket
        netlink_xfrm_socket
        netlink_audit_socket
        netlink_dnrt_socket
    } *;

النطاقات المسموح بها الوحيدة هي system_server و network_stack و netd. لاستغلال DirtyFrag، يجب على المهاجمين أولاً اختراق إحدى العمليات المميزة المدرجة في القائمة البيضاء.

تنزيل الأداة