Auditing and Finding Virtual Machines
I was speaking with an attendee at the Mid Atlantic IANS Forum, and they had an issue tracking new virtual servers that were "popping up" all over their enterprise. They had a secondary problem in that many of these new OSes weren't properly licensed as they were all installed off of the same ISO. This blog entry discusses discovery of VMware systems with active and passive methods.
Nessus 3 Detection
Nessus 3 can help very much with this issue. Consider these two plugins:
The first plugin primarily detects Windows systems that are running on VMware. This is accomplished through the MAC address which can be obtained without credentials simply by asking the Windows server. If UNIX credentials are used on the host, the MAC address is also saved. And lastly, for either UNIX or Windows hosts, if Nessus and the target host are in the same collision domain, the MAC address will also be obtained. Once the MAC address is obtained, it is compared to a list of known VMware addresses.
The second plugin is purely for Windows. It requires credentials and WMI access. It performs a check to see if the running copy of Windows has been activated or not. If your organization is running unauthorized or unlicensed copies of various Windows operating systems, this plugin will determine it. It may also indicate that a system has been installed but not fully configured.
Passive Detection
This process can also be complimented with continuous monitoring from the Passive Vulnerability Scanner. The PVS can detect when various VMware systems reach out to detect if new versions are available. This process is detected by the PVS and can be used to identify real hosts that operate one or more virtual servers. It can also identify systems which run VMware, but run their hosts isolated or perhaps NATed.
Enterprise Considerations
Security Center users could place all of their detected VMware systems into one dynamic asset list. This would allow them to see if their configurations are correct, if they have been deployed in the correct locations and even if the right type of software has been installed.
Dynamic lists should be built with combinations of Nessus plugin ID #20094 or PVS plugin #3396. Below is a screen shot of a PVS detect as viewed under the Security Center:
For More Information
Readers who found this blog entry useful will also be interested in these blog entries: