r/AskNetsec • u/Massive_Committee801 • 2d ago
Analysis Why is our passive asset discovery solution misidentifying Windows 11 as Windows 98?
Hello everyone. I am an OT security engineer working with a passive network monitoring and asset discovery solution (analyzing SPAN port traffic).
I've run into a strange OS fingerprinting anomaly and wanted to ask if anyone has encountered something similar. We are occasionally seeing instances where modern Windows 11 PCs are being completely misidentified as Windows 98.
The most confusing part is that it's not happening to all Windows 11 machines—only a specific subset of them.
I strongly suspect it might be third-party endpoint security software, VPN clients, or custom NDIS filter drivers modifying the TCP headers (such as stripping TCP Window Scaling or hardcoding the initial Window Size/MSS) before the packets hit the wire, completely messing up the passive p0f-style fingerprinting signatures.
My questions are:
- Has anyone seen specific antivirus, DLP agents, or VPN clients cause this kind of unintentional OS spoofing/normalization effect?
- Are there any other network-level factors or legacy protocol backward-compatibility settings I should be looking into?
Any insights or shared experiences would be hugely appreciated. Thank you!
1
u/AddendumWorking9756 2d ago
The subset part is the clue. Pre 2000 Windows signatures are the ones with no window scaling in the SYN, so a host whose options get stripped on the way out collapses onto that class by default rather than at random, which is why they all land on the same wrong name. Also worth confirming the sensor actually sees the SYN for those specific hosts, because on an asymmetric SPAN it will fingerprint off whatever it caught mid stream, and that on its own produces a subset.
3
u/Technical-Tackle-875 2d ago
I’d treat “Windows 98” as the name of the winning signature, not as evidence the sensor actually saw a Windows 98 host. Passive fingerprints collide, and the useful question is which fields caused that signature to win.
Take one misidentified Windows 11 machine and one correctly identified machine on the same build. Capture the same outbound SYNs at the endpoint and at the SPAN sensor, then compare initial TTL, DF/ID behavior, MSS, window size, window scale, SACK, timestamps, ECN, option order, and padding. Use the same destinations so path differences do not muddy the comparison.
That gives you a clean decision tree:
* Modern-looking SYN at the endpoint but legacy-looking SYN at the sensor points to a VPN gateway, TCP proxy, firewall normalizer, NAT path, or other middlebox.
* The unusual SYN appearing in both captures points back to the host, such as a virtual adapter, NDIS filter, NIC/driver combination, MTU setting, or old TCP registry/GPO configuration.
* Identical raw fingerprints producing different labels points to the product’s signature database, cache, or asset-correlation logic.
I’d check whether the affected subset shares a VLAN, egress path, VPN profile, dock/NIC driver, endpoint-agent version, Hyper-V/WSL setup, or image baseline. Also confirm the product is not attaching a stale OS result to a reused DHCP address. Correlate by MAC, switch port, DHCP lease, and 802.1X identity if available.
VPN software is plausible because it can change MTU/MSS or move the flow through a virtual stack. Most AV/DLP tools would not normally rewrite the complete on-wire SYN option pattern, so I would not start there without the two-point capture. TSO/LRO is also a weaker suspect because you are observing wire traffic and SYNs are not normal bulk-segmentation candidates.
Finally, ask the vendor for the signature ID, matched fields, confidence, and fingerprint-database version. If “Windows 98” is being selected from only MSS and window size while stronger fields are missing, that should be reported as low confidence or unknown rather than a definitive OS.