Learn how Windows Volume Shadow Copy works, how to interact with shadow copies from the command line, and how digital forensic examiners leverage VSS to recover evidence.
The Volume Shadow Copy Service (VSS) is a Windows framework that creates consistent, point-in-time snapshots of data on a volume — even while that data is actively being used. Think of it like taking a photograph of your entire hard drive at a specific moment in time.
Microsoft introduced VSS in Windows Server 2003 (and Windows XP) to solve a fundamental problem: how do you back up files that are currently open and being written to?
Before VSS, backup programs would skip locked files or produce corrupted copies. VSS coordinates with applications (called "writers") so that data is in a consistent state when the snapshot is taken. This is critical for databases, email servers, and any application that continuously writes data.
VSS is leveraged by multiple Windows features and tools that you may already be familiar with:
| Feature / Tool | How It Uses VSS |
|---|---|
| System Restore | Creates restore points using shadow copies to roll back system changes |
| Windows Backup | Uses VSS to create consistent backups of open files |
| Previous Versions | Right-click → "Restore previous versions" reads from shadow copies |
| File History | Leverages VSS infrastructure for file versioning |
| 3rd-Party Backup Software | Tools like Veeam, Acronis, etc. use VSS for application-consistent backups |
For forensic examiners, shadow copies are like finding a time machine on a suspect's hard drive. They provide access to historical versions of files that may have been deliberately deleted or altered.
vssadmin delete shadows /all /quiet to destroy all shadow copies. Finding evidence that this command was run (in event logs, prefetch, etc.) is itself a forensic artifact indicating malicious activity.
VSS is not a single program — it's a coordinated framework with multiple components working together.
System Volume Information (hidden, root of volume)
vssadmin. In forensics, we often use diskshadow or specialized tools to mount and examine existing shadow copies.vssadmin list writers to see all registered writers.When a shadow copy exists and a block on disk is about to be changed:
| Location | Description |
|---|---|
System Volume Information\ | Hidden folder at root of each volume — contains VSS diff data, catalog, and metadata |
{GUID} files | Inside System Volume Information, each shadow copy's differential data is stored in GUID-named files |
HKLM\SYSTEM\CurrentControlSet\Services\VSS | Registry keys controlling VSS service configuration |
Microsoft-Windows-VHDMP event logs | Event log entries related to shadow copy operations |
System Volume Information folder is protected by NTFS ACLs — only the SYSTEM account can access it by default. On a live system you need Administrator privileges; on a forensic image, your tool reads the raw NTFS data directly.All commands require an elevated (Administrator) command prompt.
| Command | Purpose |
|---|---|
vssadmin list shadows | List all existing shadow copies on the system |
vssadmin list shadows /for=C: | List shadow copies for a specific volume |
vssadmin list writers | Show all registered VSS writer applications |
vssadmin list providers | Show all registered VSS providers |
vssadmin list volumes | Show all volumes eligible for shadow copies |
vssadmin list shadowstorage | Show allocated and used shadow copy space |
vssadmin create shadow /for=C: | Create a new shadow copy of C: drive |
vssadmin delete shadows /for=C: /oldest | Delete the oldest shadow copy on C: |
vssadmin delete shadows /all /quiet | Delete ALL shadow copies silently (⚠️ ransomware) |
vssadmin resize shadowstorage /for=C: /on=C: /maxsize=10GB | Set maximum disk space for shadow storage |
| Command | Purpose |
|---|---|
diskshadow | Enter interactive mode |
list shadows all | List all shadow copies with IDs |
expose {ShadowID} Z: | Mount a shadow copy as drive Z: |
unexpose Z: | Unmount an exposed shadow copy |
| Cmdlet | Purpose |
|---|---|
Get-WmiObject Win32_ShadowCopy | List all shadow copies with detailed properties |
(Get-WmiObject -Class Win32_ShadowCopy -List).Create("C:\\","ClientAccessible") | Create a new shadow copy programmatically |
\). Without it, the link will fail silently or produce an error.cd to navigate directories, dir to list contents, and cd .. to go up. Type help for all commands.
First step in any exam: determine what shadow copies exist.
vssadmin list shadowsNarrow results to show only C: drive shadow copies.
/for=C: parameterSee which apps are registered as VSS writers on this system.
vssadmin list writersHow much space is allocated/used for shadow copies?
vssadmin list shadowstoragePreserve current state of C: before making changes.
vssadmin create shadow /for=C:Create a symlink to mount ShadowCopy1 at C:\ShadowMount. Trailing \ required!
mklink /d C:\ShadowMount \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Use cd to navigate into the mounted shadow copy and explore the suspect's Documents folder at C:\ShadowMount\Users\jdoe\Documents. Use dir to list what you find.
cd C:\ShadowMount, then cd Users\jdoe\Documents, then dirUse PowerShell to query shadow copies via WMI for detailed properties.
Get-WmiObject Win32_ShadowCopySystem Volume Information folder and can only be reconstructed with the complete volume. After imaging, use Arsenal Image Mounter, FTK Imager, or libvshadow to enumerate shadow copies.Enumerate all available shadow copies and document:
| Tool | Capability |
|---|---|
| Arsenal Image Mounter | Mount forensic images with full VSS support |
| libvshadow / vshadowmount | Open-source Linux tools for accessing VSS in forensic images |
| X-Ways Forensics | Built-in shadow copy support within evidence files |
| Autopsy + SleuthKit | VSS processing with appropriate plugins |
| Eric Zimmerman's VSCMount | Specialized VSS mounting from forensic images |
vssadmin delete shadows /all /quiet — check Prefetch, ShimCache, AmCache, Event ID 4688.wmic shadowcopy delete — check WMI trace logs, PowerShell script block logging.sc stop vss — check System event log.vssadmin resize shadowstorage /maxsize=300MB — forces old copies deleted.
Select the best answer for each question.