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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-0047-poc — CVE-2026-0047: عدم وجود فحص صلاحيات في ActivityManagerService.dumpBitmapsProto() — سرقة الصور النقطية لواجهة المستخدم من كل تطبيق قيد التشغيل بدون أي صلاحيات (Android 16 QPR2 Beta) | Kitploit
أدوات/GitHubGitHub/mobilehackinglab/cve-2026-0047-poc
أمان أندرويدتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالجمع المعلوماتأمن الجوالالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHubmobilehackinglab/cve-2026-0047-poc

CVE-2026-0047-poc

CVE-2026-0047: عدم وجود فحص صلاحيات في ActivityManagerService.dumpBitmapsProto() — سرقة الصور النقطية لواجهة المستخدم من كل تطبيق قيد التشغيل بدون أي صلاحيات (Android 16 QPR2 Beta)

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

CVE-2026-0047: Missing Permission Check in ActivityManagerService

Heap of bitmaps stolen from every running app — zero permissions, zero user interaction.

A missing enforceCallingOrSelfPermission(DUMP) check in ActivityManagerService.dumpBitmapsProto() allows any installed app to exfiltrate UI bitmaps from all running processes on Android 16 QPR2 Beta (Baklava).

ملاحظة: نحن لم نكتشف هذه الثغرة الأمنية. كل الفضل في الاكتشاف والإبلاغ المسؤول يعود إلى الباحثين الأصليين. يحتوي هذا المستودع على تحليلنا المستقل للتصحيح، وإعادة الإنتاج، وكتابة تعليمية لمساعدة مجتمع الأمن على فهم فئة هذا الخلل وتقنيات الاستغلال المعنية.

CVECVE-2026-0047
الشدةCritical — CVSS 8.4
المكوّنActivityManagerService.dumpBitmapsProto()
السبب الجذريMissing permission check (CWE-280)
الأثرAny zero-permission app steals UI bitmaps from all running apps
المتأثرAndroid 16 QPR2 Beta 1–3 (Baklava), patch level < 2026-03-01
تم التصحيحMarch 2026 Android Security Bulletin

محتويات المستودع

root@kitploit:~
├── app/                    # PoC exploit app (audit tool UI)
├── attacker/               # "Flashlight Pro" — disguised attacker app
├── apk/                    # Pre-built APKs (ready to install)
│   ├── cve-2026-0047-poc.apk
│   └── flashlight-pro-attacker.apk
├── exploit.sh              # Single-shot exploit script
├── gradle/                 # Gradle wrapper
└── README.md

إعداد بيئة الاختبار

تحتاج إلى محاكي Android 16 QPR2 Beta (Baklava) بمستوى تصحيح أمني قبل 2026-03-01:

root@kitploit:~
# Download the vulnerable system image
sdkmanager "system-images;android-Baklava;google_apis;arm64-v8a"

# Create an AVD
avdmanager create avd -n baklava -k "system-images;android-Baklava;google_apis;arm64-v8a"

# Boot the emulator
emulator -avd baklava &

# Verify the patch level is pre-fix
adb shell getprop ro.build.version.security_patch
# Anything before 2026-03-01 is vulnerable

بدء سريع

الخيار 1: سكربت التنفيذ الأحادي (موصى به)

root@kitploit:~
# Full run: set up emulator, build, exploit, extract stolen bitmaps
./exploit.sh --setup-emulator

# Already have a Baklava emulator running?
./exploit.sh

# Skip build, just run exploit
./exploit.sh --skip-build

الخيار 2: APK مُجمّع مسبقًا

root@kitploit:~
# Install the PoC app
adb install apk/cve-2026-0047-poc.apk

# Open some apps (Settings, email, etc.) to have visible UI
adb shell am start -n com.android.settings/.Settings

# Launch the PoC
adb shell am start -n com.poc.cve20260047/.MainActivity

# Tap "Exploit dumpBitmapsProto()" button

الخيار 3: محاكاة المهاجم ("Flashlight Pro")

root@kitploit:~
# Install the disguised attacker app — declares ZERO permissions
adb install apk/flashlight-pro-attacker.apk

# Launch it — exfiltration happens silently on startup
adb shell am start -n com.poc.cve20260047.attacker/.MainActivity

كيف يعمل

  1. فحص Binder خام — رمز المعاملة #117 على خدمة activity يُرسم إلى dumpBitmapsProto(). إرساله بدون وسائط يسبّب NullPointerException داخل AMS (وليس SecurityException)، مما يثبت أن نص الدالة يُنفَّذ دون أي فحص إذن.

  2. استغلال Binder خام — نستخدم IBinder.transact() لإرسال Parcel مُصنّع يدويًا مباشرة إلى AMS. هذا يتجاوز قيود Android الخاصة بالواجهات المخفية تمامًا — دون الحاجة إلى إعداد hidden_api_policy. يحتوي الـ Parcel على:

    • رمز الواجهة (android.app.IActivityManager)
    • علامة عدم الفراغ + ParcelFileDescriptor (طرف الكتابة في الأنبوب)
    • مصفوفة سلاسل فارغة (كل العمليات)
    • userId = -2 (USER_CURRENT)
    • dumpAll = true

النتيجة

على محاكي Baklava (BP41.250725.007, patch 2025-08-05) مع فتح Settings وClock وFiles:

  • 679,091 بايت من بيانات protobuf
  • 63 صورة PNG صالحة مسروقة من كل التطبيقات قيد التشغيل
  • صفر أذونات معلنة من تطبيق الـ PoC

كيف تم إصلاحه

أضافت Google enforceCallingOrSelfPermission(DUMP) كسطر أول في dumpBitmapsProto()، بحيث يحصل المتصلون غير المميزين الآن على SecurityException قبل الوصول إلى أي بيانات.

المراجع

  • Android Security Bulletin — March 2026
  • CVE-2026-0047 — NVD
  • CWE-280: Improper Handling of Insufficient Permissions
  • Blog post: Full analysis and exploitation walkthrough

الاعتمادات

البحث وتطبيق الـ PoC بواسطة Mobile Hacking Lab. أعدنا إنتاج هذه الثغرة بشكل مستقل لأغراض تعليمية.

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

هذا المفهوم البرهاني مُقدَّم لأغراض تعليمية وبحوث أمنية مصرّح بها فقط. استخدمه فقط على الأجهزة والبيئات التي تملكها أو لديك إذن صريح لاختبارها. المؤلفون غير مسؤولين عن أي إساءة استخدام.

تنزيل الأداة
  • format = "png"
  • استخراج الصور النقطية — يكتب AMS بيانات protobuf تحتوي على صور PNG نقطية إلى الأنبوب. نبحث عن توقيع PNG السحري (89 50 4E 47) ونهايات IEND لاستخراج الصور الفردية.