Debugger Evasion
Ver en attack.mitre.org →15 syscalls implementan esta técnica
- NtQueryVirtualMemory
Obtiene información sobre las páginas del espacio de direcciones virtuales de un proceso objetivo.
- NtGetContextThread
Recupera el contexto de registros de la CPU (estructura CONTEXT) de un hilo suspendido.
- 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.
- 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.
- NtClose
Cierra un handle de objeto del kernel (archivo, clave, evento, proceso, hilo, sección, etc.).
- 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.
- NtSystemDebugControl
Enruta solicitudes estilo depurador de kernel (R/W de kernel, espacio de control, breakpoints, profiler) seleccionadas por la enum SysDbgCommand.