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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Chrome-App-Bound-Encryption-Decryption — تجاوز تشفير Chromium المرتبط بالتطبيق عبر الحقن الانعكاسي للعمليات القائم على استدعاءات النظام المباشرة. استخراج ملفات تعريف الارتباط وكلمات المرور وطرق الدفع والرموز من Chrome وEdge وBrave وAvast - بدون ملفات، في وضع المستخدم، دون الحاجة إلى صلاحيات المسؤول. | Kitploit
أدوات/GitHubGitHub/xaitax/chrome-app-bound-encryption-decryption
أدوات التشفير/فك التشفيرهجمات كلمات المرورالاستغلالتسريب البياناتجمع المعلوماتما بعد الاستغلالالتشفيرالفريق الأحمر

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
xaitax/chrome-app-bound-encryption-decryption

Chrome-App-Bound-Encryption-Decryption

تجاوز تشفير Chromium المرتبط بالتطبيق عبر الحقن الانعكاسي للعمليات القائم على استدعاءات النظام المباشرة. استخراج ملفات تعريف الارتباط وكلمات المرور وطرق الدفع والرموز من Chrome وEdge وBrave وAvast - بدون ملفات، في وضع المستخدم، دون الحاجة إلى صلاحيات المسؤول.

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

ChromElevator (Chrome App-Bound Encryption Decryption)

🚀 نظرة عامة

Build Status License Platform Languages Ask DeepWiki

أداة استغلال ما بعد الاختراق توضح تجاوزًا كاملاً في الذاكرة لتشفير App-Bound Encryption (ABE) الخاص بـ Chromium. يستخدم هذا المشروع التفريغ الانعكاسي للعمليات القائم على استدعاءات النظام المباشرة لتشغيل عملية متصفح شرعية في حالة معلّقة، مع حقن حمولة بخفية لاختطاف هويتها وسياقها الأمني. تقنية Living-off-the-Land (LOTL) هذه تقوّض نموذج الأمان الخاص بالمتصفح نفسه. النهج غير الملفي يسمح للأداة بالعمل بالكامل من الذاكرة، متجاوزةً خطافات واجهات برمجة التطبيقات في وضع المستخدم لفك تشفير واستخراج بيانات المستخدم الحساسة (ملفات تعريف الارتباط، كلمات المرور، المدفوعات) من متصفحات Chromium الحديثة.

إذا وجدت هذا البحث قيّمًا، سأقدّر كوب قهوة:
ko-fi

🛡️ الركائز التقنية الأساسية

تعود فعالية هذه الأداة إلى مزيج من التقنيات الحديثة المركّزة على التخفي:

  • استدعاءات النظام المباشرة للمراوغة: تتجاوز خطافات وضع المستخدم الخاصة بـ EDR/AV على دوال WinAPI القياسية باستدعاء دوال النواة مباشرة. يقوم المحرك بحل أرقام استدعاءات النظام ديناميكيًا في وقت التشغيل باستخدام تقنية Hell's Gate مع مطابقة الدوال بالاعتماد على التجزئة (لا توجد أسماء استدعاءات نظام بنص صريح داخل الملف الثنائي).

  • تفريغ العمليات القائم على استدعاءات النظام المباشرة: تقنية خفية لإنشاء العمليات وحقنها. فبدلاً من الحقن في عملية عالية الحركة وربما مراقَبة، تنشئ عملية مضيفة جديدة معلّقة. وهذا يقلل بشكل كبير من فرص الاكتشاف، إذ تتم جميع عمليات التلاعب بالذاكرة قبل بدء التنفيذ الطبيعي للعملية.

  • الحمولة غير الملفية في الذاكرة: لا تلمس حمولة DLL القرص على الجهاز المستهدف إطلاقًا. فهي مضمّنة كمصفوفة بايت مشفّرة بتقنية ChaCha20 في وقت الترجمة مع مفاتيح مشتقة في وقت الترجمة، ويتم فك تشفيرها في الذاكرة وتحميلها انعكاسيًا، مما يقلل من بصمتها الجنائية ويتجاوز الماسحات القائمة على الملفات الثابتة.

  • حقن DLL الانعكاسي (RDI): طريقة حقن خفية في العمليات تتجاوز LoadLibrary للحمولة الرئيسية، وبالتالي تتفادى آليات الكشف التي تراقب تحميل الوحدات. يقوم مُحمِّل التمهيد المكتفي بذاته بتعيين أقسام PE، وينفّذ إعادة التوطين (relocations)، ويحل الاستيرادات من الذاكرة.

  • استدعاء COM في سياق الهدف: وهو العنصر الحاسم لهزيمة App-Bound Encryption. من خلال تنفيذ الكود داخل عملية المتصفح الموثوقة، نرث هويتها وسياقها الأمني، مما يسمح لنا بتوجيه استدعاءات تبدو شرعية إلى خادم COM الخاص بـ ABE وتلبية فحوصات التحقق من المسار الأمنية.

⚙️ الميزات

الوظائف الأساسية

  • 🔓 فك تشفير كامل في وضع المستخدم لملفات تعريف الارتباط وكلمات المرور ووسائل الدفع وأرقام IBAN ورموز OAuth من Google.
  • 📁 يكتشف ويعالج جميع ملفات تعريف المستخدمين (Default، Profile 1، إلخ).
  • 📝 يصدّر جميع البيانات المستخرجة إلى ملفات JSON منظمة، مرتبة حسب الملف الشخصي.
  • 🔍 بصمة متصفح شاملة مع معلومات النظام.

التخفي والمراوغة

  • 🛡️ تسليم حمولة بدون ملفات: فك تشفير وحقن حمولة مضمّنة مشفّرة بالكامل في الذاكرة.
  • 🛡️ محرك استدعاءات النظام المباشرة: يتجاوز الدفاعات الشائعة لنقاط النهاية بتجنّب واجهات برمجة التطبيقات المخطوفة على مستوى وضع المستخدم في جميع عمليات المعالجة.
  • 🛡️ حل أرقام استدعاءات النظام بالتجزئة: لا توجد أسماء دوال Nt*/Zw* بنص صريح في الملف الثنائي — يستخدم تجزئات DJB2 في وقت الترجمة.
  • 🛡️ اشتقاق المفاتيح في وقت الترجمة: مفاتيح التشفير مشتقة من بيانات البناء، فريدة لكل بناء.
  • 🛡️ تدمير ترويسات PE: بعد الحقن، تُمسح ترويسات PE ببيانات شبه عشوائية لتفادي ماسحات الذاكرة.
  • 🛡️ محاكاة IPC: أنماط named pipe خاصة بكل متصفح تندمج مع حركة IPC المشروعة للمتصفح.
  • 🤫 تفريغ العملية: ينشئ عملية مضيفة معلّقة وحميدة للحمولة، متجنبًا الحقن في عمليات قد تكون مراقَبة.
  • 👻 حقن DLL انعكاسي: يحمّل الحمولة بخفية دون استدعاءات LoadLibrary مريبة.
  • 🔒 تجاوز قفل الملفات دون اقتحام: يستخدم تكرار المقابض (handle duplication) القائم على استدعاءات النظام للوصول إلى قواعد بيانات SQLite المقفلة دون إنهاء عمليات المتصفح. يتوفر خيار --kill اختياري لإنهاء العملية بالكامل.
  • 💼 لا يتطلب صلاحيات مسؤول: يعمل بالكامل ضمن السياق الأمني للمستخدم.

التوافق وسهولة الاستخدام

  • 🌐 يعمل على Google Chrome وBrave وEdge وAvast Secure Browser.
  • 💻 يدعم بنيوياً معماريتي x64 وARM64.
  • 🚀 تشغيل مستقل: ينشئ تلقائيًا عملية متصفح جديدة لاستضافة الحمولة، دون الحاجة إلى نسخ قيد التشغيل مسبقًا.
  • 📁 دليل إخراج قابل للتخصيص للبيانات المستخرجة.
image

📦 الإصدارات المدعومة والمختبرة

ملاحظة: تستخدم الإصدارات 144+ من Chrome/Brave/Edge واجهة COM الجديدة IElevator2. تستخدم هذه الأداة تلقائيًا IElevator2 عند توفره وتتراجع إلى IElevator للإصدارات الأقدم. يستخدم Avast Secure Browser واجهة IElevatorChrome مخصصة مع جدول vtable موسّع (12 دالة، وDecryptData عند الإزاحة 104).

🔍 مصفوفة دعم الميزات

توضح هذه المصفوفة قدرات الاستخراج لكل متصفح مدعوم.

🔬 سير العمل التقني

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

المرحلة 1: الحاقن (chromelevator.exe)

  1. الفحص المسبق والتهيئة: يبدأ الحاقن بتهيئة محرك استدعاءات النظام المباشرة، محللًا ntdll.dll ديناميكيًا لحل أرقام استدعاءات النظام (SSNs) باستخدام المطابقة القائمة على التجزئة، وتحديد أدوات الانتقال إلى النواة (syscall/ret أو svc/ret). إذا تم تحديد العلامة --kill، يستخدم استدعاءي النظام NtGetNextProcess وNtTerminateProcess لإنهاء جميع النسخ قيد التشغيل من المتصفح المستهدف، محررًا أقفال الملفات على قواعد بيانات SQLite.
  2. تحضير الحمولة: يتم فك تشفير حمولة DLL الأساسية، المضمّنة كمصفوفة بايت مشفّرة بتقنية ChaCha20 في وقت الترجمة مع مفاتيح مشتقة في وقت الترجمة، بالكامل في الذاكرة.
  3. تفريغ العملية: بدلًا من استهداف عملية موجودة، ينشئ الحاقن نسخة جديدة من المتصفح المستهدف في حالة CREATE_SUSPENDED (CreateProcessW). هذه العملية المعلّقة والنظيفة تعمل كمضيف لحمولتنا.
  4. الحقن الانعكاسي عبر استدعاءات النظام: باستخدام محرك استدعاءات النظام المباشرة، ينفذ الحاقن سلسلة من الإجراءات الخفية على العملية المعلّقة:
    • يخصّص ذاكرة باستخدام NtAllocateVirtualMemory (استدعاء نظام مباشر).
    • يكتب حمولة DLL المفككة التشفير في المساحة المخصصة باستخدام NtWriteVirtualMemory.

المرحلة 2: الحمولة المحقونة (في الذاكرة)

  1. التمهيد: يعمل مُحمِّل Bootstrap الانعكاسي كأداة تحميل PE مخصصة في الذاكرة مع تخفٍّ معزّز:
    • يخصص ذاكرة جديدة للحمولة باستخدام استدعاءات نظام مباشرة إلى NtAllocateVirtualMemory (متجاوزًا VirtualAlloc المخطوف).
    • يعيّن أقسام DLL بشكل صحيح وينفّذ عمليات إعادة التوطين الأساسية.
    • يحل جدول عناوين الاستيراد (IAT) عن طريق تحليل PEB وتجزئة أسماء الدوال.
    • يضبط صلاحيات الأقسام باستخدام استدعاءات نظام مباشرة إلى NtProtectVirtualMemory.
    • يدمر ترويسات PE بالكتابة فوق ترويسات DOS/NT ببيانات شبه عشوائية، مزيلًا توقيع MZ من الذاكرة.
    • أخيرًا، يستدعي DllMain الخاص بالحمولة.
  2. الاتصال والإعداد: يُنشئ DllMain خيطًا جديدًا يتصل فورًا بمقبض named pipe الذي مرره الحاقن. يقرأ الإعدادات، بما في ذلك مسار الإخراج، التي أرسلها الحاقن. تُنقل جميع السجلات وتحديثات الحالة لاحقًا عبر هذا الأنبوب.
  3. اختطاف COM في سياق الهدف: بعد أن أصبحت الحمولة تعمل أصليًا داخل عملية المتصفح، تقوم بإنشاء خادم COM الداخلي للمتصفح (IElevator2 لإصدارات Chrome/Brave 144+، وIElevator للإصدارات الأقدم، وIEdgeElevatorFinal لـ Edge، أو IAvastElevator لـ Avast Secure Browser). وبما أن الاستدعاء ينشأ من مسار عملية موثوق، يتم اجتياز جميع فحوصات الأمان الخاصة بالخادم.

🔧 تعليمات البناء

يستخدم هذا المشروع سكربت بناء بسيطًا وقويًا يتولى جميع عمليات الترجمة وتضمين الحمولة تلقائيًا.

  1. استنسخ هذا المستودع.

  2. افتح موجه أوامر المطور لـ VS (أو أي shell يدعم MSVC).

  3. شغّل سكربت البناء make.bat من جذر المشروع.

خيارات البناء:

  • make.bat - بناء كامل (افتراضي)
  • make.bat clean - إزالة جميع مخرجات البناء
  • make.bat build_encryptor_only - بناء المشفر فقط (يُستخدم في CI)
  • make.bat build_target_only - بناء الحمولة والحاقن (يُستخدم في CI)

البناء الآلي باستخدام GitHub Actions

يستخدم هذا المشروع GitHub Actions لبناء ملف الحاقن التنفيذي (chromelevator.exe) تلقائيًا لكل من المعماريتين x64 وARM64.

يمكنك العثور على أحدث الملفات الثنائية المجمّعة مسبقًا في صفحة الإصدارات. يتم تجميع الملفات التنفيذية لكلا المعماريتين معًا في ملف .zip واحد مناسب.

محتويات حزمة الإصدار:

  • chromelevator_x64.exe
  • chromelevator_arm64.exe

🚀 الاستخدام```bash

PS> .\chromelevator.exe --help

_________ .__ . __ _ ___ | | ____ _____ _ /| | _______ _______ / | ___________ / \ /| | _ __ / _ \ / \ | ) | | / __ \ / /_ \ / _ _ __
\ _
| Y \ | ( <
> ) Y Y | | |\ /\ / / __ | | ( <> ) | / _
/
| /| _/|__|| /_______ /|/___ >_/ ( /| __/|__| / / / / / / Direct Syscall-Based Reflective Hollowing x64 & ARM64 | v0.20.0 by @xaitax

Usage: chromelevator.exe [options] <chrome|chrome-beta|edge|brave|avast|all>

Options: -v, --verbose Show detailed output -f, --fingerprint Extract browser fingerprint -k, --kill Kill all browser processes before extraction -o, --output-path Custom output directory

root@kitploit:~
### الخيارات

- `--output-path <path>` أو `-o <path>`
  يحدد الدليل الأساسي لملفات الإخراج.
  القيمة الافتراضية هي `.\output\` نسبةً إلى موقع أداة الحقن.
  سيتم تنظيم البيانات في مجلدات فرعية: `<path>/<BrowserName>/<ProfileName>/`.

- `--verbose` أو `-v`
  تفعيل مخرجات تصحيح أخطاء مفصّلة من أداة الحقن.

- `--fingerprint` أو `-f`
  استخراج بيانات شاملة لبصمة المتصفح بما في ذلك الإصدار والإضافات وإعدادات الأمان ومعلومات النظام.
  تُحفظ النتائج في `fingerprint.json` داخل دليل إخراج المتصفح.

- `--kill` أو `-k`
  **إنهاء جميع عمليات المتصفح قبل الاستخراج.** يستخدم استدعاءات نظام مباشرة (`NtTerminateProcess`) لإنهاء جميع النسخ قيد التشغيل من المتصفح (المتصفحات) المستهدفة قبل محاولة استخراج البيانات. يكون هذا مفيدًا عندما يكون المتصفح قيد التشغيل ويحتفظ بأقفال على ملفات قاعدة البيانات، مما يمنع الأداة من الوصول إلى ملفات تعريف الارتباط أو البيانات المشفرة الأخرى.

- `--help` أو `-h`
  عرض رسالة المساعدة هذه.

### التشغيل العادي```bash
PS> .\chromelevator.exe all

_________ .__                         ___________.__                       __
\_   ___ \|  |_________  ____   _____ \_   _____/|  |   _______  _______ _/  |_  ___________
/    \  \/|  |  \_  __ \/  _ \ /     \ |    __)_ |  | _/ __ \  \/ /\__  \\   __\/  _ \_  __ \
\     \___|   Y  \  | \(  <_> )  Y Y  \|        \|  |_\  ___/\   /  / __ \|  | (  <_> )  | \/
 \______  /___|  /__|   \____/|__|_|  /_______  /|____/\___  >\_/  (____  /__|  \____/|__|
        \/     \/                   \/        \/           \/           \/
 Direct Syscall-Based Reflective Hollowing
 x64 & ARM64 | v0.20.0 by @xaitax

  ┌──── Brave (143.1.85.120) ──────────────────────
  │
  │ Decryption Key
  │ 2522A3C1730EA8EE84BAAD1994DB31E20437D9DCF27628997598BB5B86F73DCD
  │
  ├── Default
  │   Cookies     3312
  │   Passwords   55
  │   Cards       1
  │   IBANs       1
  │
  └── 3312 cookies, 55 passwords, 1 cards, 1 IBANs (1 profile)
      C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Brave

  ┌──── Chrome (143.0.7499.193) ───────────────────
  │
  │ Decryption Key
  │ 3FA14DC988A34C85BDB872159B739634CB7E56F8E34449C1494297B9B629D094
  │
  ├── Default
  │   Cookies     380
  │   Passwords   1
  │
  ├── Profile 1
  │   Cookies     932
  │   Passwords   791
  │   Cards       1
  │   IBANs       1
  │   Tokens      2
  │
  └── 1312 cookies, 792 passwords, 1 cards, 1 IBANs, 2 tokens (2 profiles)
      C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Chrome

  ┌──── Chrome Beta (144.0.7559.59) ───────────────
  │
  │ Decryption Key
  │ C147F0657D7AD5881F16CC0A2994E41A18A7B5F567B8CF81C7F87227ABB4F1B7
  │
  ├── Default
  │   Cookies     224
  │
  └── 224 cookies (1 profile)
      C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Chrome Beta

  ┌──── Edge (144.0.3719.67) ──────────────────────
  │
  │ Decryption Key
  │ B0334FAD7F5805362CB4C44B144A95AB7A68F7346EF99EB3F175F09DB08C8FD9
  │
  ├── Default
  │   Cookies     226
  │   Passwords   2
  │   Cards       1
  │
  ├── Profile 1
  │   Cookies     25
  │
  └── 251 cookies, 2 passwords, 1 cards (2 profiles)
      C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Edge

Verbose```bash

PS> .\chromelevator.exe -v -f chrome

_________ .__ . __ _ ___ | | ____ _____ _ /| | _______ _______ / | ___________ / \ /| | _ __ / _ \ / \ | ) | | / __ \ / /_ \ / _ _ __
\ _
| Y \ | ( <
> ) Y Y | | |\ /\ / / __ | | ( <> ) | / _
/
| /| _/|__|| /_______ /|/___ >_/ ( /| __/|__| / / / / / / Direct Syscall-Based Reflective Hollowing x64 & ARM64 | v0.20.0 by @xaitax

┌──── Chrome (143.0.7499.193) ─────────────────── │ Creating suspended process: C:\Program Files\Google\Chrome\Application\chrome.exe │ [+] Process created (PID: 26560) │ [+] IPC pipe established: \.\pipe\chrome.nacl.49645_5F55 │ Deriving runtime decryption keys... │ [+] Payload decrypted (1073 KB) │ [+] Bootstrap entry point resolved (offset: 0x2ae70) │ Allocating memory in target process via syscall... │ [+] Memory allocated at 0x268e2d90000 (1076 KB) │ [+] Payload + parameters written │ [+] Memory protection set to PAGE_EXECUTE_READ │ Creating remote thread via syscall... │ [+] Thread created (entry: 0x268e2dbae70) │ Awaiting payload connection... │ [+] Payload connected │ Running in Chrome │ │ Decryption Key │ 3FA14DC988A34C85BDB872159B739634CB7E56F8E34449C1494297B9B629D094 │ ├── Default │ Size 14 MB │ Cookies 380 │ Passwords 1 │ ├── Profile 1 │ Size 491 MB │ Cookies 932 │ Passwords 791 │ Cards 1 │ IBANs 1 │ Tokens 2 │ Extracting comprehensive fingerprint... │ Fingerprint saved to fingerprint.json │ └── 1312 cookies, 792 passwords, 1 cards, 1 IBANs, 2 tokens (2 profiles) C:\Users\ah\Documents\GitHub\Chrome-App-Bound-Encryption-Decryption\output\Chrome

root@kitploit:~
## 📂 استخراج البيانات

بمجرد اكتمال فك التشفير، يتم حفظ البيانات في مسار الإخراج المحدد (الافتراضي إلى `.\output\` إذا لم يتم تحديده عبر `--output-path`). يتم تنظيم الملفات على النحو التالي:

**المسار الأساسي:** `YOUR_CHOSEN_PATH` (مثال: `.\output\` أو المسار الذي تقدمه)
**البنية:** <Base Path>/<BrowserName>/<ProfileName>/<data_type>.json

أمثلة على المسارات (افتراضًا لموقع الإخراج الافتراضي):

- 🍪 **ملفات تعريف الارتباط (ملف تعريف Chrome الافتراضي):** .\output\Chrome\Default\cookies.json
- 🔑 **كلمات المرور (ملف تعريف Edge 1):** .\output\Edge\Profile 1\passwords.json
- 💳 **طرق الدفع (ملف تعريف Brave الافتراضي):** .\output\Brave\Default\payments.json
- 🏦 **أرقام IBAN (ملف تعريف Chrome 1):** .\output\Chrome\Profile 1\iban.json

### 🍪 استخراج ملفات تعريف الارتباط

كل ملف من ملفات تعريف الارتباط هو مصفوفة JSON من الكائنات:```json
[
  {
    "host": "accounts.google.com",
    "name": "ACCOUNT_CHOOSER",
    "path": "/",
    "expires": 1766591611,
    "value": "AFx_qI781-…"
  },
  {
    "host": "mail.google.com",
    "name": "OSID",
    "path": "/mail",
    "expires": 1766591611,
    "value": "g.a000uwj5ufIS…"
  },
  …
]

🔑 استخراج كلمات المرور

كل ملف كلمات مرور هو مصفوفة JSON من الكائنات:```json [ { "url": "https://example.com/login", "user": "[email protected]", "pass": "••••••••••" }, … ]

root@kitploit:~
### 💳 استخراج طريقة الدفع

كل ملف دفع عبارة عن مصفوفة JSON من الكائنات:```json
[
  {
    "name": "John Doe",
    "month": 12,
    "year": 2030,
    "number": "••••••••••1234",
    "cvc": "•••"
  },
  …
]

🏦 استخراج IBAN

كل ملف IBAN هو مصفوفة JSON من الكائنات:```json [ { "nickname": "UK Test", "iban": "GB33BUKB20201555555555" } ]

root@kitploit:~
### 🎟️ استخراج التوكن

كل ملف توكن هو مصفوفة JSON من الكائنات التي تحتوي على الخدمة والتوكن المُفكَّك تشفيره ومفتاح الربط (إن وُجد):```json
[
  {
    "service": "AccountId-112823413702122221871",
    "token": "1//03VJGN_vL2FR5CgYIARAAGAMSNwF-L9IrtiyH_tmtOneETFya5GEGiewlEMrLwDMuOl56zRoShNE77DfyOXhofn5Ryo_...",
    "binding_key": ""
  }
]

🔍 بصمة المتصفح

عند استخدام الخيار --fingerprint أو -f، يتم إنشاء تقرير شامل للبيانات الوصفية:```json { "browser": "Chrome", "executable_path": "C:\Program Files\Google\Chrome\Application\chrome.exe", "browser_version": "143.0.7499.170", "user_data_path": "C:\Users\username\AppData\Local\Google\Chrome\User Data", "sync_enabled": false, "enterprise_managed": true, "update_channel": "stable", "hardware_acceleration": false, "metrics_enabled": false, "autofill_enabled": true, "password_manager_enabled": false, "safe_browsing_enabled": true, "do_not_track": false, "third_party_cookies_blocked": false, "translate_enabled": true, "installed_extensions_count": 2, "extension_ids": ["ghbmnnjooekpmoecnnnilnnbdlolhkhi", "nmmhkkegccagdldgiimedpiccmgmieda"], "profile_count": 2, "computer_name": "DESKTOP-ABC123", "windows_user": "username", "os_version": "10.0.26220", "architecture": "ARM64", "last_config_update": 1766578854, "extraction_timestamp": 1766591611, "extraction_complete": true }

root@kitploit:~
توفر هذه البيانات معلومات استخباراتية حول إعدادات المتصفح، ووضعه الأمني، وسياق النظام.

## 📚 التحليل التقني المتعمق والبحوث

للفهم الشامل لتشفير Chrome المرتبط بالتطبيق (App-Bound Encryption)، وتعقيدات تنفيذه، والآليات التفصيلية لنهج هذه الأداة، ومناقشة أوسع لمتجهات الأمان ذات الصلة، يُرجى الرجوع إلى ورقة البحث التفصيلية الخاصة بي:

1.  ➡️ **[تشفير Chrome المرتبط بالتطبيق (ABE) - غوص تقني عميق وملاحظات بحثية](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/docs/RESEARCH.md)**

    تغطي هذه الوثيقة ما يلي:

    - التطور من DPAPI إلى ABE.
    - تفصيل خطوة بخطوة لآلية ABE، بما في ذلك تفاعلات `IElevator`/`IElevator2` مع COM وتغليف المفاتيح.
    - منهجية تفصيلية لاستراتيجية حقن DLL التي تستخدمها هذه الأداة.
    - تحليل هياكل البيانات المشفرة ورؤى من الكود المصدري لـ Chromium.
    - مناقشة متجهات فك التشفير البديلة ودفاعات Chrome المتطورة.

2.  ➡️ **[القضية الغريبة للـ COM المشاكس: فك تشفير Microsoft Edge المرتبط بالتطبيق](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/docs/The_Curious_Case_of_the_Cantankerous_COM_Decrypting_Microsoft_Edge_ABE.md)**

    توضح هذه المقالة التحديات المحددة ورحلة الهندسة العكسية التي خاضتها لتحقيق فك تشفير ABE موثوق لـ Microsoft Edge. وتشمل:

    - سرد للمشكلات الأولية ورموز الخطأ المضللة (`E_INVALIDARG`, `E_NOINTERFACE`).
    - عملية استخدام الاستبطان (introspection) لمكتبة أنواع COM (مع Python `comtypes`) لكشف بنية vtable الفريدة لواجهة `IElevatorEdge` في Edge ووراثتها.
    - كيف قادت هذه الرؤية إلى إنشاء كعوب واجهات (interface stubs) مخصصة بلغة C++ للتفاعل بنجاح مع خدمة ABE الخاصة بـ Edge.
    - نظرة عملية على تصحيح أخطاء مشكلات التوافق المعقدة مع COM.

3.  ➡️ **[المصعد يحصل على ترقية: Chrome 144 وIElevator2 وأفق Mojo](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/docs/The_Elevator_Gets_an_Upgrade_Chrome_144_IElevator2_and_the_Mojo_Horizon.md)**

    تغطي هذه المقالة واجهة COM الجديدة `IElevator2` الخاصة بـ Chrome 144 وما تعنيه لـ ABE:

    - مقارنة تقنية بين واجهة `IElevator` الخاصة بـ Chrome 143 وواجهة `IElevator2` الخاصة بـ Chrome 144.
    - تحليل الطريقتين الجديدتين (`RunIsolatedChrome`, `AcceptInvitation`) وارتباطهما بهجرة Mojo IPC المخطط لها في Chromium.
    - مقارنة تخطيط VTable التي تُظهر الحفاظ على التوافق مع الإصدارات السابقة.
    - التبني الجزئي من Edge 144 لواجهة `IElevator2` وواجهات Copilot الجديدة.
    - تقييم صريح لما تغيّره هجرة Mojo (وما لا تغيّره) في أمان ABE.

4.  ➡️ **[COMrade ABE: دليلك الميداني للجوانب الخفية لـ COM في التشفير المرتبط بالتطبيق](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/docs/COMrade_ABE_Field_Manual.md)**

    يقدّم هذا الدليل الميداني **COMrade ABE**، وهو محلل ديناميكي مبني على Python لواجهات ABE COM، ويستعرض تطبيقاته العملية:

    - يشرح ضرورة التحليل الديناميكي لواجهات COM بسبب اختلافات المتصفحات وتحديثاتها.
    - يفصّل منهجية COMrade ABE: فحص السجل (Registry) لاكتشاف الخدمات، وتحميل وتحليل مكتبات الأنواع (Type Library)، ومطابقة توقيعات أساليب ABE القائمة على الاستدلال (heuristics).
    - يقدّم دليلاً شاملاً لتفسير مخرجات COMrade ABE، بما في ذلك CLSIDs وIIDs (النمط القياسي ونمط C++)، وأهمية تفاصيل المخرجات التفصيلية مثل إزاحات VTable، والواجهات المعرِّفة (defining interfaces)، وسلاسل الوراثة الكاملة.
    - يسلط الضوء على فائدة كعوب C++ المُولّدة تلقائيًا (`--output-cpp-stub`) في التطوير والبحث السريعين.
    - يناقش كيف يساعد COMrade ABE في التكيف مع تغييرات ABE، وتحليل متصفحات Chromium الجديدة، وفهم تخصيصات COM الخاصة بالبائعين.

## 🔗 موارد وأبحاث إضافية

يعتمد هذا المشروع على أعمال وتحليلات مجتمع الأمن الأوسع.

- **التوثيق الرسمي والإعلانات:**

  - [مدونة Google الأمنية: تحسين أمان ملفات تعريف الارتباط الخاصة بـ Chrome على Windows](https://security.googleblog.com/2024/07/improving-security-of-chrome-cookies-on.html)
  - [وثيقة التصميم: خدمة تشفير Chrome المرتبط بالتطبيق](https://drive.google.com/file/d/1xMXmA0UJifXoTHjHWtVir2rb94OsxXAI/view)

- **أبحاث المجتمع والإقرار:**
  - إثبات المفهوم من قبل [snovvcrash](https://gist.github.com/snovvcrash/caded55a318bbefcb6cc9ee30e82f824)

## 🗒️ سجل التغييرات

جميع التغييرات البارزة في هذا المشروع موثقة في ملف [**CHANGELOG**](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/CHANGELOG.md). يتضمن ذلك سجل الإصدارات، والميزات الجديدة، وإصلاحات الأخطاء، والتحسينات الأمنية.

## 📜 الترخيص

هذا المشروع مرخّص بموجب رخصة MIT - راجع ملف [LICENSE](https://github.com/xaitax/chrome-app-bound-encryption-decryption/blob/main/LICENSE) للحصول على التفاصيل.

## 💡 فلسفة المشروع وإخلاء المسؤولية

> [!IMPORTANT]
> هذا مشروع هواة أُنشئ لأغراض تعليمية وبحثية في مجال الأمن. وهو بمثابة تجربة تعلم شخصية وميدان لاستكشاف مفاهيم Windows المتقدمة.
>
> **هذه الأداة ليست مخصصة لتكون أداة سرقة معلومات (infostealer) كاملة الميزات أو أداة مضمونة لتجنب أنظمة EDR.** ورغم أنها تستخدم تقنيات متقدمة، فإن هدفها الأساسي هو عرض آلية ABE وتفكيكها، وليس توفير تمويه تشغيلي للاستخدام الخبيث. يرجى ضمان الامتثال لجميع الإرشادات القانونية والأخلاقية ذات الصلة.
تنزيل الأداة
المتصفحالإصدار المختبر (x64 وARM64)
Google Chrome144.0.7559.133
Google Chrome Beta145.0.7632.18
Brave1.86.148 (144.1.86.148)
Microsoft Edge145.0.3800.36
Avast Secure Browser143.0.33371.147
الخاصيةGoogle ChromeMicrosoft EdgeBraveAvast Secure Browser
ملفات تعريف الارتباط✅ ABE✅ ABE✅ ABE✅ ABE
كلمات المرور✅ ABE✅ ABE✅ ABE✅ ABE
وسائل الدفع✅ ABE✅ ABE✅ ABE✅ ABE
أرقام IBAN✅ ABE❌ N/A✅ ABE✅ ABE
رموز المصادقة✅ Google❌ N/A❌ N/A❌ N/A
  • يغيّر صلاحيات منطقة الذاكرة إلى قابلة للتنفيذ باستخدام NtProtectVirtualMemory (استدعاء نظام مباشر).
  • ينشئ named pipe للاتصال ويكتب اسم الأنبوب في ذاكرة الهدف.
  • التنفيذ والتحكم: يتم إنشاء خيط جديد في العملية المستهدفة باستخدام NtCreateThreadEx. يشير عنوان بداية الخيط مباشرةً إلى دالة التصدير Bootstrap الخاصة بالحمولة، مع عنوان اسم الأنبوب البعيد كوسيطة له. يبقى الخيط الرئيسي الأصلي للمتصفح معلقًا ولا يُستأنف أبدًا. ينتظر الحاقن بعد ذلك اتصال الحمولة بالأنبوب.
  • فك تشفير المفتاح الرئيسي: تستدعي الحمولة دالة DecryptData على واجهة COM، مقدمةً app_bound_encrypted_key التي تقرؤها من ملف Local State. يقوم خادم COM بفك تشفير المفتاح ويعيد المفتاح الرئيسي AES-256 كنص صريح إلى الحمولة.
  • استخراج البيانات: بعد الحصول على مفتاح AES، تعدّ الحمولة جميع ملفات تعريف المستخدمين (Default، Profile 1، إلخ). لكل ملف تعريف، تستعلم عن قواعد بيانات SQLite ذات الصلة (Cookies، Login Data، Web Data)، وتفك تشفير كتل البيانات باستخدام AES-256-GCM، وتنسق الأسرار كـ JSON. تُكتب النتائج مباشرة إلى دليل الإخراج المحدد من قبل الحاقن.
  • الإيقاف: بعد معالجة جميع ملفات التعريف، ترسل الحمولة إشارة اكتمال إلى الحاقن عبر الأنبوب وتستدعي FreeLibraryAndExitThread للتنظيف. الحاقن، عند استلام الإشارة، ينهي عملية المضيف الأصلية باستخدام NtTerminateProcess.