Disclaimer: This information is provided as-is for the benefit of the Community. Please contact Sophos Professional Services if you require assistance with your specific environment.
Many cyber security insurance companies have been rejecting claims for costs and damages associated with breaches. Cyber policies can carry either an "unsupported software" exclusion or a condition in some form or fashion. This makes it an increasingly important topic around cyber insurance. This read is NOT insurance advice on your policy and you should always discuss your policy with the under writer.
Unsupported Software Lifecycle
So let's review options available in XDR to augment discoveries of vulnerable software.
For this exercise, we will need to identify the the up to date or supported version of the software we're looking for. To do this we're going to run a simple power shell command that will provide us with the 'Display Name' and 'Display Version.' We'll need that Display name and version later when we use XDR's Live Discover feature to compare the Display name and version on the rest of our devices.
On a system that has the FULLY supported or patched software version applied, perform the following:
ISE is the Powershell Integrated Scripting Environment and recommended for beginners to see the code syntax and modify the input.
In either scenario, you will need to run PowerShell as Administrator.
Consider the following Powershell command to gain visibility into the version details:
Replace "username" with your own
To search for your specific software, replace "TeamViewer" between the * *
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | where{$_.displayName -LIKE "*softwareName*"} | Select-Object displayName, displayVersion, Publisher, InstallDate | Format-Table -AutoSize > C:\Users\Username\Desktop\ProgramVersion.txt
To contextualize what results you should see, consider below:
So now we have a program name and version to compare against in our Live Discover search.
If this is your first time using Live Discover, consider the following recommended read for Getting Started.
Following the query from our Live Discover & Response Forum, we can see that Jainidhya assembled a short and sweet query for us to leverage as shared here.
Let's start by...
NOTE: Variables are case sensitive
Extracting the details from the Powershell statement, we can find that the DisplayName is 'TeamViewer' and the DisplayVersion is '15.20.6'. So to take the information and make it useful for our query.
Powershell | Live Discover |
DisplayName | Name |
DisplayVersion | Version |
We can see when we enter in the required variables to run the query, we're left with results of machines with TeamViewer installed and a human readable statement on the status of the version.
Where your RED box is your full SQL statement and the BLUE box and lines indicate the variables you are searching for.
Now that your code and variables are set, you can choose to select all of your machines or select individual machines that you want to compare against. I am going to do this on just the two machines selected. Click "Update Selected Devices list" once satisfied and then select "Run Query" in the bottom right corner.
As you can see, in this small discovery across (2) machines, it only returned one result and to indicate a satisfactory version requirement. If your program is not installed, the endpoint will not return a result.
Stay tuned for more XDR content and guides coming soon!
Stay safe & stay secure,
-jk