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 的动态模式查找功能。

查看仓库
218个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Singular Access

基于 btbd/access 的更新分支,使用 Zydis 进行动态模式查找,以兼容 Windows 10/11

一个内核态系统调用封装器,无需句柄即可执行特权进程操作。通过 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:~
User Mode (DLL)
    ↓ syscall with SYSCALL_UNIQUE
Kernel Hook (xKdEnumerateDebuggingDevices pointer)
    ↓ validates & dispatches
Kernel Syscall Handler
    ↓ performs privileged operation
Return to User Mode

快速入门

先决条件

  • Visual Studio 2022(含 C++ 桌面开发)
  • Windows 驱动程序工具包 (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

支持的系统调用

驱动会拦截并处理:

进程操作

  • 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              # Entry point, initialization, hook installation
├── core.c              # Syscall handlers
├── util.c              # Pattern scanning, memory utilities
├── zydis_util.c        # Zydis-based pattern finders
├── zydis_util.h        # Zydis function declarations
├── syscall.h           # Syscall definitions
├── stdafx.h            # Precompiled header
└── Zydis/              # Zydis disassembler library

故障排除

驱动无法加载:

  • 启用测试签名:bcdedit /set testsigning on
  • 在 DebugView 中检查错误消息
  • 确认 WDK 已正确安装

找不到模式:

  • 检查 DebugView 输出中的 Windows 内部版本号
  • 可能需要为你的特定版本添加新模式
  • 请附上你的内部版本号和调试输出提交 issue

链接器错误:

  • 确保项目中包含所有 Zydis 文件
  • 确认已定义 ZYDIS_STATIC_BUILD 和 ZYCORE_STATIC_BUILD
  • 检查 link_driver.bat 是否使用了正确的 WDK 库路径

开发

添加新的系统调用

  1. 在 syscall.h 中添加系统调用枚举
  2. 在 core.c 中使用 HANDLE_SYSCALL 宏添加处理程序
  3. 重新编译驱动

添加新的 Windows 版本

  1. 在 IDA/Ghidra 中分析新版本
  2. 查找 xKdEnumerateDebuggingDevices 指针的模式
  3. 在 main.c 的 find_kd_enum_debug_devices_ptr() 中添加模式
  4. 测试并验证

致谢

  • 原作者: btbd - 原始 access 驱动
  • Zydis: zyantific - 快速且轻量级的 x86/x86-64 反汇编器
  • 更新者: Singular - Zydis 集成和多版本支持

许可证

本项目沿用原始 btbd/access 仓库的许可证。

免责声明

本软件仅用于教育和研究目的。请负责任地使用,并且只能在你自己拥有或得到明确测试许可的系统上使用。

下载工具
目标方法偏移/地址
KTHREAD.PreviousMode反汇编 ExGetPreviousMode0x232(所有版本)
PsResumeThread反汇编 PsRegisterPicoProviderRIP 相对 LEA,位于 +0x40
PsSuspendThread反汇编 PsRegisterPicoProviderRIP 相对 LEA,位于 +0x50
xKdEnumerateDebuggingDevices模式扫描 .text 节特定于版本的模式
操作系统内部版本状态
Windows 10 160714393✅
Windows 10 170916299✅
Windows 10 180917763✅
Windows 10 200419041✅
Windows 11 21H222000✅
Windows 11 22H222621✅
Windows 11 24H226100-26200✅