Perimeter
2/3/2012
02:19 PM
John H. Sawyer
John H. Sawyer
Commentary
50%
50%

Passive Network Fingerprinting; p0f Gets Fresh Rewrite

Passive network analysis can reveal OS, service, and even vulnerabilities -- just by sniffing the network

In the network security world, nmap is the king for fingerprinting systems and services over the network. It can help identify the operating system (OS), type, and version of a network service, and vulnerabilities that might be present. The problem with nmap is that it generates a lot of "noise" when it performs those activities because it has to send out packets to the system in question to learn more about it. Nmap is an example of an active fingerprinting tool.

There are less noisy alternatives to nmap that fall into the passive fingerprinting category. Instead of actively sending packets to a host and service, they passively analyze network traffic to identify unique characteristics for particular operating systems, client applications, and network services. Their strength is based on the breadth of their signature database, which is not always great. To date, the majority of free and open-source passive fingerprinting tools have focused on OS fingerprinting

Passive fingerprinting can go way beyond just identifying the operating system. Web and mail servers often give up more information than necessary when communicating with clients, and in general, as long as that traffic is unique and can be sniffed, a fingerprint can be created to identify it. The same goes for Web browsers, email clients, and any other application that communicates over the network. Often their version numbers are passed as part of their communications with servers. Tie that version information with a vulnerability database and vulnerable systems can start being identified without ever interacting with the system.

To date, PRADS is the one of the few open-source tools I've found that currently includes fingerprinting additional things like services; however, Michal Zalewski announced on Jan. 10 the availability of p0f v3, which includes the ability to fingerprint TCP services. This is the first release in about six years and is a complete rewrite. This new version currently supports HTTP response and request signatures, but additional protocols are expected to be added in the future.

The obvious difficulty with passive fingerprinting is the need to sniff the traffic, but if you're just monitoring traffic between yourself and another system, that's not an issue. In larger environments, you'll want to leverage a mirror port on a network switch or a network tap in order to see as much traffic as possible. The cool thing about p0f is that it can help find NAT devices in large environments where you might have users plugging in wireless routers.

There's a lot of value and fun that can be had through passive fingerprinting. I'll be discussing it more in the future as I start working on a project specific to mobile devices and application fingerprinting. For a quick preview and review on passive fingerprinting, check out my FireTalk, "Passive Aggressive Pwnage," at ShmooCon 2012.

John Sawyer is a Senior Security Analyst with InGuardians. The views and opinions expressed in this blog are his own and do not represent the views and opinions of his employer. He can be reached at johnhsawyer@gmail.com and found on Twitter @johnhsawyer.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
Title Partner’s Role in Perimeter Security
Title Partner’s Role in Perimeter Security
Considering how prevalent third-party attacks are, we need to ask hard questions about how partners and suppliers are safeguarding systems and data.
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-8891
Published: 2015-03-06
Unspecified vulnerability in the Java Virtual Machine (JVM) in IBM SDK, Java Technology Edition 5.0 before SR16-FP9, 6 before SR16-FP3, 6R1 before SR8-FP3, 7 before SR8-FP10, and 7R1 before SR2-FP10 allows remote attackers to escape the Java sandbox and execute arbitrary code via unspecified vectors...

CVE-2014-8892
Published: 2015-03-06
Unspecified vulnerability in the Java Virtual Machine (JVM) in IBM SDK, Java Technology Edition 5.0 before SR16-FP9, 6 before SR16-FP3, 6R1 before SR8-FP3, 7 before SR8-FP10, and 7R1 before SR2-FP10 allows remote attackers to bypass intended access permissions and obtain sensitive information via un...

CVE-2015-1170
Published: 2015-03-06
The NVIDIA Display Driver R304 before 309.08, R340 before 341.44, R343 before 345.20, and R346 before 347.52 does not properly validate local client impersonation levels when performing a "kernel administrator check," which allows local users to gain administrator privileges via unspecified API call...

CVE-2015-1637
Published: 2015-03-06
Schannel (aka Secure Channel) in Microsoft Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2 and R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2012 Gold and R2, and Windows RT Gold and 8.1 does not properly restrict TLS state transitions, which makes it easier for r...

CVE-2014-2130
Published: 2015-03-05
Cisco Secure Access Control Server (ACS) provides an unintentional administration web interface based on Apache Tomcat, which allows remote authenticated users to modify application files and configuration files, and consequently execute arbitrary code, by leveraging administrative privileges, aka B...

Dark Reading Radio
Archived Dark Reading Radio
How can security professionals better engage with their peers, both in person and online? In this Dark Reading Radio show, we will talk to leaders at some of the security industry’s professional organizations about how security pros can get more involved – with their colleagues in the same industry, with their peers in other industries, and with the IT security community as a whole.