CimSweep is a suite of CIM/WMI-based tools that enable the ability to perform incident response and hunting operations remotely across all versions of Windows. CimSweep may also be used to engage in offensive reconnaisance without the need to drop any payload to disk. Windows Management Instrumentation has been installed and its respective service running by default since Windows XP and Windows 2000 and is fully supported in the latest versions of Windows including Windows 10, Nano Server, and Server 2016.
Agent-based defensive tools are extremely powerful but they also require deployment of the agent to each system. While agent-based solutions absolutely have a place in our industry, they tend to be very expensive and can be easily detected/thwarted by determined attackers. CimSweep enables the acquisition of time-sensitive data at scale all without needing to deploy an agent.
It is called CimSweep based upon the fact that it utilizes the extremely powerful CIM cmdlets in PowerShell. CIM cmdlets support the WSMan protocol by default but it may also fall back to using DCOM on systems that either cannot support or do not have the Windows Remote Management (WinRM) service enabled. More information on the CIM cmdlets may be found here:
One of the greatest features of the CIM cmdlets is that they allow you to establish a CIM session which can survive reboots. CIM sessions speed up remote queries and they enable an analyst to establish a session once and then can be passed around to any function that supports a -CimSession parameter โ which all CimSweep functions support by design.
CimSweep is comprised of two components: core functionality and domain specific functionality.
At its core, CimSweep makes it easy to remotely obtain the following information from any Windows operating system:
This core functionality was designed to facilitate the development of domain-specific functionality for incident responders, hunt operators, or anyone else needing to target information remotely over WMI.
Building upon the core set of functions in CimSweep, contributors can easily write functions that enable them to obtain highly targeted information. Examples of such information would include the following:
CimSweep is a PowerShell module imported using the Import-Module cmdlet. For help on importing PowerShell modules, run Get-Help Import-Module -Full
or refer to Importing a PowerShell Module . Once imported, you may see the exported functions by running Get-Command -Module CimSweep
.
Detailed documentation and usage examples for each function can be found by running Get-Help FunctionName -Full
. For example, for detailed help on Get-CSDirectoryListing, run Get-Help Get-CSDirectoryListing -Full
.