Name |
TCP Timestamp Probe |
|
Likelyhood of attack |
Typical severity |
Medium |
Low |
|
Summary |
This OS fingerprinting probe examines the remote server's implementation of TCP timestamps. Not all operating systems implement timestamps within the TCP header, but when timestamps are used then this provides the attacker with a means to guess the operating system of the target. The attacker begins by probing any active TCP service in order to get response which contains a TCP timestamp. Different Operating systems update the timestamp value using different intervals. This type of analysis is most accurate when multiple timestamp responses are received and then analyzed. TCP timestamps can be found in the TCP Options field of the TCP header. |
Prerequisites |
The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card.The target OS must support the TCP timestamp option in order to obtain a fingerprint. |
Execution Flow |
Step |
Phase |
Description |
Techniques |
1 |
Explore |
[Determine if timestamps are present.] The adversary sends a probe packet to the remote host to identify if timestamps are present. |
|
2 |
Experiment |
[Record and analyze timestamp values.] If the remote host is using timestamp, obtain several timestamps, analyze them and compare them to known values. |
- The adversary sends several requests and records the timestamp values.
- The adversary analyzes the timestamp values and determines an average increments per second in the timestamps for the target.
- The adversary compares this result to a database of known TCP timestamp increments for a possible match.
|
|
Solutions | |
Related Weaknesses |
CWE ID
|
Description
|
CWE-200 |
Exposure of Sensitive Information to an Unauthorized Actor |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-312 |
An adversary engages in activity to detect the operating system or firmware version of a remote target by interrogating a device, server, or platform with a probe designed to solicit behavior that will reveal information about the operating systems or firmware in the environment. Operating System detection is possible because implementations of common protocols (Such as IP or TCP) differ in distinct ways. While the implementation differences are not sufficient to 'break' compatibility with the protocol the differences are detectable because the target will respond in unique ways to specific probing activity that breaks the semantic or logical rules of packet construction for a protocol. Different operating systems will have a unique response to the anomalous input, providing the basis to fingerprint the OS behavior. This type of OS fingerprinting can distinguish between operating system types and versions. |
|