Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
access_updated — Windows 10/11向けのZydisベース動的パターン検索を備えたカーネルモードシステムコールラッパー | Kitploit
ツール/GitHubGitHub/gmh5225/access_updated
特権昇格エクスプロイトリバースエンジニアリングポストエクスプロイトバイナリ解析
GitHubgmh5225/access_updated

access_updated

Windows 10/11向けのZydisベース動的パターン検索を備えたカーネルモードシステムコールラッパー

リポジトリを見る
21409ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Singular Access

btbd/access の更新版フォーク — Windows 10/11 互換性のため Zydis ベースの動的パターン検索を採用

ハンドルを必要とせずに特権プロセス操作を可能にするカーネルモード syscall ラッパーです。カーネルとユーザーモード間の通信に xKdEnumerateDebuggingDevices ポインターフックを使用します。

特徴

  • ✅ ハードコードされたオフセットなし — すべてのカーネル関数/オフセットは Zydis ディスアセンブラにより実行時に発見されます
  • ✅ バージョン非依存 — Windows 10 (1607+) および Windows 11 (24H2 まで) で動作
  • ✅ SEH 不使用 — 構造化例外処理なしで安全に動作
  • ✅ ハンドル不要 — 実際のハンドルを作成せずに PROCESS_ALL_ACCESS 操作を実行
  • ✅ 最小限のフットプリント — クリーンな .data セクションフック、インラインパッチなし
  • ✅ オープンソース — 教育目的で完全なソースコードを公開

新機能

このフォークは元のドライバーを次のように近代化しています:

  1. Zydis 統合 — 動的逆アセンブルが脆弱なバイトパターンを置き換えます
  2. マルチバージョン対応 — 単一バイナリで Windows 10 1607 から Windows 11 24H2 まで動作
  3. クリーンなロギング — [singular-access] プレフィックス付きの情報を含むデバッグ出力
  4. 信頼性の向上 — 生バイトではなく命令レベルのパターンマッチングを採用

動作の仕組み

動的パターン検索

このドライバーは Zydis を使用してカーネル関数を逆アセンブルし、以下を抽出します:

フックメカニズム

root@kitploit:~
ユーザーモード (DLL)
    ↓ SYSCALL_UNIQUE による syscall
カーネルフック (xKdEnumerateDebuggingDevices ポインター)
    ↓ 検証してディスパッチ
カーネル syscall ハンドラー
    ↓ 特権操作を実行
ユーザーモードへ戻る

クイックスタート

前提条件

  • C++ デスクトップ開発ワークロードを備えた Visual Studio 2022
  • Windows Driver Kit (WDK) 10
  • テスト署名を有効化、またはカーネルデバッグモード

ビルド

root@kitploit:~
cd Driver
msbuild Driver.vcxproj /p:Configuration=Release /p:Platform=x64
link_driver.bat

出力: Driver\x64\Release\Driver.sys

読み込み

オプション 1: kdmapper (テストに推奨)

root@kitploit:~
kdmapper.exe Driver.sys

オプション 2: サービス

root@kitploit:~
sc create singular_access type= kernel binPath= C:\path\to\Driver.sys
sc start singular_access

期待される出力 (DebugView)

root@kitploit:~
[singular-access] Initializing driver...
[singular-access] Windows build: 26200
[singular-access] ntoskrnl.exe base: FFFFF80000000000
[singular-access] [*] Searching for PsResumeThread in PsRegisterPicoProvider...
[singular-access] [+] Found PsResumeThread at FFFFF803AAE331C0
[singular-access] [*] Searching for PsSuspendThread in PsRegisterPicoProvider...
[singular-access] [+] Found PsSuspendThread at FFFFF803AADFA1A0
[singular-access] [+] Found PreviousMode offset: 0x232
[singular-access] Searching for xKdEnumerateDebuggingDevices pointer...
[singular-access] xKdEnumerateDebuggingDevices pointer: FFFFF803AB200B68
[singular-access] Installing hook...
[singular-access] Driver initialized successfully

対応 syscall

このドライバーは以下をインターセプトして処理します:

プロセス操作

  • NtOpenProcess
  • NtSuspendProcess / NtResumeProcess
  • NtQueryInformationProcess / NtSetInformationProcess
  • NtQuerySystemInformationEx
  • NtFlushInstructionCache

メモリ操作

  • NtAllocateVirtualMemory / NtFreeVirtualMemory
  • NtReadVirtualMemory / NtWriteVirtualMemory
  • NtProtectVirtualMemory
  • NtQueryVirtualMemory
  • NtLockVirtualMemory / NtUnlockVirtualMemory
  • NtFlushVirtualMemory

スレッド操作

  • NtOpenThread
  • NtSuspendThread / NtResumeThread
  • NtGetContextThread / NtSetContextThread
  • NtQueryInformationThread / NtSetInformationThread

同期

  • NtWaitForSingleObject

バージョン互換性

テスト済み、動作確認済み:

技術詳細

Zydis パターン例

PsResumeThread の検出:

root@kitploit:~
lea rcx, PsResumeThread    ; Load function address
mov [rdx+40h], rcx         ; Store in PICO provider table

xKdEnumerateDebuggingDevices の検出 (Win11 24H2):

root@kitploit:~
mov rax, cs:off_140E00B68  ; Pattern: 48 8B 05 ? ? ? ? 74 ? E8
                           ; Resolve RIP-relative pointer

PreviousMode オフセットの抽出:

root@kitploit:~
mov rax, gs:188h           ; Get KTHREAD
movzx eax, byte ptr [rax+232h]  ; Extract PreviousMode
ret

プロジェクト構造

root@kitploit:~
Driver/
├── main.c              # エントリーポイント、初期化、フックインストール
├── core.c              # syscall ハンドラー
├── util.c              # パターンスキャン、メモリユーティリティ
├── zydis_util.c        # Zydis ベースのパターンファインダー
├── zydis_util.h        # Zydis 関数の宣言
├── syscall.h           # syscall 定義
├── stdafx.h            # プリコンパイル済みヘッダー
└── Zydis/              # Zydis ディスアセンブラライブラリ

トラブルシューティング

ドライバーが読み込めない:

  • テスト署名を有効化: bcdedit /set testsigning on
  • DebugView でエラーメッセージを確認
  • WDK が正しくインストールされているか確認

パターンが見つからない:

  • DebugView 出力で Windows ビルド番号を確認
  • 特定のビルド向けに新しいパターンを追加する必要があるかもしれません
  • ビルド番号とデバッグ出力を添えて issue を開いてください

リンカーエラー:

  • すべての Zydis ファイルがプロジェクトに含まれていることを確認
  • ZYDIS_STATIC_BUILD と ZYCORE_STATIC_BUILD が定義されていることを確認
  • link_driver.bat が正しい WDK lib パスを使用しているか確認

開発

新しい syscall の追加

  1. syscall.h に syscall 列挙型を追加
  2. core.c で HANDLE_SYSCALL マクロを使ってハンドラーを追加
  3. ドライバーを再ビルド

新しい Windows バージョンの追加

  1. IDA/Ghidra で新しいビルドを解析
  2. xKdEnumerateDebuggingDevices ポインターのパターンを見つける
  3. main.c の find_kd_enum_debug_devices_ptr() にパターンを追加
  4. テストして検証

クレジット

  • 原作者: btbd — 元のアクセスドライバー
  • Zydis: zyantific — 高速で軽量な x86/x86-64 ディスアセンブラ
  • 更新者: Singular — Zydis 統合とマルチバージョン対応

ライセンス

このプロジェクトは元の btbd/access リポジトリと同じライセンスを維持しています。

免責事項

このソフトウェアは教育および研究目的のみで使用してください。責任を持って、所有しているシステムまたは明示的なテスト許可があるシステムでのみ使用してください。

ツールをダウンロード
ターゲット方法オフセット/アドレス
KTHREAD.PreviousModeExGetPreviousMode を逆アセンブル0x232 (全バージョン)
PsResumeThreadPsRegisterPicoProvider を逆アセンブルRIP 相対 LEA at +0x40
PsSuspendThreadPsRegisterPicoProvider を逆アセンブルRIP 相対 LEA at +0x50
xKdEnumerateDebuggingDevices.text セクションのパターンスキャンバージョン固有のパターン
OS バージョンビルド状態
Windows 10 160714393✅
Windows 10 170916299✅
Windows 10 180917763✅
Windows 10 200419041✅
Windows 11 21H222000✅
Windows 11 22H222621✅
Windows 11 24H226100-26200✅