- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-28-2020 10:34 AM
Hello everyone,
I have been working on Discovery for a few months now and I am currently having an issue discovering Windows based systems. I have tried discovering a few different varieties that our organization uses (Windows 7, Windows 10, Server 2016, etc) and it seems that nothing is being done after the WMIRunner is sent out. What is throwing me off is that the discovery does not fail, rather it appears to complete without any issue. Looking at the Device tab of the Discovery Status page, I can see that the "current activity" is Classifying, however there is no other information except the source IP address. Out of curiosity, I hopped on one of our MID server hosts and attempted to use 'wmic' to reach a remote Windows machine and that appears to be working correctly from what I can tell.
Is there anything in particular I should be looking at? There's probably something relatively simple that I may be overlooking. Definitely a learning process for sure!
Solved! Go to Solution.
- Labels:
-
Discovery
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2020 04:17 PM
I had a similar issue a few months ago. Discovery was working fine, then all Windows discoveries stopped at the WMI: Classify. Just as you describe - nothing was being returned by the WMIRunner and Discovery didn't fail but shows "Discovery completed" in the Discovery log.
We had recently patched Java on our MID Servers to Oracle Java 8 release 231 (build 1.8.0_231-b11/8.0.2310.11). This version introduced Runetime.exe and ProcessBuilder argument restrictions that the MID server uses for running some PowerShell commands. ServiceNow has posted a work around for this by adding wrapper.java.additional.3=-Djdk.lang.Process.allowAmbiguousCommands=true to the wrapper-override.conf.
I provide more details in this community article: Discovery PowerShell WMI Probes Fail After Upgrading the MID Server Oracle JRE to version 8 release ...

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-28-2020 11:02 AM
Hi - look at the returned (inbound) payloads of the ECC queue for clues. After shazzam phase its likely finding a given IP is windows (WMI port 135). It then needs to classify the IP to figure out what version of windows (2012, 2016, etc.). The inbound response from the target during classification should (must) match 1 of the identifiers for the subsequent phases to kick off and explore deeper.
The inbound responses to the ecc queue might yield some clues. Classifiers are defined under CI Classification... and the criteria is unique to each one, which helps Disco figure out exactly what windows is running on a given IP.
Hope this helps?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2020 12:41 PM
What is typically expected to come back from the WMI classifier?
As you guessed, Shazzam seems to find that port 135 is open:
<scanner name="GenericTCP" port="135" portprobe="wmi" protocol="tcp" result="open" service="epmap"/>
If I go in and look at the XML on the ECC queue input, it doesn't seem like anything is actually getting returned from the machine in question. Maybe I need to post the XML or see what an expected response should include. I would like to think WMI is working properly; I've used the WMI tester on a few other machines around the office and it seems to return all the objects.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2020 02:58 PM
well the WMI input response shoud have some basic info about the OS... something like Windows 2012, etc.. which the classifer uses to make decisions of what probes to launch next
my gut, based on your screen shot is that perhaps there is a permissions problem. because the input phase of WMI classify doesn't have the typical amount of nodes in paraen's ... something like:
your example has no nodes. look at that input payload... you should either A) see something about the windows box or B) see some type of message/error/hint...
Hope that helps?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-10-2020 04:15 PM
I had a similar issue a few months ago. Discovery was working fine, then all Windows discoveries stopped at the WMI: Classify. Just as you describe - nothing was being returned by the WMIRunner and Discovery didn't fail but shows "Discovery completed" in the Discovery log.
We had recently patched Java on our MID Servers to Oracle Java 8 release 231 (build 1.8.0_231-b11/8.0.2310.11). This version introduced Runetime.exe and ProcessBuilder argument restrictions that the MID server uses for running some PowerShell commands. ServiceNow has posted a work around for this by adding wrapper.java.additional.3=-Djdk.lang.Process.allowAmbiguousCommands=true to the wrapper-override.conf.
I provide more details in this community article: Discovery PowerShell WMI Probes Fail After Upgrading the MID Server Oracle JRE to version 8 release ...