Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SrHollow — Estrae i segreti LSA e le chiavi DPAPI dagli hive del registro di Windows tramite copie shadow VSS esistenti o appena create, con un parser regf inline e decifratura AES-256. | Kitploit
Strumenti/GitHubGitHub/ivancabrera02/srhollow
Strumenti DifensiviEscalation di PrivilegiEsfiltrazione DatiPost-ExploitDigital ForensicsCrittografiaPenetration TestingRed Teaming
GitHubivancabrera02/srhollow

SrHollow

Estrae i segreti LSA e le chiavi DPAPI dagli hive del registro di Windows tramite copie shadow VSS esistenti o appena create, con un parser regf inline e decifratura AES-256.

8891581 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
Condividi

SrHollow

Estrazione dei segreti LSA, riutilizzo di una copia shadow VSS preesistente + parser regf inline + decifratura LSA AES-256 tramite bcrypt.dll.

Catena in 6 passi

  1. Enumerare \GLOBAL?? tramite NtOpenDirectoryObject + NtQueryDirectoryObject. Scegliere il HarddiskVolumeShadowCopyN con il numero più alto.
  2. Se non ne esiste nessuno, fallback su SRSetRestorePointW(BEGIN_SYSTEM_CHANGE, DEVICE_DRIVER_INSTALL) da SrClient.dll.
  3. Abilitare SeBackupPrivilege nel token corrente (AdjustTokenPrivileges).
  4. CreateFileW("\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\Windows\System32\config\{SECURITY,SYSTEM}", FILE_FLAG_BACKUP_SEMANTICS) e lettura in byte[].
  5. Walker regf inline che analizza l'hive: blocco base, tipi di cella nk/vk/lf/lh/li/ri/db/sk. Layout KeyNode, flags @0x02, lista subkey @0x1C, lista valori @0x28, chiave di sicurezza @0x2C, offset classe @0x30, lunghezza nome u16 @0x48, lunghezza classe u16 @0x4A (questo era un bug alla prima passata — la documentazione di Microsoft stessa è ambigua qui), nome @0x4C.
  6. Derivare le chiavi:
    • BootKey (SYSKEY): concatena l'esadecimale UTF-16 di Class di ControlSet00N\Control\Lsa\{JD, Skew1, GBG, Data} → 16 byte grezzi → permuta con [8,5,4,2,11,9,13,3,0,6,1,12,14,10,15,7].
    • Chiave LSA AES-256 da Policy\PolEKList\(default) (172 byte): salt = bytes[0x1C..0x3C]; tmpKey = SHA-256(BootKey || salt * 1000); pt = AES-256-CBC-decrypt(bytes[0x3C..], tmpKey, IV=0); chiave LSA = pt[68..100].
    • Ogni segreto sotto Policy\Secrets\<name>\CurrVal\(default): stesso layout, salt-stretch con la chiave LSA invece della BootKey.
    • Corpo di DPAPI_SYSTEM: bytes[4..24] = MachineKey, bytes[24..44] = UserKey. Questi decifrano ogni master key DPAPI con scope SYSTEM sull'host.

Struttura del repository

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 ha zero dipendenze oltre a System.Security.Cryptography (che a sua volta fa da proxy verso bcrypt.dll). Si compila così com'è tramite Add-Type o csc.exe.

Utilizzo

PowerShell con privilegi elevati

# 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

Richiede: admin locale (per SeBackupPrivilege), un servizio Volume Shadow Copy in esecuzione o avviabile (predefinito su Windows 10/11).

Segnali attribuibili lasciati quando una shadow esiste già:

  • Una CreateFileW su \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\...
  • Una AdjustTokenPrivileges che abilita SeBackupPrivilege
  • SHA-256 + AES-CBC standard tramite bcrypt.dll (userland, niente di notevole)

Questo è lo stesso profilo di apertura file della maggior parte degli agent di backup legittimi.

Scarica lo strumento