Fingerprinting and ReconnaissanceIn this context, fingerprinting refers to identifying specific information about a system. It is often part of a larger reconnaissance attack. Reconnaissance provides a big-picture view of a network or servers in a DMZ. It identifies the IP addresses used in the target network using a method such as an ICMP sweep or a host enumeration sweep. Ping scanners are sometimes used for this step.
Fingerprinting then homes in on individual systems to provide details of each of them. For example, a fingerprinting attack can identify the operating system of the target and in many cases, it can identify the service pack and patches that have been installed. It can also identify the protocols and services that are running on a system and the likely role of the server based on these services. For example, if a server is listening on port 80, it is running the HTTP protocol and is very likely a web server.
When fingerprinting any system, it's useful to know many of the commonly used well-known ports.
Passive FingerprintingPassive fingerprinting uses a sniffer (such as Wireshark) to capture traffic sent from a system. It analyzes this traffic to determine what the server is doing. A key point is that passive fingerprinting does not send any traffic to the target system but instead just collects the traffic. With this in mind, passive fingerprinting cannot be done from remote attackers. It can only be done with a sniffer installed in the network.
Active FingerprintingActive fingerprinting uses active techniques to identify the role of a server. Chapters 7 and 8 of the CompTIA Security+: Get Certified Get Ahead: SY0-301 Study Guide covered several methods used with active fingerprinting. They include:
- Xmas attack. This is a specific type of scan that sends specially crafted packets to a system. By analyzing the return packets, the scanner can determine the operating system of the target.
- Port scanning. A port scanner sends queries on specific ports. If the server answers a query on a port, it indicates it is listening on this port. For example, if a system answers a query on port 25, it indicates it is running SMTP and is likely an email server. Additional queries can be sent to the system to verify it is an email server.
SummaryFingerprinting is used to get details on a specific target. It is often used as part of a larger reconnaissance attack.
The difference between active and passive fingerprinting is that active fingerprinting will send queries to the target and analyze the response. Passive fingerprinting only uses a sniffer to capture and analyze traffic, but never sends traffic to the target.