Lab 4C
Lab 4C
Starting Volatility
In your Kali Linux machine, in a Terminal window, execute this command:
volatility -h
You see a long help message, as shown below:
Volatility needs to know what operating system was imaged in order to interpret the memory image
correctly. The default profile is WinXPSP2x86, but we used Win2008SP1x86, so we'll have to include
that information in all future volatility command-lines.
Running Processes
In your Kali Linux machine, in a Terminal window, execute this command:
volatility pslist --profile=Win2016x64_14393 -f /kali/Desktop/memdump.mem
This shows the processes that were running on the machine when the RAM image was made, as shown
below:
Network Connections
In your Kali Linux machine, in a Terminal window, execute this command:
volatility netscan --profile=Win2016x64_14393 -f /kali/Desktop/memdump.mem
This shows the network connections on the Windows machine, as shown below:
Services
In your Kali Linux machine, in a Terminal window, execute this command:
volatility svcscan --profile=Win2016x64_14393 -f /kali/Desktop/memdump.mem | more
This shows the first page of a long list of services, as shown below:
Examine your output and find the two addresses outlined in green above: the virtual addresses of the
SAM and SYSTEM hives. Those two hives together contain enough information to extract Windows
password hashes.
Password Hashes
In your Kali Linux machine, in a Terminal window, execute the command below.
You will have to replace the two hexadecimal addresses with the correct virtual addresses of your hives,
in this format:
-y SYSTEM -s SAM
volatility hashdump --profile=Win2008SP1x86 -f memdump.mem -y 0x86226008 -s 0x89c33450
When you get the command correct, you will see the login account names and hashed passwords, as
shown below.
Windows stores two hashes with each password, delimited by colons. The first one is an extremely
insecure, obsolete hash using the LANMAN algorithm. Windows operating systems since Vista no
longer use LANMAN hashes, so they are filled with a dummy value starting with "aad".
The second hash is the newer NTLM hash, which is much better than LANMAN hashes, but still
extremely insecure and much more easily cracked than Linux or Mac OS X hashes.
Scroll until you find the "net user" command shown below, which attempted to set a password on the
"waldo" account that violated the complexity requirement.
The password is redacted in the image below.