By Gabriel Landau and Mark Mager at Elastic Security.
From Hide Your Valuables — Mitigating Physical Credential Dumping Attacks presented at Shmoocon 2023. Slides here.
Silhouette is a POC that mitigates the use of physical memory to dump credentials from LSASS. It does this in three ways:
- Aggressively flush LSASS's pages from RAM to disk.
- Block raw disk access within the boot volume, preventing raw copy attacks against
pagefile.sys
andhiberfil.sys
(e.g. Invoke-NinjaCopy). - Block
FILE_READ_DATA
forpagefile.sys
in all Volume Shadow Copy snapshots to block access with tools like hobocopy.
It is highly recommended to enable RunAsPPL before using Silhouette.
This is a proof of concept. Use it at your own risk.
- Compile Silhouette.sln with Visual Studio 2019. The WDK is required. This was originally developed with the Win11 21H2 WDK.
- Enable Test Signing.
- Register the service:
sc create Silhouette type= filesys start= demand binpath= %CD%\Silhouette.sys
- Add Minifilter keys:
reg import FilterKeys.reg
- Start the service:
sc start Silhouette
Silhouette is covered by the ELv2 license. It uses phnt from SystemInformer under the MIT license.