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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-39973-PoC — إثبات المفهوم (أداة بناء) لـ CVE-2026-39973 (apktool) | Kitploit
أدوات/GitHubGitHub/frawlaboy/cve-2026-39973-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالأوراق والأبحاثالتعلم والتعليم
GitHubfrawlaboy/cve-2026-39973-poc

CVE-2026-39973-PoC

إثبات المفهوم (أداة بناء) لـ CVE-2026-39973 (apktool)

عرض المستودع
1منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-39973-PoC

هذه أداة صغيرة بلغة C# لبناء ملفات apk لـ CVE-2026-39973.

الاعتمادات

  • OnlyToxi - المساعدة في المسار (سيساعد أكثر لاحقًا) والدعم العاطفي.
  • iBotPeaches/Apktool - التوثيق والتحليل.

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

  • هذا إثبات مفهوم، صُنع لأغراض تعليمية فقط!
  • لم يتم استخدام الذكاء الاصطناعي NOT (باستثناء أسئلة صغيرة حول التسلسل) أثناء كتابة هذا الكود أو هذا التوثيق.
  • معرفتي محدودة. هذا أول PoC لي لثغرة CVE. قد يكون التوثيق خاطئًا أو غير مكتمل.
  • قد يكون الكود صعب القراءة لأنني كنت في عجلة من أمري ومحرومًا من النوم (آسف).

CVE-2026-39973

CVE-2026-39973 هي ثغرة اجتياز مسار داخل مستودع github iBotPeaches/Apktool وتؤثر على الإصدار 3.0.1.

تسمح للمهاجمين بإنشاء موارد خاصة بهم وحقن تسلسل ..\ داخل نوع الإدخال، مما يسمح للمهاجم بكتابة أي ملف إلى ~/.bashrc أو مسار بدء تشغيل Windows.

الانحدار الأمني

تنبع هذه الثغرة من انحدار أمني في الالتزام e10a045 (PR #4041) والذي يزيل BrutIO.detectPossibleDirectoryTraversal() من ResFileDecoder.java

ResFileDecoder.java#L103-L109 قبل:

root@kitploit:~
String outResPath = entry.getTypeName() + entry.getConfig().getQualifiers() + "/" + entry.getName();
if (BrutIO.detectPossibleDirectoryTraversal(outResPath)) {
    LOGGER.warning("Potentially malicious file path: " + outResPath + ", using instead: " + inResPath);
    outResPath = inResPath;
} else if (!ext.isEmpty()) {
    outResPath += "." + ext;
}

ResFileDecoder.java#L103-L104 بعد:

root@kitploit:~
String outResPath = entry.getTypeName() + entry.getConfig().getQualifiers() + "/" + entry.getName()
    + (ext.isEmpty() ? "" : "." + ext);

أزال هذا الالتزام فحصًا اعتُبر "غير مفيد" على مسار الإخراج بالكامل حيث تم التحقق من entry.name مسبقًا (مُنشئ ResEntrySpec).

نسي المؤلف أن اسم نوع الإدخال قد يكون عرضة لاجتياز المسار عن طريق صياغة ملف resources.arsc خبيث خاص بنا.

Resources.arsc

resources.arsc هو ملف يحتوي على بيانات الموارد والمسارات وأسماء الأنواع والمزيد. يخزن كل ما نحتاجه لتعديل اسم النوع أو صياغة ملف resource.arsc لاستغلال Apktool. على الرغم من تكراره، وجدت فقط توثيقًا ضعيفًا لكنه مُرضٍ حول التسلسل.

عند هذه النقطة، يُنصح بشدة بقراءة توثيق apktool.

بدأت بالاعتماد على Apktool مباشرة لأنني سأحتاج إلى بناء ملف resources.arsc لهذا التطبيق حصريًا.

قمت بتنزيل ملف APK عشوائي من الإنترنت وفتحته باستخدام 7zip. ثم استخرجت ملف resources.arsc وبدأت في دراسة هياكل البيانات جنبًا إلى جنب مع كود محلل Apktool. ثم صنعت أداة بناء صغيرة بلغة C# لملف resources.arsc، وكتبت ResTable وResPackage مع ResType واحد يحتوي على تسلسل ..\ ومسار مجلد بدء تشغيل Windows، كما يحتوي على إدخال واحد وهو ملف الحمولة.

تنزيل الأداة