Native API
Ver en attack.mitre.org →224 syscalls implementan esta técnica
- NtAllocateVirtualMemoryEx
Reserva o confirma memoria virtual con parámetros extendidos (nodo NUMA preferido, CFG, requisitos de dirección).
- NtWriteVirtualMemory
Escribe un búfer del invocador en el espacio de direcciones virtuales de un proceso objetivo.
- NtReadVirtualMemory
Lee bytes del espacio de direcciones virtuales de un proceso objetivo hacia un búfer del invocador.
- NtFreeVirtualMemory
Descommitea o libera una región de memoria virtual en un proceso objetivo.
- NtQueryVirtualMemory
Obtiene información sobre las páginas del espacio de direcciones virtuales de un proceso objetivo.
- NtFlushVirtualMemory
Vacía a disco las páginas modificadas de una vista respaldada por fichero, equivalente a FlushViewOfFile.
- NtLockVirtualMemory
Fija una región de memoria virtual en el working set del proceso para que sus páginas no sean paginadas.
- NtUnlockVirtualMemory
Libera un bloqueo de working set previamente tomado por NtLockVirtualMemory.
- NtSetInformationVirtualMemory
Aplica una clase de información a una lista de rangos de memoria virtual: prefetch, prioridad de página u opt-in CFG.
- NtAllocateUserPhysicalPages
Asigna páginas de memoria física para Address Windowing Extensions (AWE).
- NtMapUserPhysicalPages
Mapea páginas físicas asignadas vía AWE en una ventana de direcciones virtuales previamente reservada.
- NtFreeUserPhysicalPages
Libera páginas físicas previamente asignadas vía NtAllocateUserPhysicalPages, devolviéndolas al pool del sistema.
- NtFlushInstructionCache
Invalida la caché de instrucciones para una región de un proceso objetivo de modo que el código recién escrito pueda ejecutarse.
- NtFlushProcessWriteBuffers
Emite una barrera de memoria global en cada CPU que ejecute hilos del proceso actual.
- NtCreateSectionEx
Crea un objeto sección con parámetros extendidos (nodo NUMA, requisitos de dirección, páginas físicas de usuario).
- NtOpenSection
Abre un handle a un objeto sección con nombre existente (memoria compartida o mapping de imagen).
- NtExtendSection
Extiende una sección existente respaldada por pagefile o fichero hasta un tamaño máximo mayor.
- NtQuerySection
Recupera metadatos básicos o específicos de imagen de un section object.
- NtMapViewOfSectionEx
Syscall extendido de mapping de sección (Windows 10 1809+) que acepta restricciones MEM_EXTENDED_PARAMETER.
- NtUnmapViewOfSection
Desmapea una vista de sección previamente mapeada del espacio de direcciones de un proceso.
- NtAreMappedFilesTheSame
Determina si dos vistas mapeadas están respaldadas por el mismo fichero (prueba de identidad de file object).
- NtGetWriteWatch
Recupera el conjunto de páginas escritas en una región MEM_WRITE_WATCH desde el último reinicio.
- NtResetWriteWatch
Borra el estado de seguimiento de escritura de una región MEM_WRITE_WATCH sin recuperar las páginas sucias.
- NtCreatePartition
Crea un objeto partición de memoria que aísla el working-set físico de un grupo de procesos.
- NtOpenPartition
Abre un objeto partición de memoria existente por nombre y devuelve un handle para gestión o asociación de procesos.
- NtManagePartition
Consulta o modifica una partición de memoria existente — añadir memoria, transferir páginas, configurar memory-lists.
- NtCreateThread
Syscall heredado de creación de hilos que requiere un INITIAL_TEB construido manualmente; sustituido por NtCreateThreadEx.
- NtQueueApcThread
Encola una llamada a procedimiento asíncrono (APC) en modo usuario para un hilo objetivo.
- NtQueueApcThreadEx
Encola un APC de usuario a un hilo con objeto reserva opcional o flag special-user-APC para entrega forzada.
- NtTestAlert
Comprueba si el hilo llamante tiene una alerta pendiente y entrega, en su caso, las APC en cola en user-mode.
- NtContinue
Restaura un CONTEXT de CPU en el hilo actual y reanuda la ejecución en CONTEXT.Rip.
- NtAlertThreadByThreadId
Despierta un único hilo (identificado por su TID) parado en NtWaitForAlertByThreadId — la cara kernel de WakeByAddressSingle.
- NtWaitForAlertByThreadId
Aparca el hilo llamante hasta que NtAlertThreadByThreadId lo despierte — la cara kernel de WaitOnAddress.
- NtAllocateReserveObject
Pre-asigna un reserve object de kernel (APC o completion) para que operaciones futuras no fallen bajo presión de memoria.
- NtCreateProcess
Creación de proceso NT heredada desde un objeto section preconstruido — predecesor de NtCreateProcessEx y NtCreateUserProcess.
- NtCreateUserProcess
Crea un nuevo proceso en modo usuario y su hilo inicial a partir de una imagen ejecutable.
- NtCreateProcessEx
Crea un nuevo proceso a partir de un handle de sección sin ejecutar la inicialización ntdll — pieza clave del process hollowing.
- NtTerminateProcess
Termina un proceso objetivo y todos sus hilos con un código de salida dado.
- NtSuspendProcess
Suspende todos los hilos de un proceso objetivo incrementando el contador de suspensión de cada hilo.
- NtResumeProcess
Decrementa el contador de suspensión de cada hilo de un proceso objetivo y reanuda los que llegan a cero.
- NtGetNextProcess
Recorre la lista de procesos del kernel y devuelve un handle al siguiente proceso.
- NtIsProcessInJob
Comprueba si un proceso se ejecuta dentro de un job object específico (o cualquiera).
- NtOpenThread
Abre un handle a un hilo existente identificado por CLIENT_ID con los derechos de acceso solicitados.
- NtSuspendThread
Incrementa el contador de suspensión de un hilo objetivo, deteniendo su ejecución.
- NtResumeThread
Decrementa el contador de suspensión de un hilo, reanudando la ejecución cuando llega a cero.
- NtAlertResumeThread
Reanuda un hilo suspendido y lo alerta a la vez para entregar cualquier APC pendiente.
- NtTerminateThread
Termina el hilo especificado con el código de salida indicado. Un handle NULL termina el hilo actual.
- NtGetContextThread
Recupera el contexto de registros de la CPU (estructura CONTEXT) de un hilo suspendido.
- NtSetContextThread
Establece el contexto de registros de la CPU de un hilo — primitiva del kernel detrás del secuestro de hilo y la redirección de shellcode.
- NtGetNextThread
Devuelve un handle al siguiente hilo dentro de un proceso recorriendo la lista de hilos del kernel.
- NtOpenProcessToken
Abre el token de acceso asociado a un proceso y devuelve un handle hacia él.
- NtAdjustPrivilegesToken
Habilita o deshabilita privilegios en un token de acceso especificado.
- NtQueryInformationToken
Recupera una clase de información especificada sobre un token de acceso.
- NtSetInformationToken
Escribe una propiedad de un token de acceso — nivel de integridad, session id, owner, DACL por defecto, política de auditoría, token enlazado.
- NtFilterToken
Crea una copia restringida (filtrada) de un token de acceso existente desactivando SIDs, eliminando privilegios o agregando SIDs restringidos.
- NtImpersonateAnonymousToken
Asigna el conocido token ANONYMOUS LOGON al hilo especificado.
- NtImpersonateThread
Hace que el hilo servidor impersone el contexto de seguridad del hilo cliente.
- NtCompareTokens
Decide si dos tokens conceden el mismo acceso — mismo usuario, mismos grupos, mismos SIDs restringidos, mismos privilegios.
- NtCreateToken
Forja un token de acceso desde cero con usuario, grupos, privilegios, owner, DACL por defecto y origen elegidos — protegido por SeCreateTokenPrivilege.
- NtCreateLowBoxToken
Deriva un token LowBox (AppContainer) a partir de un token existente — fija el SID de paquete y las capabilities que gobiernan el acceso al broker IPC.
- NtAccessCheck
Realiza un chequeo de acceso de un descriptor de seguridad contra un token de impersonación, devolviendo la máscara de acceso concedida.
- NtAccessCheckByType
Realiza una verificación de acceso de seguridad contra un descriptor de seguridad respetando una jerarquía de objetos tipados (OBJECT_TYPE_LIST).
- NtAccessCheckByTypeResultList
Realiza una comprobación de acceso tipada devolviendo una lista de resultados por tipo de objeto, sin escribir eventos de auditoría.
- NtPrivilegeCheck
Comprueba si los privilegios listados en un PRIVILEGE_SET están habilitados en un token de impersonación.
- NtGetCachedSigningLevel
Lee el resultado de nivel de firma cacheado por Code Integrity, almacenado como atributo extendido NTFS en un archivo.
- NtCompareSigningLevels
Compara dos valores SE_SIGNING_LEVEL usando el orden de policy de Code Integrity e indica si el primero domina al segundo.
- NtAccessCheckAndAuditAlarm
Realiza una comprobación de acceso estándar y escribe una entrada de alarma de auditoría en el log de Seguridad.
- NtAccessCheckByTypeAndAuditAlarm
Realiza una comprobación de acceso tipada y registra una entrada de alarma de auditoría en el log de Seguridad.
- NtAccessCheckByTypeResultListAndAuditAlarm
Comprobación de acceso tipada que devuelve una lista de resultados por tipo y registra entradas de alarma de auditoría en el log de Seguridad.
- NtCloseObjectAuditAlarm
Emite la entrada del log de Seguridad que se empareja con una apertura audit-alarm anterior, marcando el cierre del handle.
- NtQueryInformationProcess
Recupera una clase de información sobre un proceso — el back-end universal de GetProcessInformation y caballo de batalla de comprobaciones anti-debug.
- NtSetInformationProcess
Modifica una clase de estado a nivel de proceso — auto-limpieza anti-debug, registro de rangos CET, instalación de políticas ACG/CIG, callbacks de instrumentación.
- NtQueryInformationThread
Lee una propiedad de un hilo mediante la enumeración THREADINFOCLASS — puntero TEB, flag hide-from-debugger, tiempos, estado de salida.
- NtSetInformationThread
Establece una propiedad de un hilo mediante la enumeración THREADINFOCLASS — célebremente ThreadHideFromDebugger.
- NtQuerySystemInformation
Recupera una clase de información a nivel sistema — lista de procesos, tabla de handles del kernel, lista de drivers cargados, estado de integridad de código, y más.
- NtSetSystemInformation
Setter genérico del kernel seleccionado por SYSTEM_INFORMATION_CLASS — puerta a SystemDebugControl, carga de drivers GDI y más.
- NtRaiseHardError
Genera un 'hard error' que el kernel enruta a CSRSS para mostrar — o, con SeShutdownPrivilege y severidad FATAL, dispara un bugcheck inmediato (BSOD).
- NtQueryInformationByName
Consulta información de archivo por ruta sin un handle abierto, introducida en Windows 10 RS5.
- NtCreateProfile
Crea un objeto de profiler de muestreo en modo kernel que agrupa el contador de programa en un histograma.
- NtQueryPerformanceCounter
Devuelve el valor actual del contador de rendimiento de alta resolución y opcionalmente su frecuencia.
- NtGetCurrentProcessorNumber
Devuelve el índice zero-based del procesador lógico en el que el hilo llamante se está ejecutando actualmente.
- NtTraceEvent
Escribe un evento de user-mode en una sesión ETW a través de un handle de traza registrado.
- NtTraceControl
IOCTL de control multiplexado del subsistema ETW — iniciar, detener, consultar, vaciar sesiones y activar/desactivar providers.
- NtCreateDebugObject
Crea un DebugObject del kernel — el puerto por depurador que recibe eventos de los procesos enganchados.
- NtDebugActiveProcess
Engancha un DebugObject existente a un proceso en ejecución — la cara kernel de DebugActiveProcess.
- NtRemoveProcessDebug
Desengancha un DebugObject de un proceso — la cara kernel de DebugActiveProcessStop.
- NtWaitForDebugEvent
Espera el próximo evento de depuración entregado a un debug object, devolviendo un DBGUI_WAIT_STATE_CHANGE.
- NtDebugContinue
Reanuda un hilo depurado tras un evento de depuración con un NTSTATUS de continuación.
- NtCreateEvent
Crea un objeto de evento de sincronización, con o sin nombre, y devuelve un handle.
- NtOpenEvent
Abre un handle a un objeto de evento nombrado existente.
- NtSetEvent
Establece un objeto de evento al estado señalado, liberando los hilos en espera.
- NtResetEvent
Restablece un objeto evento a no señalado y devuelve su estado señalado anterior.
- NtPulseEvent
Señala un evento, libera los hilos que ya esperan y luego lo restablece a no señalado.
- NtClearEvent
Lleva un objeto evento al estado no señalado sin devolver el estado anterior.
- NtWaitForSingleObject
Espera hasta que un objeto dispatcher se señale o expire el timeout opcional.
- NtWaitForMultipleObjects
Espera hasta MAXIMUM_WAIT_OBJECTS objetos dispatcher con semántica WaitAny o WaitAll.
- NtSignalAndWaitForSingleObject
Señaliza atómicamente un objeto dispatcher y espera sobre otro en una única transición libre de carrera.
- NtCreateKeyedEvent
Crea un objeto keyed event — primitiva de sincronización de kernel ligera que empareja esperas y despiertes por clave de dirección virtual.
- NtWaitForKeyedEvent
Bloquea el hilo llamante en un keyed event hasta que otro hilo libere el mismo par (event, clave).
- NtReleaseKeyedEvent
Despierta exactamente un hilo en espera del mismo par (keyed event, clave), bloqueando si aún no hay waiter presente.
- NtCreateMutant
Crea o abre un objeto mutant (mutex) con o sin nombre y opcionalmente toma la propiedad inicial.
- NtCreateTimer
Crea un objeto timer del kernel que puede armarse después con NtSetTimer.
- NtCancelTimer
Cancela un armado NtSetTimer pendiente e informa si el timer seguía activo al cancelar.
- NtCreateTimer2
Crea un objeto timer moderno de alta resolución que admite manual-reset y no-wake en una sola llamada.
- NtSetTimer2
Arma un objeto Timer2 con un tiempo de vencimiento, periodo opcional y un bloque T2_SET_PARAMETERS con callback y flags.
- NtCancelTimer2
Cancela un objeto Timer2 previamente armado e indica si aún estaba pendiente.
- NtDelayExecution
Suspende el hilo llamante durante un intervalo dado, opcionalmente en estado alertable.
- NtQuerySystemTime
Devuelve la hora del sistema actual como un contador de intervalos de 100 ns desde 1601-01-01 UTC.
- NtCreateNamedPipeFile
Crea el extremo servidor de un canal con nombre en el espacio de nombres \Device\NamedPipe.
- NtCreateMailslotFile
Crea el lado servidor de un mailslot — una primitiva IPC histórica unidireccional tipo datagrama, accesible vía \Device\Mailslot.
- NtAlpcCreatePort
Crea un puerto de conexión ALPC del lado servidor que los clientes pueden alcanzar con NtAlpcConnectPort.
- NtAlpcConnectPort
Establece una conexión cliente ALPC con un puerto servidor con nombre e intercambia un mensaje inicial.
- NtAlpcAcceptConnectPort
Aceptación ALPC del lado servidor — completa una solicitud de conexión cliente pendiente y devuelve un puerto de comunicación por cliente.
- NtAlpcSendWaitReceivePort
Envía un mensaje ALPC en un puerto y opcionalmente espera respuesta o el siguiente mensaje entrante.
- NtAlpcQueryInformation
Consulta metadatos de un puerto ALPC — proceso propietario, estadísticas de mensaje, SID del servidor, atributos del puerto.
- NtAlpcImpersonateClientOfPort
Primitiva principal de impersonación de un servidor ALPC — asume el contexto de seguridad del cliente que envió un mensaje.
- NtAlpcOpenSenderProcess
Ayudante del lado servidor que abre un HANDLE al proceso que envió un mensaje ALPC dado.
- NtAlpcOpenSenderThread
Ayudante del lado servidor que abre un HANDLE al hilo que envió un mensaje ALPC dado.
- NtAlpcDisconnectPort
Cierra limpiamente el lado cliente de una conexión ALPC, señalizando al servidor antes de liberar el handle.
- NtAlpcDeleteSecurityContext
Libera un contexto SECURITY_QOS ALPC previamente creado con NtAlpcCreateSecurityContext.
- NtAlpcRevokeSecurityContext
Invalida un contexto SECURITY_QOS ALPC cacheado sin liberar su slot de handle.
- NtCreatePort
Crea un objeto puerto LPC de servidor con nombre — la primitiva de escucha IPC heredada pre-ALPC.
- NtConnectPort
Conexión del cliente a un puerto servidor LPC heredado, equivalente pre-ALPC de NtAlpcConnectPort.
- NtAcceptConnectPort
Aceptación en el servidor de una solicitud de conexión LPC heredada, con mapeo opcional de vista compartida.
- NtRequestPort
Envía un mensaje LPC fire-and-forget en un puerto conectado — sin esperar respuesta.
- NtRequestWaitReplyPort
Envía una solicitud LPC síncrona y bloquea hasta la respuesta del servidor — la primitiva RPC heredada.
- NtReplyPort
Envía una respuesta en un puerto LPC del lado servidor a una petición recibida, sin esperar.
- NtReplyWaitReceivePort
Primitiva LPC del lado servidor: responde atómicamente la petición previa y bloquea para la siguiente.
- NtCreateJobObject
Crea un job object — el contenedor de kernel usado para aplicar límites, contabilidad y política de terminación a un conjunto de procesos.
- NtAssignProcessToJobObject
Asocia un proceso a un job object para que se le apliquen los límites, contabilidad y política de terminación del job.
- NtSetInformationJobObject
Establece una política o límite en un job object mediante una de las clases de información JOBOBJECTINFOCLASS.
- NtQueryInformationJobObject
Recupera información de contabilidad, límites o restricciones de UI de un job object.
- NtTerminateJobObject
Termina atómicamente cada proceso actualmente asignado a un job object.
- NtCreateIoCompletion
Crea un puerto de finalización de E/S — la cola del kernel que sustenta la entrega de trabajo del threadpool, la notificación de E/S asíncrona y (en PoolParty) los items de trabajo inyectados.
- NtSetIoCompletion
Postea un paquete de finalización a un puerto de finalización de E/S — el lado del kernel de PostQueuedCompletionStatus y el vector de entrega de los items falsificados de PoolParty.
- NtRemoveIoCompletion
Desencola un único paquete de finalización de un puerto de finalización de E/S, bloqueando hasta que haya uno disponible o expire el timeout.
- NtRemoveIoCompletionEx
Retira hasta un número especificado por el llamador de paquetes de completion de un puerto de I/O completion en una sola syscall.
- NtCancelIoFile
Cancela toda solicitud de E/S pendiente emitida por el hilo llamador sobre un handle de archivo.
- NtCancelIoFileEx
Cancela una solicitud de E/S específica pendiente sobre un archivo, sin importar qué hilo la emitió.
- NtCancelSynchronousIoFile
Cancela una llamada de E/S síncrona que está bloqueando actualmente a otro hilo.
- NtCancelWaitCompletionPacket
Cancela un wait-completion packet asociado previamente, eliminando el enlace al objeto dispatcher.
- NtAssociateWaitCompletionPacket
Enlaza un wait-completion packet a un dispatcher object para que su señal postee una entrada en un IOCP.
- NtCreateWorkerFactory
Crea un objeto worker factory del kernel — la primitiva de threadpool que la inyección PoolParty abusa para ejecutar shellcode sin NtCreateThreadEx.
- NtShutdownWorkerFactory
Indica a una worker factory que deje de crear hilos e informa cuántos workers siguen pendientes.
- NtSetInformationWorkerFactory
Establece una clase de configuración en una worker factory — incluyendo, en algunas variantes de PoolParty, la StartRoutine que ejecutarán los hilos de trabajo.
- NtQueryInformationWorkerFactory
Consulta la configuración y el estado de ejecución de una worker factory, incluyendo la StartRoutine actual y los recuentos de workers.
- NtWorkerFactoryWorkerReady
Indica al kernel que un worker de threadpool está listo para recibir trabajo — parte del handshake interno ntdll!TppWorkerThread.
- NtReleaseWorkerFactoryWorker
Solicita al kernel hacer disponible al menos un worker en la factory — usado por el threadpool en modo usuario para despertar el pool al enviar trabajo.
- NtWaitForWorkViaWorkerFactory
Bloquea un worker de threadpool hasta que haya un item disponible en la cola de finalización de la factory — el bucle caliente secuestrado por PoolParty.
- NtCreateTransaction
Crea un nuevo objeto de transacción KTM (Kernel Transaction Manager) para envolver operaciones NTFS de forma atómica.
- NtOpenTransaction
Abre un objeto de transacción KTM existente por nombre o por GUID de unidad de trabajo.
- NtCommitTransaction
Confirma una transacción KTM, persistiendo atómicamente en disco todos los cambios realizados bajo ella.
- NtRollbackTransaction
Revierte una transacción KTM descartando todos los cambios realizados bajo ella.
- NtCreateEnclave
Asigna una nueva enclave (SGX o VBS/VTL1) en el espacio de direcciones de un proceso objetivo.
- NtInitializeEnclave
Finaliza una enclave tras la carga de imagen — verifica firmas y la deja ejecutable.
- NtCallEnclave
Transfiere la ejecución desde el código anfitrión VTL0 a una rutina dentro de una enclave inicializada.
- NtTerminateEnclave
Desmonta una enclave, libera su memoria VTL1 y señala los hilos aún dentro.
- NtLoadEnclaveData
Copia un buffer alineado a página (código o datos) desde la memoria anfitrión VTL0 al rango VTL1 de la enclave antes de la inicialización.
- NtOpenKey
Abre una clave de registro existente — entrada del kernel detrás de RegOpenKeyEx, usada para alcanzar las hives SAM, SECURITY y de persistencia.
- NtDeleteKey
Elimina una clave del registro al cerrar el handle — usado para borrar persistencia y artefactos de auditoría tras la ejecución.
- NtQueryValueKey
Lee un valor de una clave del registro — primitiva de cosecha dirigida de credenciales y configuraciones.
- NtQueryMultipleValueKey
Lee atómicamente varios valores de registro de una sola clave en un único syscall.
- NtRenameKey
Renombra una clave de registro existente en sitio — sin wrapper Win32, sólo accesible vía la API NT.
- NtLoadKey
Monta un archivo de hive de registro bajo una clave objetivo — el syscall detrás de la carga offline de SAM/SYSTEM.
- NtLoadKey2
Carga una colmena de registro en el árbol de configuración mediante un envoltorio de 2 banderas sobre NtLoadKey.
- NtLoadKeyEx
Syscall moderno de carga de colmena — respalda RegLoadKeyW, RegLoadAppKeyW y la virtualización de registro de AppContainer.
- NtRestoreKey
Sobrescribe el contenido de una clave de registro desde un archivo hive — reemplaza subárboles en bloque.
- NtSaveKey
Escribe una clave de registro viva (con subárbol) a un archivo hive — la cara kernel del robo de SAM/SECURITY.
- NtFlushKey
Fuerza la escritura en disco de todos los cambios pendientes de una clave de registro.
- NtCompressKey
Fuerza la desfragmentación / compactación del archivo de respaldo de una colmena de registro cargada.
- NtNotifyChangeKey
Registra una notificación asíncrona para cambios en una clave del registro y (opcionalmente) su subárbol.
- NtNotifyChangeMultipleKeys
Registra una única solicitud de notificación que se dispara cuando cualquiera de varias claves de registro cambia.
- NtFreezeRegistry
Bloquea temporalmente todas las escrituras de registro del sistema, usado por VSS para snapshots consistentes.
- NtThawRegistry
Libera un congelamiento previo del registro para que se reanuden las escrituras; contraparte de NtFreezeRegistry.
- NtClose
Cierra un handle de objeto del kernel (archivo, clave, evento, proceso, hilo, sección, etc.).
- NtCreateFile
Crea o abre un archivo, directorio, dispositivo o canal con nombre — primera llamada a disco de todo dropper.
- NtOpenFile
Abre un handle a un archivo o dispositivo existente — la contraparte ligera sin creación de NtCreateFile.
- NtReadFile
Lee bytes desde un archivo, dispositivo, canal con nombre o sección mapeada hacia un búfer de usuario — primitiva del kernel detrás de ReadFile.
- NtWriteFile
Escribe datos en un archivo, canal o dispositivo abierto — pareja kernel de NtCreateFile para soltar payloads.
- NtDeleteFile
Elimina un archivo por ruta sin abrir handle previo — primitiva anti-forense poco común.
- NtSetInformationFile
Establece metadatos de archivo vía FILE_INFORMATION_CLASS — renombrar, eliminar, asignar, fin de archivo…
- NtQueryInformationFile
Lee metadatos de un archivo abierto — timestamps, tamaño, EA, streams, puntos de reparse y más.
- NtQueryDirectoryFile
Enumera un directorio a nivel IRP — usado por rootkits para ocultar archivos manipulando la lista devuelta.
- NtDeviceIoControlFile
Envía un IOCTL a un driver del kernel — entrada en modo usuario para todo abuso de primitivas BYOVD.
- NtFsControlFile
Envía códigos FSCTL al sistema de archivos — usado para plantar reparse points, acceder a ADS y abusar de junctions.
- NtLockFile
Adquiere un bloqueo de rango de bytes sobre un archivo abierto, opcionalmente exclusivo y opcionalmente asíncrono.
- NtUnlockFile
Libera un bloqueo de rango de bytes previamente adquirido sobre un archivo abierto.
- NtNotifyChangeDirectoryFile
Registra una solicitud de notificación asíncrona para cambios del sistema de archivos en un directorio abierto.
- NtNotifyChangeDirectoryFileEx
Notificación extendida de cambios de directorio que permite elegir la clase FILE_NOTIFY_INFORMATION devuelta en el buffer.
- NtQueryVolumeInformationFile
Obtiene propiedades de filesystem y volumen (etiqueta, tamaño, tipo de dispositivo, atributos) del volumen asociado a un handle de archivo.
- NtSetVolumeInformationFile
Modifica propiedades de volumen escribibles — principalmente la etiqueta — del volumen asociado a un handle de archivo.
- NtSetEaFile
Escribe atributos extendidos NTFS (EA) asociados a un handle de archivo.
- NtQueryEaFile
Lee atributos extendidos NTFS (EA) desde un handle de archivo, con filtro/paginación opcionales.
- NtDuplicateObject
Duplica un handle desde un proceso origen a un proceso destino, ajustando opcionalmente el acceso o cerrando el origen.
- NtQueryObject
Devuelve metadatos sobre un handle de objeto del kernel: información básica, nombre, tipo o tabla de tipos del sistema.
- NtSetInformationObject
Establece atributos a nivel de handle (herencia, protección contra cierre) sobre un handle de objeto del kernel.
- NtCompareObjects
Devuelve STATUS_SUCCESS cuando dos handles refieren al mismo objeto kernel subyacente.
- NtMakePermanentObject
Establece el atributo OBJ_PERMANENT en un objeto kernel con nombre para que sobreviva tras cerrarse el último handle.
- NtMakeTemporaryObject
Limpia el atributo OBJ_PERMANENT para que el objeto kernel se libere al cerrarse el último handle.
- NtCreateDirectoryObject
Crea un nuevo objeto directory en el espacio de nombres del object manager de Windows.
- NtOpenDirectoryObject
Abre un objeto directory existente en el espacio de nombres del object manager de Windows.
- NtQueryDirectoryObject
Enumera las entradas (nombre + tipo) dentro de un directory del object manager.
- NtCreateSymbolicLinkObject
Crea un enlace simbólico del object manager desde un nombre hacia una cadena destino NT arbitraria.
- NtOpenSymbolicLinkObject
Abre un enlace simbólico existente del object manager por nombre, devolviendo un handle para consulta o eliminación posterior.
- NtAddAtom
Añade (o incrementa el refcount) una cadena en la tabla de átomos global del kernel y devuelve su ID de 16 bits.
- NtFindAtom
Busca un átomo global existente por nombre y devuelve su ID de 16 bits sin incrementar el refcount.
- NtDeleteAtom
Decrementa el contador de referencias de un átomo global y lo elimina cuando el contador llega a cero.
- NtQueryInformationAtom
Devuelve metadatos sobre un átomo individual o sobre toda la tabla global de átomos — nombre, refcount, pin count, contadores de uso.
- NtQuerySecurityObject
Recupera un SECURITY_DESCRIPTOR auto-relativo de cualquier objeto del kernel expuesto por un handle.
- NtSetCachedSigningLevel
Escribe un resultado de nivel de firma cacheado por Code Integrity en un atributo extendido NTFS del archivo objetivo.
- NtAddBootEntry
Registra una nueva BOOT_ENTRY en la base de datos de configuración de arranque (BCD) y devuelve el ID asignado.
- NtModifyBootEntry
Reemplaza una BOOT_ENTRY existente en el BCD con un nuevo descriptor, indexado por su ID.
- NtSetBootEntryOrder
Escribe el orden de intentos de arranque del firmware — el arreglo de IDs BOOT_ENTRY que la plataforma intentará en secuencia.
- NtQueryBootOptions
Lee el blob de opciones de arranque BCD del sistema — flags debug, opciones de carga del SO, hypervisor, test signing.
- NtQueryDriverEntryOrder
Lee la lista DriverOrder UEFI de la plataforma — el orden en que cargan las entradas Driver#### UEFI al arranque.
- NtQuerySystemEnvironmentValue
Lee una variable de entorno del sistema BIOS/NV-RAM x86 heredada por nombre (interfaz pre-UEFI).
- NtSetSystemEnvironmentValue
Escribe una variable de entorno del sistema BIOS/NV-RAM x86 heredada (interfaz pre-UEFI).
- NtQuerySystemEnvironmentValueEx
Lee una variable UEFI identificada por un par (nombre, GUID de proveedor) y devuelve sus datos y atributos.
- NtSerializeBoot
Dispara la serialización del búfer de trazas de arranque — finaliza los datos de rendimiento recolectados al inicio.
- NtSystemDebugControl
Enruta solicitudes estilo depurador de kernel (R/W de kernel, espacio de control, breakpoints, profiler) seleccionadas por la enum SysDbgCommand.
- NtSetSystemPowerState
Transiciona el sistema al estado de energía solicitado (suspensión, hibernación, funcionamiento).
- NtShutdownSystem
Disparador de apagado en modo kernel — apaga, reinicia o cierra el sistema en un syscall.
- NtCreatePagingFile
Crea o extiende un archivo de paginación Windows en la ruta NT solicitada; requiere SeCreatePagefilePrivilege.
- NtVdmControl
Punto de entrada de control de NT Virtual DOS Machine — soporte DOS/Windows 16-bit, en desuso en x64.