Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
access_updated — Envoltorio de syscalls en modo kernel con búsqueda dinámica de patrones basada en Zydis para Windows 10/11 | Kitploit
Herramientas/GitHubGitHub/gmh5225/access_updated
Escalada de PrivilegiosExplotaciónIngeniería InversaPost-ExplotaciónAnálisis de Binarios
GitHubgmh5225/access_updated

access_updated

Envoltorio de syscalls en modo kernel con búsqueda dinámica de patrones basada en Zydis para Windows 10/11

Ver Repositorio
2140hace 9 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Singular Access

Fork actualizado de btbd/access con búsqueda dinámica de patrones basada en Zydis para compatibilidad con Windows 10/11

Un envoltorio de llamadas al sistema en modo kernel que permite operaciones privilegiadas sobre procesos sin necesidad de manejadores. Utiliza el enganche del puntero xKdEnumerateDebuggingDevices para la comunicación kernel-usuario.

Características

  • ✅ Sin offsets hardcodeados - Todas las funciones/offsets del kernel se descubren en tiempo de ejecución mediante el desensamblador Zydis
  • ✅ Independiente de la versión - Funciona en Windows 10 (1607+) y Windows 11 (hasta 24H2)
  • ✅ Sin SEH - Operaciones seguras sin manejo estructurado de excepciones
  • ✅ Sin manejadores - Realiza operaciones PROCESS_ALL_ACCESS sin crear manejadores reales
  • ✅ Huella mínima - Enganche limpio en la sección .data, sin parches inline
  • ✅ Código abierto - Código fuente completo disponible con fines educativos

Novedades

Este fork moderniza el controlador original con:

  1. Integración de Zydis - El desensamblado dinámico reemplaza los frágiles patrones de bytes
  2. Soporte multiversión - Un único binario funciona desde Windows 10 1607 hasta Windows 11 24H2
  3. Registro limpio - Salida de depuración informativa con el prefijo [singular-access]
  4. Mayor fiabilidad - Coincidencia de patrones a nivel de instrucciones en lugar de bytes brutos

Cómo funciona

Búsqueda dinámica de patrones

El controlador utiliza Zydis para desensamblar funciones del kernel y extraer:

Mecanismo de enganche

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

Inicio rápido

Requisitos previos

  • Visual Studio 2022 con Desarrollo para escritorio con C++
  • Windows Driver Kit (WDK) 10
  • Firma de prueba habilitada o modo de depuración del kernel

Compilación

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

Salida: Driver\x64\Release\Driver.sys

Carga

Opción 1: kdmapper (recomendado para pruebas)

root@kitploit:~
kdmapper.exe Driver.sys

Opción 2: Servicio

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

Salida esperada (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

Llamadas al sistema compatibles

El controlador intercepta y maneja:

Operaciones de proceso

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

Operaciones de memoria

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

Operaciones de hilo

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

Sincronización

  • NtWaitForSingleObject

Compatibilidad de versiones

Probado y confirmado en funcionamiento:

Detalles técnicos

Ejemplos de patrones Zydis

Localización de PsResumeThread:

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

Localización de xKdEnumerateDebuggingDevices (Win11 24H2):

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

Extracción del offset de PreviousMode:

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

Estructura del proyecto

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

Solución de problemas

El controlador no se carga:

  • Habilita la firma de prueba: bcdedit /set testsigning on
  • Revisa DebugView para ver los mensajes de error
  • Verifica que el WDK esté instalado correctamente

Patrón no encontrado:

  • Comprueba el número de compilación de Windows en la salida de DebugView
  • Puede ser necesario añadir un nuevo patrón para tu compilación específica
  • Abre un issue con tu número de compilación y la salida de depuración

Errores del enlazador:

  • Asegúrate de que todos los archivos de Zydis estén incluidos en el proyecto
  • Verifica que ZYDIS_STATIC_BUILD y ZYCORE_STATIC_BUILD estén definidos
  • Comprueba que link_driver.bat esté usando las rutas correctas de lib del WDK

Desarrollo

Añadir nuevas llamadas al sistema

  1. Añade la enumeración de la llamada al sistema a syscall.h
  2. Añade el manejador en core.c usando la macro HANDLE_SYSCALL
  3. Recompila el controlador

Añadir nuevas versiones de Windows

  1. Analiza la nueva compilación en IDA/Ghidra
  2. Encuentra el patrón para el puntero xKdEnumerateDebuggingDevices
  3. Añade el patrón a find_kd_enum_debug_devices_ptr() en main.c
  4. Prueba y verifica

Créditos

  • Autor original: btbd - Controlador de acceso original
  • Zydis: zyantific - Desensamblador x86/x86-64 rápido y ligero
  • Actualizado por: Singular - Integración de Zydis y soporte multiversión

Licencia

Este proyecto mantiene la misma licencia que el repositorio original btbd/access.

Aviso legal

Este software es solo para fines educativos y de investigación. Úsalo de forma responsable y solo en sistemas que poseas o sobre los que tengas permiso explícito para realizar pruebas.

Descargar herramienta
ObjetivoMétodoOffset/Dirección
KTHREAD.PreviousModeDesensamblar ExGetPreviousMode0x232 (todas las versiones)
PsResumeThreadDesensamblar PsRegisterPicoProviderLEA relativo a RIP en +0x40
PsSuspendThreadDesensamblar PsRegisterPicoProviderLEA relativo a RIP en +0x50
xKdEnumerateDebuggingDevicesEscaneo de patrones en la sección .textPatrones específicos de versión
Versión del SOCompilaciónEstado
Windows 10 160714393✅
Windows 10 170916299✅
Windows 10 180917763✅
Windows 10 200419041✅
Windows 11 21H222000✅
Windows 11 22H222621✅
Windows 11 24H226100-26200✅