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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
TotalRecall — تستخرج هذه الأداة وتعرض البيانات من ميزة "الاسترجاع" في ويندوز 11، مما يوفر طريقة سهلة للوصول إلى معلومات حول لقطات نشاط جهاز الكمبيوتر الخاص بك. | Kitploit
أدوات/GitHubGitHub/xaitax/totalrecall
تصعيد الامتيازاتالاستطلاعالاستغلالتسريب البياناتجمع المعلوماتما بعد الاستغلالاختبار الاختراقالفريق الأحمر
GitHubxaitax/totalrecall

TotalRecall

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

عرض المستودع
1641210منذ 5 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

TotalRecall Reloaded

Breaking Windows Recall. Again.

image

عندما أعادت Microsoft تصميم Recall باستخدام VBS enclaves وتشفير AES-256-GCM ومصادقة Windows Hello ومضيف Protected Process Light، كانت الرسالة واضحة: البيانات محصورة في خزنة.

الخزنة متينة. لكن شاحنة التوصيل ليست كذلك.

AIXHost.exe، العملية التي تعرض الجدول الزمني لـ Recall، لا تحتوي على PPL أو AppContainer أو تطبيق سلامة الكود. أي عملية تعمل كمستخدم مسجل الدخول يمكنها حقن كود فيها واستدعاء نفس واجهات COM API التي تستخدمها واجهة المستخدم المشروعة. بمجرد أن يوثق المستخدم باستخدام Windows Hello، تتدفق لقطات الشاشة المفكوكة والنص المستخرج من OCR والبيانات الوصفية عبر AIXHost.exe ككائنات COM حية. يجلس TotalRecall Reloaded داخل تلك العملية ويستخرج كل شيء.

لا يتطلب صلاحيات المسؤول. مستخدم عادي. لا استغلال kernel. لا تجاوز تشفير. مجرد استدعاءات COM.


كيف يعمل

الحقن

TotalRecall Reloaded يتكون من ملفين: محقن (totalrecall.exe) و DLL حمولة (totalrecall_payload.dll).

يجد المحقن AIXHost.exe عبر CreateToolhelp32Snapshot، ويخصص ذاكرة في الهدف باستخدام VirtualAllocEx، ويكتب مسار DLL باستخدام WriteProcessMemory، ويطلق مؤشر ترابط عن بعد يشير إلى LoadLibraryW. حقن DLL كلاسيكي. لا شيء معقد، لأن لا شيء معقد مطلوب. AIXHost.exe لا يحتوي على أي حماية ضده.

يعمل هذا من مستخدم عادي. لا رفع صلاحيات، لا SeDebugPrivilege. يسمح DACL الافتراضي لنظام Windows بعمليات المستخدم نفسه بالوصول الكامل لبعضها البعض. تم التحقق: يعمل الرمز المميز بمستوى إلزامي Medium مع BUILTIN\Administrators مضبوطًا على deny-only.

المصادقة

لن يفك تشفير VBS enclave أي شيء بدون Windows Hello. لا يتجاوز الأداة ذلك. بل تجبر المستخدم على القيام بذلك، أو تركب بصمت عندما يفعل المستخدم ذلك، أو تنتظر حتى يفعل المستخدم ذلك.

يقوم --launch بمحاكاة Win+J عبر keybd_event، اختصار لوحة المفاتيح الذي يفتح الجدول الزمني لـ Recall. يرى المستخدم موجه Hello (وجه، بصمة إصبع، أو PIN)، يوثق، ويبدأ الـ enclave في تقديم البيانات المفكوكة. من منظور المستخدم، فتحت Recall بشكل طبيعي فقط. من منظورنا، الحمولة موجودة بالفعل بالداخل، تنتظر.

وضع --stealth هو الوضع الصامت تمامًا. يعمل كالتالي:

  1. يحقن في AIXHost.exe (يعمل دائمًا) ويصحح DiscardDataAccess بحيث يصبح no-op
  2. ينتظر بصمت حتى يفتح المستخدم Recall ويوثق بشكل طبيعي
  3. عندما يغلق المستخدم Recall، يحاول Baker.dll إلغاء منح الوصول للبيانات، لكن التصحيح يمنعه
  4. يموت AIXHost.exe ويعاد تشغيله. تكتشف الأداة إعادة التشغيل وتعيد الحقن في العملية الجديدة
  5. يبقى منح المصادقة قائمًا في aihost.exe (تم منع الإلغاء). يبدأ الاستخراج فورًا
  6. لا Win+J، لا موجه Hello، لا واجهة مرئية. حتى 5 محاولات إعادة حقن.

--wait هو النظير السلبي لـ --launch. بدلاً من محاكاة Win+J، تبقى الأداة خاملة بينما يفتح المستخدم Recall بنفسه — من شريط المهام، اختصار، أو أي مسار آخر. عندما يظهر AIXHost.exe ويكمل المستخدم Hello بشكل طبيعي، يتم حقن الحمولة ويبدأ الاستخراج. مفيد على جهاز يتم مراقبته، أو عندما تحتاج جلسة Recall إلى أن تبدو بالكامل من بدء المستخدم بدون إدخال لوحة مفاتيح اصطناعي.

سلسلة الاستخراج

بمجرد الدخول إلى AIXHost.exe، تقوم الحمولة بتهيئة شقة COM باستخدام CoInitializeEx(COINIT_APARTMENTTHREADED) وإعداد توجيه هوية الوكيل باستخدام CoSetProxyBlanket(EOAC_DYNAMIC_CLOAKING). هذا أمر بالغ الأهمية. بدون الإخفاء الديناميكي، لا يحمل وكيل COM الهوية الموثقة إلى الخادم.

يتبع الاستخراج نفس المسار الذي تستخدمه واجهة المستخدم المشروعة لـ Recall:

  1. تهيئة enclave: يؤدي DataManager.Load() إلى تحميل مفتاح enclave. يقوم DataStoreManager.DecryptDatabase() (الفتحة 37) بإعداد عروض مفكوكة. تتحقق الحمولة من DataManager.DataStatus حتى يعيد 3 (مفكوك).

  2. تعداد الكيانات: يقوم MemoryEntityStatics.GetLightMemoryItemsBefore() (الفتحة 9) بإرجاع متجه من مراجع كيانات خفيفة. كل منها يحمل معرف سياق في الإزاحة +8. على جهاز نموذجي، يعيد هذا مئات الكيانات التي تغطي أيامًا أو أسابيع من النشاط.

  3. استخراج لكل كيان: لكل معرف سياق، تقوم الحمولة بتحميل الكيان الكامل عبر ContextEngine2.TryGetEntityForId() (الفتحة 6)، وتفكيكه عبر IEntityWrapper (الفتحة 6)، و QueryInterface إلى IMemoryEntity. من هناك:

    • البيانات الوصفية (متزامن): العنوان (الفتحة 8)، معرف نموذج التطبيق (الفتحة 9)، اسم التطبيق (الفتحة 10)، مسار العملية (الفتحة 11)، URL (الفتحة 12)، النطاق (الفتحة 13)، URI الملف (الفتحة 15)، الطابع الزمني (الفتحة 7)، حدود النافذة (الفتحة 16). عبر QI إلى IMemoryEntity2/3: قدرة الاستعادة، وقت إقامة التطبيق، وقت إقامة الويب.
    • لقطة الشاشة (غير متزامن): يعيد TryGetBitmapCaptureAsync() (الفتحة 19) SoftwareBitmap. QueryInterface إلى ISoftwareBitmapNative، استدعاء GetData(IID_IWICBitmap) للحصول على WIC bitmap، تشفير كـ PNG عبر IWICBitmapEncoder.
    • OCR + NER + AI (غير متزامن): يعيد ContextEngine2.TryGetMemoryEntityDetailsForIdAsync() (الفتحة 8) تفاصيل الكيان. QI إلى IMemoryEntityDetails من أجل OcrLines (الفتحة 7)، و IMemoryEntityDetails2 من أجل كيانات النص NER (أشخاص، بريد إلكتروني، عناوين)، و IMemoryEntityDetails4 من أجل أوصاف نشاط AI.
  4. جولات إعادة المحاولة: يملأ Baker.dll (مكتبة واجهة Recall) ذاكرة التخزين المؤقت لـ ContextEngine بشكل غير متزامن. بعد المرور الأولي، تضخ الحمولة رسائل Windows لمدة 3 ثوانٍ (حلقة PeekMessage/DispatchMessage) وتعيد المحاولة لأي كيانات لم تكن متاحة. كل جولة تنتج عادةً حوالي 12 كيانًا إضافيًا. حتى 10 جولات إعادة محاولة.

كل استدعاء ملفوف بـ __try/__except لأن خطأ وصول واحد على استدعاء وكيل COM يقتل قناة RPC بشكل دائم إلى aihost.exe. لا يوجد استرداد. سيتعين عليك إعادة تشغيل AIXHost.exe. تلتقط معالجات SEH الأعطال من أنواع المعاملات الخاطئة وتبقي الجلسة حية.

الإمكانيات قبل المصادقة

تعمل عدة عمليات بدون أي مصادقة Hello:

استخراج لقطة الشاشة: يعرض RecallPrivacyIndicatorSettings (CLSID {42C63551-...}) GetRecentCaptureThumbnail(width, height) في الفتحة 13. اسم الطريقة يقول "thumbnail" لكن الخادم لا يفرض حدًا للدقة. تمرير 3840x3840 يعيد أحدث لقطة Recall بدقة كاملة. يتم تحويل نتيجة IRandomAccessStream إلى IStream عبر CreateStreamOverRandomAccessStream (shcore.dll) وتفريغها كـ BMP.

تدمير البيانات: يمسح IDataStoreManager::DeleteEvents() (الفتحة 12) سجل الالتقاط بالكامل. لا معاملات، لا مصادقة. أكد تحليل Ghidra: معالج الحذف في FUN_1802ddd10 يحتوي على صفر استدعاءات لوظيفة بوابة التفويض. لم يتم توصيل فحص المصادقة مطلقًا.

الكشف عن البيانات الوصفية: مسارات التخزين (بما في ذلك GUID UKP الخاص بالمستخدم)، حجم قاعدة البيانات، سياسة الاحتفاظ، حالة الالتقاط، ومعرف سياق أحدث التقاط كلها قابلة للقراءة بدون مصادقة عبر IDataStoreManagerStatics و RecallPrivacyIndicatorSettings.


الاستخدام

image``` totalrecall.exe --launch Open Recall, trigger Hello, extract everything totalrecall.exe --stealth Silent extraction (patches auth revocation, waits) totalrecall.exe --wait Wait for user to manually open Recall totalrecall.exe --preauth Grab latest screenshot + settings (no Hello) totalrecall.exe --search "password" Search OCR text in latest extraction totalrecall.exe --destroy Wipe all Recall data (confirmation required, no Hello)

| الوضع | مطلوب توثيق | ما يفعله |
|------|:---:|-------------|
| `--launch` | مرحبا | محاكاة Win+J، يصادق المستخدم، استخراج كامل |
| `--stealth` | سلبي | يصحح إلغاء التوثيق، ينتظر حتى يصادق المستخدم على Recall، يستخرج بصمت |
| `--wait` | مرحبا | انتظار فتح المستخدم لتطبيق Recall بشكل طبيعي، ثم استخراج |
| `--preauth` | **لا** | أحدث لقطة شاشة + جميع الإعدادات |
| `--search` | لا | بحث نصي OCR غير حساس لحالة الأحرف عبر أحدث استخراج |
| `--destroy` | **لا** | `DeleteEvents()`، لا رجعة فيه، يتطلب كتابة DESTROY للتأكيد |

### مثال الإخراج

**`--stealth` (التشغيل الأول، انتظار المستخدم):**```
[+] Target: AIXHost.exe  PID 8648 (stealth mode)
[*] Patching auth revocation...
[+] Waiting for Recall session...
[+] Recall session detected
[*] Waiting for user to close Recall...
[*] Recall closed, waiting for AIXHost to respawn...
[+] Extracting from AIXHost PID 26208
[+] Payload active
[*] Extracting
[##############################] 384/384 entities
تنزيل الأداة