> Windows Syscalls
ntoskrnl.exeT1562.001T1106

NtFreezeRegistry

Bloquea temporalmente todas las escrituras de registro del sistema, usado por VSS para snapshots consistentes.

Prototipo

NTSTATUS NtFreezeRegistry(
  ULONG TimeOutInSeconds
);

Argumentos

NameTypeDirDescription
TimeOutInSecondsULONGinSegundos máximos durante los que el congelamiento puede permanecer activo antes del auto-descongelado.

IDs de syscalls por versión de Windows

Versión de WindowsID de syscallBuild
Win10 15070xDFwin10-1507
Win10 16070xE2win10-1607
Win10 17030xE5win10-1703
Win10 17090xE6win10-1709
Win10 18030xE7win10-1803
Win10 18090xE8win10-1809
Win10 19030xE9win10-1903
Win10 19090xE9win10-1909
Win10 20040xEEwin10-2004
Win10 20H20xEEwin10-20h2
Win10 21H10xEEwin10-21h1
Win10 21H20xEFwin10-21h2
Win10 22H20xEFwin10-22h2
Win11 21H20xF4win11-21h2
Win11 22H20xF5win11-22h2
Win11 23H20xF5win11-23h2
Win11 24H20xF7win11-24h2
Server 20160xE2winserver-2016
Server 20190xE8winserver-2019
Server 20220xF3winserver-2022
Server 20250xF7winserver-2025

Módulo del kernel

ntoskrnl.exeNtFreezeRegistry

APIs relacionadas

NtThawRegistryZwFreezeRegistryVSS IVssWriter::OnFreezeNtSaveKeyExRegSaveKeyExW

Stub del syscall

4C 8B D1            mov r10, rcx
B8 F7 00 00 00      mov eax, 0xF7      ; Win11 24H2 SSN
F6 04 25 08 03 FE 7F 01   test byte ptr [0x7FFE0308], 1
75 03               jne short +3
0F 05               syscall
C3                  ret
CD 2E               int 2Eh
C3                  ret

Notas no documentadas

`NtFreezeRegistry` aquieta el configuration manager (`CmpRegistryFreeze`): los nuevos escritores quedan en espera y los flushes lazy pendientes se completan, de modo que los hives en disco son coherentes durante la duración del congelamiento. El único argumento es un timeout de seguridad — si el llamador (o lo que invoque) crashea sin llamar a `NtThawRegistry`, el kernel descongela automáticamente tras `TimeOutInSeconds` para mantener el sistema usable. Requiere `SeBackupPrivilege`. El consumidor previsto es el writer del Volume Shadow Copy Service (VSS) para el registro (writer de registro de `%SystemRoot%\System32\Vssapi.dll`), que congela el registro, toma un snapshot del volumen de hives, y descongela.

Uso común por malware

Señal débil in-the-wild — no hay familia de malware commodity públicamente documentada que llame directamente a `NtFreezeRegistry`. Existen escenarios de abuso de grado investigación: (1) denegación de servicio breve contra herramientas de monitoreo que sondean el registro (Sysmon, auto-protección AV), (2) ganar una carrera TOCTTOU contra un EDR que escanea claves Run periódicamente congelando el registro durante la escritura, (3) asegurar que un payload de persistencia en registro se confirma a disco atómicamente antes de la recolección de snapshot. Todos requieren `SeBackupPrivilege`, alta integridad / admin, por lo que es una primitiva post-explotación, no de acceso inicial.

Oportunidades de detección

La invocación directa fuera de VSSVC.exe / SystemWriter y un puñado de productos de respaldo (Veeam, Acronis, Veritas, Commvault) es extremadamente inusual. ETW Microsoft-Windows-Kernel-Registry no registra nativamente freeze/thaw, pero Microsoft-Windows-VolumeSnapshot-Driver y el log de aplicación de VSS (`Microsoft-Windows-VSS/Operational`) registran la orquestación. Sysmon Event 1 (creación de proceso) mostrando un binario inesperado con `SeBackupPrivilege` seguido inmediatamente de un congelamiento de registro es un fuerte indicio. Acompañar con monitoreo de un `NtThawRegistry` ausente en la ventana de timeout.

Ejemplos de syscalls directos

cFreeze, flush, thaw — VSS-style

// Requires SeBackupPrivilege already enabled in the token.
NTSTATUS Snapshot(void) {
    NTSTATUS st = NtFreezeRegistry(60);     // auto-thaw safety: 60s
    if (!NT_SUCCESS(st)) return st;

    // ... take volume snapshot of the hive partition here ...

    return NtThawRegistry();
}

asmx64 direct stub

; NtFreezeRegistry direct syscall (Win11 24H2 SSN 0xF7)
NtFreezeRegistry PROC
    mov  r10, rcx           ; TimeOutInSeconds
    mov  eax, 0F7h
    syscall
    ret
NtFreezeRegistry ENDP

Mapeos MITRE ATT&CK

Last verified: 2026-05-20