TDL (محمل سائق Turla)
تحميل برنامج التشغيل لتجاوز تطبيق توقيع برنامج التشغيل Windows X64
لمزيد من المعلومات انظر
- هزيمة X64 سائق توقيع تطبيق http://www.kernelmode.info/forum/viewtopic.php؟f=11&t=3322
- Winnt/Turla http://www.kernelmode.info/forum/viewtopic.php؟f=16&t=3193
متطلبات النظام والقيود
- X64 Windows 7/8/8.1/10.
- تم تصميم TDL فقط لنظام التشغيل Windows X64 ، و Vista غير مدرج على أنه مدعوم لأنه قديم.
- الامتياز الإداري مطلوب.
- يجب أن تكون برامج التشغيل المحملة مصممة خصيصًا لتشغيل "بدون سائق".
- لا دعم SEH للسائقين المستهدفين.
- لا يوجد سائق تفريغ.
- فقط ntoskrnl استيراد حل ، كل شيء آخر متروك لك.
- أمثلة سائق وهمية المقدمة.
يمكنك استخدامه على مسؤوليتك الخاصة. قد يعلق بعض AV كسول هذا المحمل كبرامج ضارة.
الاختلافات بين DSEFIX و TDL
بينما يستخدم كل من DSEFIX و TDL ميزة استغلال برنامج التشغيل ، إلا أنهما مختلفان تمامًا عن استخدامه.
- DSEFIX معالجة متغير kernel يسمى g_cienabled (vista/7 ، ntoskrnl.exe) و/أو g_cioptions (8+. ci.dll). الميزة الرئيسية لـ DSEFIX هي أنها البساطة - يمكنك إيقاف تشغيل DSE - قم بتحميل برنامج التشغيل الخاص بك (أو تصحيحه) ولا يوجد شيء آخر مطلوب. العيب الرئيسي لـ DSEFIX هو أنه في الإصدار الحديث من متغير Windows (8+) G_CIOPTIONS هو موضوع حماية PATCHGUARD (KPP) ، مما يعني أن DSEFIX هو مولد BSOD محتمل.
- TDL لا تصحيح أي متغيرات kernel ، مما يجعلها صديقة للحارس. يستخدم رمز shellcode الصغير الذي يقوم بتعيين برنامج التشغيل الخاص بك إلى وضع kernel دون إشراك Windows Loader (ونتيجة لذلك دون تشغيل أي أجزاء من DSE) وتنفيذها. هذه ميزة رئيسية لـ TDL - الالتفافية غير الغازية لـ DSE. ومع ذلك ، هناك العديد من العيوب - الأول والرئيس الرئيسي -> يجب إنشاء سائقك خصيصًا لتشغيله على أنه "بدون سائق" مما يعني أنك لن تتمكن من تحميل أي برنامج تشغيل ولكن تم تصميمه خصيصًا فقط. سيكون برنامج التشغيل الخاص بك موجودًا في وضع kernel كمخزن مؤقت للرمز القابل للتنفيذ ، ولن يكون مرتبطًا بـ psloadedModulelist ، ستكون هناك قيود أخرى. ومع ذلك ، سيعمل هذا الرمز في وضع kernel وسيتمكن تطبيق وضع المستخدم من التواصل معه. يمكنك تحميل برامج تشغيل متعددة ، بالطبع إذا لم تكن تتعارض مع بعضها البعض.
كيف تعمل
يستخدم تقنية استغلال وضع Winnt/Turla Virtualbox Kernel لكتابة التعليمات البرمجية إلى ذاكرة kernel وبعد تنفيذ هذا الرمز. يستخدم TDL SHELDCODE المخصص Bootstrap لخريطة برنامج التشغيل المصمم خصيصًا واتصل به نقطة إدخال (برنامج التشغيل) ، لاحظ أن معلمات برنامج التشغيل ستكون غير صالحة ويجب عدم استخدامها. أمثلة على برامج التشغيل المصممة خصيصًا المتوفرة مثل DummyDrv و DummyDrv2. سيتم تشغيل برنامج التشغيل الخاص بك في IRQL Cassive_level حتى Windows 10 RS1. بدءًا من نظام التشغيل Windows 10 RS2 يعمل رمز برنامج التشغيل الخاص بك على IRQL Dispatch_level.
يبني
TDL يأتي مع رمز المصدر الكامل. من أجل البناء من المصدر ، تحتاج إلى Microsoft Visual Studio 2015 U1 والإصدارات الأحدث. بالنسبة لإنشاء برنامج التشغيل ، تحتاج إلى Microsoft Windows Driver Kit 8.1 و/أو أعلى.
تعليمات
- حدد مجموعة أدوات النظام الأساسي أولاً للمشروع في الحل الذي تريد إنشاءه (Project-> Properties-> General):
- V120 لـ Visual Studio 2013 ؛
- V140 لـ Visual Studio 2015 ؛
- V141 لاستوديو Visual 2017.
- ل V140 وما فوق تعيين إصدار النظام الأساسي الهدف (Project-> Properties-> عام):
- إذا كان V140 ثم حدد 8.1 (لاحظ أنه يجب تثبيت Windows 8.1 SDK) ؛
- إذا كان V141 ، فحدد 10.0.17763.0 (لاحظ أنه يجب تثبيت Windows 10.0.17763 SDK).
قم بإزالة خيار الرابط /nocoffgrpinfo حيث أنه غير متوفر /غير متوفر.
إهمال
TDL استنادًا إلى برنامج تشغيل Oracle VirtualBox القديم الذي تم إنشاؤه في عام 2008. لم يكن برنامج التشغيل هذا متوافقًا ليكون متوافقًا مع أحدث إصدارات نظام تشغيل Windows وقد يعمل بشكل غير صحيح. نظرًا لأن TDL استنادًا تمامًا إلى إصدار برنامج تشغيل VirtualBox الدقيق LPE ، فليس من الحكمة استخدامه على أحدث إصدار من Windows. النظر في هذا المستودع باعتباره مخفضا/التخلي عن البرامج. يمكن أن تكون التحديثات الوحيدة الممكنة مرتبطة فقط بـ TDL Loader نفسه.
المؤلفون
(ج) 2016 - 2019 مشروع TDL
الاعتمادات