TDL (Turla Driver Loader)
Loader driver untuk melewati Windows X64 Driver Signature Enforcement
Untuk info lebih lanjut lihat
- Mengalahkan Penegakan Tanda Tangan Driver 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
Persyaratan dan keterbatasan sistem
- x64 Windows 7/8/8.1/10.
- TDL hanya dirancang untuk X64 Windows, Vista tidak terdaftar sebagai didukung karena sudah usang.
- Diperlukan hak istimewa administratif.
- Pengemudi yang dimuat harus dirancang khusus untuk dijalankan sebagai "tanpa pengemudi".
- Tidak ada dukungan SEH untuk pengemudi target.
- Tidak ada pengemudi yang membongkar.
- Hanya impor ntoskrnl yang diselesaikan, yang lainnya terserah Anda.
- Contoh driver dummy disediakan.
Anda menggunakannya dengan risiko sendiri. Beberapa AV malas mungkin menandai pemuat ini sebagai malware.
Perbedaan antara DSefix dan TDL
Sementara DSEFIX dan TDL menggunakan keuntungan dari eksploitasi driver mereka sama sekali berbeda dengan cara penggunaannya.
- DSEFIX memanipulasi variabel kernel yang disebut g_cienabled (vista/7, ntoskrnl.exe) dan/atau g_cioptions (8+. Ci.dll). Keuntungan utama DSEFIX adalah kesederhanaan - Anda mematikan DSE - muat driver Anda (atau ditambal) dan tidak ada yang diperlukan. Kerugian utama DSEFIX adalah bahwa pada versi modern Windows (8+) variabel G_CiOptions adalah subjek perlindungan PatchGuard (KPP), yang berarti DSefix adalah potensi BSOD-generator.
- TDL tidak menambal variabel kernel, yang membuatnya ramah untuk Patchguard. Ini menggunakan shellcode kecil yang memetakan driver Anda ke mode kernel tanpa melibatkan windows loader (dan sebagai hasilnya tanpa memicu bagian DSE apa pun) dan menjalankannya. Ini adalah keuntungan utama dari TDL - bypass non invasif dari DSE. Namun ada banyak kelemahan - yang pertama dan utama -> driver Anda harus dibuat khusus untuk dijalankan sebagai "tanpa pengemudi" yang berarti Anda tidak akan dapat memuat driver apa pun tetapi hanya dirancang khusus. Driver Anda akan ada dalam mode kernel sebagai buffer kode yang dapat dieksekusi, itu tidak akan ditautkan ke psloadedmodulistist, akan ada batasan lain. Namun kode ini akan berfungsi pada mode Kernel dan aplikasi mode pengguna akan dapat berkomunikasi dengannya. Anda dapat memuat beberapa driver, tentu saja jika mereka tidak bertentangan satu sama lain.
Cara kerjanya
Ini menggunakan teknik Eksploitasi Mode Kernel Winnt/Turla VirtualBox untuk menulis kode ke memori kernel dan setelah menjalankan kode ini. TDL menggunakan shellcode bootstrap khusus untuk memetakan driver Anda yang dirancang khusus dan menyebutnya titik masuk (driverEntry), perhatikan bahwa parameter driverEntry akan tidak valid dan tidak boleh digunakan. Contoh driver yang dirancang khusus tersedia sebagai DummyDRV dan DummyDRV2. DriverEntry Anda akan berjalan di IRQL Passive_level hingga Windows 10 RS1. Mulai dari Windows 10 RS2 Kode DriverEntry Anda berjalan di IRQL DISPATCH_LEVEL.
Membangun
TDL dilengkapi dengan kode sumber penuh. Untuk membangun dari sumber, Anda membutuhkan Microsoft Visual Studio 2015 U1 dan versi yang lebih baru. Untuk build driver, Anda memerlukan Microsoft Windows Driver Kit 8.1 dan/atau di atasnya.
Instruksi
- Pilih Platform Toolset Pertama Untuk Proyek Dalam Solusi yang Ingin Anda Bangun (Proyek-> Properti-> Umum):
- V120 untuk Visual Studio 2013;
- V140 untuk Visual Studio 2015;
- V141 untuk Visual Studio 2017.
- Untuk V140 dan di atas set versi platform target (Project-> Properties-> General):
- Jika V140 maka pilih 8.1 (perhatikan bahwa Windows 8.1 SDK harus diinstal);
- Jika V141 maka pilih 10.0.17763.0 (perhatikan bahwa Windows 10.0.17763 SDK harus diinstal).
Hapus opsi linker /nocoffgrpinfo di mana ia tidak didukung /tidak tersedia.
Bantahan
TDL berdasarkan driver Old Oracle VirtualBox yang dibuat pada tahun 2008. Driver ini tidak dirancang untuk kompatibel dengan versi sistem operasi Windows terbaru dan dapat bekerja secara tidak benar. Karena TDL sepenuhnya berdasarkan LPE Versi VirtualBox Version yang tepat ini tidak bijaksana untuk menggunakannya pada versi terbaru Windows. Pertimbangkan repositori ini sebagai didepriten/ditinggalkan. Satu -satunya pembaruan yang mungkin hanya dapat dikaitkan dengan TDL Loader itu sendiri.
Penulis
(c) 2016 - Proyek TDL 2019
Kredit