Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

Finding Snort Sensors

Over the past few years, there have been several vulnerabilities disclosed about the Snort network intrusion detection sensor. I recently had a Tenable customer inquire for a strategy of "scanning" to find these Snort systems. This blog discusses some basic and more advanced ideas and issues on how to approach this with Nessus and the Passive Vulnerability Scanner.

Network Scanning of Passive Listening Devices

Solutions like Snort sniff packets on a network interface for evidence of network abuse and log this data to SYSLOG, a local file or some sort of log agent.

Typically, there are no daemons or open ports that can be probed or fingerprinted which indicate that Snort is indeed installed. In many cases, best practice for running a network IDS also recommends that the monitoring interface not even have an IP address.

There have been tools and research in the past used to identify devices that are sniffing, but these don't specifically identify Snort. A good example of this is the AntiSniff tool written and released by the L0pht.

Using Credentials to Find Managed Snort Packages

If Snort is included or supported with your OS distribution, Nessus may likely have some client side checks to look for these security issues. At nessus.org, using the plugin search interface, there were eight different UNIX patch audits concerning Snort as shown below:

Snort8plugins

There are a few issues with looking for Snort this way though:

  • Many Snort users obtain distributions directly from snort.org and not the operating system provider
  • Some Snort users hand compile their distributions
  • Relying on the patch from an operating system vendor might take longer than getting it directly from Snort.org.

Scanning for Snort Files

Nessus Direct Feed customers can look for evidence of Snort installations on UNIX systems with the following .audit file:

<check_type: "Unix">
<custom_item>


type: PROCESS_CHECK


  description: "Check snort process status" 


  name: "snort"


  status: OFF


</custom_item>
</check_type>

This audit simply checks if the 'snort' process is running and reports a failure if it is detected. This scan requires SSH credentials to perform the audit.

Passive Network Monitoring

The Passive Vulnerability Scanner can detect systems that send SYSLOG messages which contain "snort" logs. If your organization uses SYSLOG to send logs from your Snort sensors to a central location, PVS rule #3986 will identify those systems. The rule will also match a secondary log server which is forwarding log which contain Snort events as well.

In order to see these logs, the PVS would need to observe the SYSLOG traffic. If your PVS was on the perimeter of your network and your Snort sensors were further inside and logging to an internal host, it would not be able to observe the traffic.

For More Information

If running Snort alongside Tenable products is interesting to you, please consider these other blog entries: