TDL(ターラドライバーローダー)
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はX64 Windows用にのみ設計されており、Vistaは時代遅れであるためサポートされていないとリストされていません。
- 管理特権が必要です。
- ロードされたドライバーは、「ドライバーレス」として実行するように特別に設計されている必要があります。
- ターゲットドライバーのSEHサポートはありません。
- ドライバーはアンロードしません。
- ntoskrnlのインポートのみが解決され、他のすべてはあなた次第です。
- 提供されたダミードライバーの例。
あなたはあなた自身の責任でそれを使用します。いくつかの怠zyなAVは、このローダーにマルウェアとしてフラグを立てるかもしれません。
DSEFIXとTDLの違い
DSEFIXとTDLの両方は、ドライバーエクスプロイトの利点を使用していますが、使用方法で完全に異なります。
- dsefixは、g_cienabled(vista/7、ntoskrnl.exe)および/またはg_cioptions(8+。ci.dll)と呼ばれるカーネル変数を操作します。 DSEFIXの主な利点は、シンプルさです - DSEをオフにします - ドライバー(またはパッチ付きのもの)をロードし、他に何も必要ありません。 DSEFIXの主な欠点は、最新バージョンのWindows(8+)G_CIOPTIONS変数がPatchGuard(KPP)保護の対象であることです。これは、DSEFIXが潜在的なBSODジェネレーターであることを意味します。
- TDLはカーネル変数にパッチを適用しないため、PatchGuardに友好的になります。ドライバーをWindowsローダー(およびDSEの部分をトリガーせずに結果として)にマッピングする小さなシェルコードを使用して実行します。これがTDLの主な利点です - DSEの非侵襲バイパス。ただし、多くの欠点があります - 最初とメイン - >ドライバーは「ドライバーレス」として実行するために特別に作成されなければなりません。ドライバーは実行可能なコードバッファーとしてカーネルモードで存在します。PSLoadModuleListにリンクされず、他の制限があります。ただし、このコードはカーネルモードで機能し、ユーザーモードアプリケーションは通信できます。もちろん、複数のドライバーが互いに対立していない場合は、複数のドライバーをロードできます。
それがどのように機能するか
Winnt/Turla VirtualBoxカーネルモードエクスプロイトテクニックを使用して、カーネルメモリにコードを書き込み、このコードを実行した後です。 TDLは、カスタムブートストラップシェルコードを使用して、特別に設計されたドライバーをマップし、エントリポイント(driverEntry)と呼び、ドライバーエントリーパラメーターが無効であり、使用しないことに注意してください。 DummyDrvおよびDummyDrv2として利用可能な特別に設計されたドライバーの例。ドライバーエントリーは、IRQL Passive_LevelでWindows 10 RS1まで実行されます。 Windows 10 RS2から始まるドライバーエントリーコードは、IRQL Dispatch_Levelで実行されます。
建てる
TDLには完全なソースコードが付属しています。ソースから構築するには、Microsoft Visual Studio 2015 U1およびその後のバージョンが必要です。ドライバーのビルドには、Microsoft Windows Driver Kit 8.1以降が必要です。
説明書
- ビルドするソリューションで最初にプラットフォームツールセットを選択します(プロジェクト - >プロパティ - >一般):
- Visual Studio 2013のV120。
- Visual Studio 2015用のV140。
- Visual Studio 2017のV141。
- V140以上の場合は、ターゲットプラットフォームバージョン(Project-> Properties-> General)を設定します。
- V140の場合、8.1を選択します(Windows 8.1 SDKをインストールする必要があることに注意してください)。
- V141の場合、10.0.17763.0を選択します(Windows 10.0.17763 SDKをインストールする必要があることに注意してください)。
リンカーオプション /nocoffgrpinfoを削除してください。
非難
2008年に作成された古いOracle VirtualBoxドライバーに基づくTDL。この正確な仮想ボックスドライバーバージョンLPEに完全に基づいているため、最新バージョンのWindowsで使用することは賢明ではありません。このリポジトリを除去/放棄ウェアと考えてください。唯一の可能な更新は、TDLローダー自体にのみ関連することができます。
著者
(c)2016-2019 TDLプロジェクト
クレジット