Debugger Evasion
Auf attack.mitre.org ansehen →15 Syscalls implementieren diese Technik
- NtQueryVirtualMemory
Liefert Informationen über Seiten im virtuellen Adressraum eines Zielprozesses.
- NtGetContextThread
Liest den CPU-Registerkontext (CONTEXT-Struktur) eines suspendierten Threads aus.
- NtQueryInformationProcess
Liest eine Informationsklasse über einen Prozess aus — universelles Back-End von GetProcessInformation und Arbeitspferd vieler Anti-Debug-Checks.
- NtSetInformationProcess
Verändert eine Klasse von Prozesszustand — Anti-Debug-Selbstbereinigung, CET-Range-Registrierung, ACG/CIG-Policy-Installation, Instrumentation-Callbacks.
- NtQueryInformationThread
Liest eine Thread-Eigenschaft über die THREADINFOCLASS-Enumeration — TEB-Pointer, Hide-from-Debugger-Flag, Zeiten, Exit-Status.
- NtSetInformationThread
Setzt eine Thread-Eigenschaft über die THREADINFOCLASS-Enumeration — bekannt durch ThreadHideFromDebugger.
- NtCreateDebugObject
Erzeugt ein Kernel-DebugObject — den Debugger-spezifischen Port für Debug-Events der angehängten Prozesse.
- NtDebugActiveProcess
Hängt ein vorhandenes DebugObject an einen laufenden Prozess an — die Kernel-Seite von DebugActiveProcess.
- NtRemoveProcessDebug
Löst ein DebugObject von einem Prozess — die Kernel-Seite von DebugActiveProcessStop.
- NtWaitForDebugEvent
Wartet auf das nächste Debug-Event eines Debug-Objects und liefert einen DBGUI_WAIT_STATE_CHANGE zurück.
- NtDebugContinue
Setzt einen Debuggee-Thread nach einem Debug-Event mit gegebenem NTSTATUS-Continue-Code fort.
- NtClose
Schließt ein Kernel-Objekt-Handle (Datei, Schlüssel, Event, Prozess, Thread, Section usw.).
- NtQueryObject
Liefert Metadaten zu einem Kernel-Objekt-Handle: Basisinfo, Name, Typ oder systemweite Typtabelle.
- NtSetInformationObject
Setzt Handle-Attribute (Vererbung, Schutz vor Schließung) auf einem Kernel-Objekt-Handle.
- NtSystemDebugControl
Leitet Kerneldebugger-artige Anfragen weiter (Kernel-R/W, Control Space, Breakpoints, Profiler), ausgewählt über die SysDbgCommand-Enum.