Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SrHollow — Extrae secretos LSA y claves DPAPI de los hives del registro de Windows mediante copias de sombra VSS existentes o recién creadas, con un parser regf en línea y descifrado AES-256. | Kitploit
Herramientas/GitHubGitHub/ivancabrera02/srhollow
Herramientas DefensivasEscalada de PrivilegiosExfiltración de DatosPost-ExplotaciónForensia DigitalCriptografíaPruebas de PenetraciónRed Teaming
GitHubivancabrera02/srhollow

SrHollow

Extrae secretos LSA y claves DPAPI de los hives del registro de Windows mediante copias de sombra VSS existentes o recién creadas, con un parser regf en línea y descifrado AES-256.

5867hace 12 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
Compartir

SrHollow

Extracción de secretos LSA, reutilización de una copia de sombra VSS preexistente + parser regf en línea + descifrado AES-256 de LSA mediante bcrypt.dll.

Cadena en 6 pasos

  1. Enumerar \GLOBAL?? mediante NtOpenDirectoryObject + NtQueryDirectoryObject. Elegir el HarddiskVolumeShadowCopyN con el número más alto.
  2. Si no existe ninguno, recurrir a SRSetRestorePointW(BEGIN_SYSTEM_CHANGE, DEVICE_DRIVER_INSTALL) desde SrClient.dll.
  3. Habilitar SeBackupPrivilege en el token actual (AdjustTokenPrivileges).
  4. CreateFileW("\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\Windows\System32\config\{SECURITY,SYSTEM}", FILE_FLAG_BACKUP_SEMANTICS) y leer a byte[].
  5. Walker regf en línea que analiza el hive: bloque base, tipos de celda nk/vk/lf/lh/li/ri/db/sk. Diseño de KeyNode, flags @0x02, lista de subclaves @0x1C, lista de valores @0x28, clave de seguridad @0x2C, offset de clase @0x30, longitud del nombre u16 @0x48, longitud de clase u16 @0x4A (esto fue un bug en la primera pasada — la propia documentación de Microsoft es ambigua aquí), nombre @0x4C.
  6. Derivar claves:
    • BootKey (SYSKEY): concatenar el hex UTF-16 de Class de ControlSet00N\Control\Lsa\{JD, Skew1, GBG, Data} → 16 bytes en bruto → permutar con [8,5,4,2,11,9,13,3,0,6,1,12,14,10,15,7].
    • Clave AES-256 de LSA desde Policy\PolEKList\(default) (172 bytes): salt = bytes[0x1C..0x3C]; tmpKey = SHA-256(BootKey || salt * 1000); pt = AES-256-CBC-decrypt(bytes[0x3C..], tmpKey, IV=0); clave LSA = pt[68..100].
    • Cada secreto bajo Policy\Secrets\<name>\CurrVal\(default): mismo diseño, estiramiento de salt con la clave LSA en lugar de BootKey.
    • Cuerpo de DPAPI_SYSTEM: bytes[4..24] = MachineKey, bytes[24..44] = UserKey. Estos descifran cada clave maestra DPAPI con alcance SYSTEM en el host.

Estructura del repositorio

SrHollow/
├── README.md                          <- you are here
├── src/
│   └── SrHollow.cs                    <- inline regf parser + LSA AES crypto (~350 LOC, single file)
└── stages/
    ├── Stage1-Recon.ps1               <- read-only shadow enumeration
    ├── Stage1b-ReadShadowHives.ps1    <- auto-detect / auto-create shadow + slurp hives
    ├── Stage2-Decrypt.ps1             <- BootKey + LSA key + all secrets
    └── Stage3-Report.ps1              <- formatted operator report with OPSEC footprint

src/SrHollow.cs tiene cero dependencias más allá de System.Security.Cryptography (que a su vez actúa como proxy hacia bcrypt.dll). Se compila tal cual mediante Add-Type o csc.exe.

Uso

PowerShell elevado

# 1. Read-only recon, see what shadows already exist
powershell.exe -ep bypass -File .\stages\Stage1-Recon.ps1

# 2. Extract SECURITY + SYSTEM from the newest existing shadow
#    (creates one via SRSetRestorePointW if none exist)
powershell.exe -ep bypass -File .\stages\Stage1b-ReadShadowHives.ps1

# 3. Derive BootKey + LSA key + decrypt every secret
powershell.exe -ep bypass -File .\stages\Stage2-Decrypt.ps1

# 4. (Optional) formatted operator report
powershell.exe -ep bypass -File .\stages\Stage3-Report.ps1

Requiere: admin local (para SeBackupPrivilege), un servicio Volume Shadow Copy que esté en ejecución o pueda iniciarse (predeterminado en Windows 10/11).

Señales atribuibles que quedan cuando una sombra ya existe:

  • Un CreateFileW sobre \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\...
  • Un AdjustTokenPrivileges habilitando SeBackupPrivilege
  • SHA-256 + AES-CBC estándar mediante bcrypt.dll (userland, nada destacable)

Este es el mismo perfil de apertura de archivos que la mayoría de los agentes de backup legítimos.

Descargar herramienta