Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
access_updated — Wrapper di syscall in modalità kernel con individuazione dinamica di pattern basata su Zydis per Windows 10/11 | Kitploit
Strumenti/GitHubGitHub/gmh5225/access_updated
Escalation di PrivilegiExploitReverse EngineeringPost-ExploitAnalisi di Binari
GitHubgmh5225/access_updated

access_updated

Wrapper di syscall in modalità kernel con individuazione dinamica di pattern basata su Zydis per Windows 10/11

Vedi Repository
218 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Singular Access

Fork aggiornato di btbd/access con ricerca dinamica di pattern basata su Zydis per la compatibilità con Windows 10/11

Un wrapper di syscall in modalità kernel che consente operazioni privilegiate sui processi senza richiedere handle. Utilizza l'hooking del puntatore a xKdEnumerateDebuggingDevices per la comunicazione kernel-usermode.

Caratteristiche

  • ✅ Nessun offset hardcoded - Tutte le funzioni/offset del kernel vengono rilevati a runtime tramite il disassembler Zydis
  • ✅ Indipendente dalla versione - Funziona su Windows 10 (1607+) e Windows 11 (fino a 24H2)
  • ✅ Niente SEH - Operazioni sicure senza gestione strutturata delle eccezioni
  • ✅ Senza handle - Esegui operazioni PROCESS_ALL_ACCESS senza creare handle reali
  • ✅ Impronta minima - Hook pulito nella sezione .data, nessuna patch inline
  • ✅ Open source - Codice sorgente completo disponibile a scopo didattico

Novità

Questo fork modernizza il driver originale:

  1. Integrazione Zydis - Il disassemblaggio dinamico sostituisce i fragili pattern di byte
  2. Supporto multi-versione - Un singolo binario funziona da Windows 10 1607 a Windows 11 24H2
  3. Log puliti - Output di debug informativo con prefisso [singular-access]
  4. Maggiore affidabilità - Corrispondenza di pattern a livello di istruzioni invece di byte grezzi

Come Funziona

Ricerca dinamica dei pattern

Il driver usa Zydis per disassemblare le funzioni del kernel ed estrarre:

Meccanismo di hook

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

Avvio rapido

Prerequisiti

  • Visual Studio 2022 con sviluppo desktop in C++
  • Windows Driver Kit (WDK) 10
  • Test signing abilitato o modalità debug del kernel

Compilazione

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

Output: Driver\x64\Release\Driver.sys

Caricamento

Opzione 1: kdmapper (consigliato per i test)

root@kitploit:~
kdmapper.exe Driver.sys

Opzione 2: Servizio

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

Output atteso (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 supportate

Il driver intercetta e gestisce:

Operazioni sui processi

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

Operazioni sulla memoria

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

Operazioni sui thread

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

Sincronizzazione

  • NtWaitForSingleObject

Compatibilità delle versioni

Testato e confermato funzionante:

Dettagli tecnici

Esempi di pattern Zydis

Trovare PsResumeThread:

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

Trovare xKdEnumerateDebuggingDevices (Win11 24H2):

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

Estrarre l'offset di PreviousMode:

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

Struttura del progetto

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

Risoluzione dei problemi

Il driver non si carica:

  • Abilita il test signing: bcdedit /set testsigning on
  • Controlla i messaggi di errore in DebugView
  • Verifica che il WDK sia installato correttamente

Pattern non trovato:

  • Controlla il numero di build di Windows nell'output di DebugView
  • Potrebbe essere necessario aggiungere un nuovo pattern per la tua build specifica
  • Apri un issue con il numero di build e l'output di debug

Errori del linker:

  • Assicurati che tutti i file Zydis siano inclusi nel progetto
  • Verifica che ZYDIS_STATIC_BUILD e ZYCORE_STATIC_BUILD siano definiti
  • Controlla che link_driver.bat usi i percorsi corretti delle librerie WDK

Sviluppo

Aggiungere nuove syscall

  1. Aggiungi l'enum della syscall in syscall.h
  2. Aggiungi il gestore in core.c usando la macro HANDLE_SYSCALL
  3. Ricompila il driver

Aggiungere nuove versioni di Windows

  1. Analizza la nuova build in IDA/Ghidra
  2. Trova il pattern per il puntatore a xKdEnumerateDebuggingDevices
  3. Aggiungi il pattern a find_kd_enum_debug_devices_ptr() in main.c
  4. Testa e verifica

Crediti

  • Autore originale: btbd - Driver di accesso originale
  • Zydis: zyantific - Disassembler x86/x86-64 veloce e leggero
  • Aggiornato da: Singular - Integrazione di Zydis e supporto multi-versione

Licenza

Questo progetto mantiene la stessa licenza del repository originale btbd/access.

Disclaimer

Questo software è destinato esclusivamente a scopi educativi e di ricerca. Usalo in modo responsabile e solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione a testare.

Scarica lo strumento
ObiettivoMetodoOffset/Indirizzo
KTHREAD.PreviousModeDisassembla ExGetPreviousMode0x232 (tutte le versioni)
PsResumeThreadDisassembla PsRegisterPicoProviderLEA relativo a RIP a +0x40
PsSuspendThreadDisassembla PsRegisterPicoProviderLEA relativo a RIP a +0x50
xKdEnumerateDebuggingDevicesScansione pattern della sezione .textPattern specifici per versione
Versione OSBuildStato
Windows 10 160714393✅
Windows 10 170916299✅
Windows 10 180917763✅
Windows 10 200419041✅
Windows 11 21H222000✅
Windows 11 22H222621✅
Windows 11 24H226100-26200✅