Inter-Process Communication
Ver en attack.mitre.org →22 syscalls implementan esta técnica
- 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.
- 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.
- NtCreateDirectoryObject
Crea un nuevo objeto directory en el espacio de nombres del object manager de Windows.
- 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.
- NtQueryInformationAtom
Devuelve metadatos sobre un átomo individual o sobre toda la tabla global de átomos — nombre, refcount, pin count, contadores de uso.