Chef inspec: Unable to detect your platform

Recently, while exploring Chef's platform for "Compliance as Code" called InSpec, I ran into an issue when executing VMware's DISA STIG profile against a VMware host.

Sorry, we are unable to detect your platform Train::PlatformDetectionFailed

After connecting to my test vCenter server, I quickly realized why: the initial shell is more of a menu prompt and less of a shell.

 1VMware vCenter Server
 3Type: vCenter Server with an embedded Platform Services Controller
 6Connected to service
 8    * List APIs: "help api list"
 9    * List Plugins: "help pi list"
10    * Launch BASH: "shell"

So I followed VMware's kb to temporarily change my shell.

1chsh -s /bin/bash root

Once my shell was changed, I ran InSpec with no issues! Then I changed the shell back to default.

1chsh -s /bin/appliancesh root

So far, InSpec is useful but incredibly slow on Windows, likely because it's based on Ruby which is known to be slow on Windows. Using Linux, however, would mean I'd have to deploy and secure a Linux machine on each network I want to scan, which, no thank you.

I'll have a tutorial coming up soon to show how I was able to get InSpec and MITRE's InspecTools running on Windows in an offline environment.