Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only...

82
Introduction OS detection without firewalls OS detection with firewalls Conclusion Remote OS detection with IPv6 Mathias Morbitzer [email protected] Mathias Morbitzer Remote OS detection with IPv6 1/80

Transcript of Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only...

Page 1: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detection with IPv6

Mathias Morbitzer

[email protected]

Mathias Morbitzer Remote OS detection with IPv6 1/80

Page 2: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

About me

5 years studies in IT security in Austria and the Netherlands

Worked on translating from IPv4 to IPv6 and back

Currently working as penetration tester

Mathias Morbitzer Remote OS detection with IPv6 2/80

Page 3: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

Why is Remote OS Detection?

Imagine a 0-day exploit....→ Necessary to determine remote OS

Creating exploits

Social engineering

Inventory

Finding unauthorized devices

Mathias Morbitzer Remote OS detection with IPv6 3/80

Page 4: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What is Remote OS Detection?

A lot of different RFCs

Not everything defined in RFCs

Not every system follows RFCs

→ Find differences in behavior

Mathias Morbitzer Remote OS detection with IPv6 4/80

Page 5: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

Some existing methods

IPv4: IPID sequence

TCP: GCD of ISN

TCP: predictability of ISN

TCP: Order of options

TCP: Window Size

ICMP: Echo Reply Codes

....

Mathias Morbitzer Remote OS detection with IPv6 5/80

Page 6: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

Some existing methods

Tons of methods(More at http://nmap.org/book/osdetect-methods.html)

There is also IPv6!

IPv6 header has “only” 8 fields

Mathias Morbitzer Remote OS detection with IPv6 6/80

Page 7: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

IPv4 vs IPv6

Mathias Morbitzer Remote OS detection with IPv6 7/80

Page 8: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

Some existing methods

Tons of methods(More at http://nmap.org/book/osdetect-methods.html)

There is also IPv6!

IPv6 header has “only” 8 fields

With all EHs its 38

Also ICMPv6 and NDP

→ Why not do OS detection in IPv6?

Mathias Morbitzer Remote OS detection with IPv6 8/80

Page 9: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

Test setup

5 different VMs

Windows XP, SP3Linux 3.2.0Windows 8OpenBSD 5.4Solaris 11.1

Analyze responses in various scenarios

Only IPv6-related thingsA lot of other good methods, but this is not our focus here

Mathias Morbitzer Remote OS detection with IPv6 9/80

Page 10: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What Nmap does so far I

Sends a ping

Reminder: ICMPv6 type 128, code 0Answer: ICMPv6 type 129, code 0

120 byte of data

Hop by Hop EH (padding only)

Code 7, not 0

Mathias Morbitzer Remote OS detection with IPv6 10/80

Page 11: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What Nmap does so far I

Responses to ICMPv6 type 128 code 7:

System Answer

Windows XP SP3 ICMPv6 type 129, code 0

Linux 3.2.0 ICMPv6 type 129, code 7

Windows 8 ICMPv6 type 129, code 0

OpenBSD 5.4 No Response

Solaris 11.1 ICMPv6 type 129, code 7

Mathias Morbitzer Remote OS detection with IPv6 11/80

Page 12: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What Nmap does so far II

Another ping

No data

Code 0

EH: Hop by Hop, Destination Options, Routing, Hop by Hop

Mathias Morbitzer Remote OS detection with IPv6 12/80

Page 13: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What Nmap does so far II

Responses to EH: Hop by Hop, Destination Options, Routing, Hop by Hop

System Answer

Windows XP SP3 ICMPv6 unrecognized NH

Linux 3.2.0 ICMPv6 unrecognized NH

Windows 8 ICMPv6 unrecognized NH

OpenBSD 5.4 ICMPv6 Erroneous hdr field

Solaris 11.1 ICMPv6 unrecognized NH

Mathias Morbitzer Remote OS detection with IPv6 13/80

Page 14: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What Nmap does so far III

RFC 4620: IPv6 Node Information QueriesAsking for IPv4-, IPv6-Addresses, Hostname

Type 139 (ICMP Node Information Query)

qtype: 4 (IPv4 address)

Mathias Morbitzer Remote OS detection with IPv6 14/80

Page 15: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What Nmap does so far III

Responses to NI Query for IPv4 addresses

System Answer

Windows XP SP3 No Response

Linux 3.2.0 No Response

Windows 8 ICMPv6 Erroneous hdr field

OpenBSD 5.4 Returns IPv4 address(es)

Solaris 11.1 No Response

Mathias Morbitzer Remote OS detection with IPv6 15/80

Page 16: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What Nmap does so far IV

Neighbor Solicitation

ICMPv6 type: 135, code: 0

Flags are all 0

Only if target on the same subnet

Mathias Morbitzer Remote OS detection with IPv6 16/80

Page 17: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Remote OS detectionExisting methodsWhat Nmap does so far

What Nmap does so far IV

Responses to NS

System Answer

Windows XP SP3 Flags: Solicited, Override

ND Option: Destination LL Address

Linux 3.2.0 Flags: Solicited

Windows 8 Flags: Solicited, Override

ND Option: Destination LL Address

OpenBSD 5.4 Flags: Solicited

Solaris 11.1 Flags: Solicited, Override

ND Option: Destination LL Address

Mathias Morbitzer Remote OS detection with IPv6 17/80

Page 18: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

IPv6 Hop Limit

Mathias Morbitzer Remote OS detection with IPv6 18/80

Page 19: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Different Hop Limits

System Value

Windows XP SP3 128

Linux 3.2.0 64

Windows 8 128

OpenBSD 5.4 64

Solaris 11.1 255

Mathias Morbitzer Remote OS detection with IPv6 19/80

Page 20: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

IPv6 Next Header

Mathias Morbitzer Remote OS detection with IPv6 20/80

Page 21: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

What if NH set to ...

ICMP (IPv4)?

Mathias Morbitzer Remote OS detection with IPv6 21/80

Page 22: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses to NH=ICMP

System Answer

Windows XP SP3 ICMPv6 Parameter Problem

Linux 3.2.0 ICMPv6 Parameter Problem

Windows 8 ICMPv6 Parameter Problem

OpenBSD 5.4 No Reply

Solaris 11.1 ICMPv6 Parameter Problem

Mathias Morbitzer Remote OS detection with IPv6 22/80

Page 23: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

What if NH set to ...

ICMP (IPv4)?

IPv4?

Mathias Morbitzer Remote OS detection with IPv6 23/80

Page 24: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses to NH=IPv4

System Answer

Windows XP SP3 ICMPv6 Parameter Problem

Linux 3.2.0 ICMPv6 Parameter Problem

Windows 8 No reply

OpenBSD 5.4 No reply

Solaris 11.1 ICMPv6 Parameter Problem

Mathias Morbitzer Remote OS detection with IPv6 24/80

Page 25: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

What if NH set to ...

ICMP (IPv4)?

IPv4?

AH? (with invalid data)

Mathias Morbitzer Remote OS detection with IPv6 25/80

Page 26: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses to NH=AH

System Answer

Windows XP SP3 No reply

Linux 3.2.0 ICMPv6 Parameter Problem

Windows 8 No reply

OpenBSD 5.4 No reply

Solaris 11.1 No reply

Mathias Morbitzer Remote OS detection with IPv6 26/80

Page 27: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

What if NH set to ...

ICMP (IPv4)?

IPv4?

AH?

Ethernet within IP?

Mathias Morbitzer Remote OS detection with IPv6 27/80

Page 28: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses to NH=Ethernet within IP

System Answer

Windows XP SP3 ICMPv6 Parameter Problem

Linux 3.2.0 ICMPv6 Parameter Problem

Windows 8 ICMPv6 Parameter Problem

OpenBSD 5.4 No reply

Solaris 11.1 ICMPv6 Parameter Problem

Mathias Morbitzer Remote OS detection with IPv6 28/80

Page 29: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

New stuff in IPv6

Node Information Query

Already seen NI Query for IPv4

Mathias Morbitzer Remote OS detection with IPv6 29/80

Page 30: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Reminder: NI Query for IPv4

System Answer

Windows XP SP3 No reply

Linux 3.2.0 No reply

Windows 8 ICMPv6 Parameter Problem

OpenBSD 5.4 Returns IPv4 addresses

Solaris 11.1 No reply

Mathias Morbitzer Remote OS detection with IPv6 30/80

Page 31: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

New stuff in IPv6

Node Information Query

Already seen NI Query for IPv4

And now for IPv6

Mathias Morbitzer Remote OS detection with IPv6 31/80

Page 32: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

NI Query for IPv6

System Answer

Windows XP SP3 No reply

Linux 3.2.0 No reply

Windows 8 ICMPv6 unrecognized next header

OpenBSD 5.4 No reply

Solaris 11.1 No reply

Mathias Morbitzer Remote OS detection with IPv6 32/80

Page 33: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Fragmentation in IPv6

Mathias Morbitzer Remote OS detection with IPv6 33/80

Page 34: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Fragmentation in IPv6

Extension header used when needed

Located between IPv6 and TCP header

Extension header for fragmentation / Fragmentation header:

Mathias Morbitzer Remote OS detection with IPv6 34/80

Page 35: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Fragmentation in IPv6

Assignment of Identification varied already in IPv4

Send a fragmented Echo Request→ get a fragmented Echo Response

Mathias Morbitzer Remote OS detection with IPv6 35/80

Page 36: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Assignment of Identification value

# System Assignment of Identification

1 Android 4.1 (Linux 3.0.15) Per host, incremental2 FreeBSD 7.4 Random3 FreeBSD 9.1 Random4 iOS 6.1.2 Random5 Linux 2.6.32 Per host, incremental6 Linux 3.2 Per host, incremental7 Linux 3.8 Per host, incremental8 OpenBSD 4.6 Random9 OpenBSD 5.2 Random10 OS X 10.6.7 Global, incremental11 OS X 10.8.3 Random12 Solaris 11 Per host, incremental13 Windows Server 2003 R2 Standard 64bit, SP2 Global, incremental14 Windows Server 2008 Standard 32bit, SP1 Global, incremental15 Windows Server 2008 R2 Standard 64bit, SP1 Global, incremental by 216 Windows Server 2012 Standard 64bit Global, incremental by 217 Windows XP Professional 32bit, SP3 Global, incremental18 Windows Vista Business 64bit, SP1 Global, incremental19 Windows 7 Home Premium 32bit, SP1 Global, incremental by 220 Windows 7 Ultimate 32bit, SP1 Global, incremental by 221 Windows 8 Enterprise 32 bit Global, incremental by 2

Mathias Morbitzer Remote OS detection with IPv6 36/80

Page 37: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

How to differ between per host and global assignment

Mathias Morbitzer Remote OS detection with IPv6 37/80

Page 38: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Multiple FHs

Thats fragmentation in IPv6

RFC 2460 says most EHs SHOULD only occur once

→ How about multiple FHs?

Mathias Morbitzer Remote OS detection with IPv6 38/80

Page 39: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses to 2 FHs

System Answer

Windows XP SP3 Reply (without FH)

Linux 3.2.0 Reply (without FH)

Windows 8 Reply (without FH)

OpenBSD 5.4 No Reply

Solaris 11.1 Reply (without FH)

Mathias Morbitzer Remote OS detection with IPv6 39/80

Page 40: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

How about 5 FHs?

System Answer

Windows XP SP3 Reply (without FH)

Linux 3.2.0 Reply (without FH)

Windows 8 Reply (without FH)

OpenBSD 5.4 No Reply

Solaris 11.1 Reply (without FH)

Mathias Morbitzer Remote OS detection with IPv6 40/80

Page 41: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Playing with the MTU

How about a ping with 1295 byte?

Mathias Morbitzer Remote OS detection with IPv6 41/80

Page 42: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

A 1295 byte ping

System Answer

Windows XP SP3 Reply (1 Packet)

Linux 3.2.0 Reply (1 Packet)

Windows 8 Reply (1 Packet)

OpenBSD 5.4 Reply (In fragments)

Solaris 11.1 Reply (1 Packet)

Mathias Morbitzer Remote OS detection with IPv6 42/80

Page 43: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Playing with the MTU

How about a ping with 1295 byte?

MTU in Ethernet is 1500

How about sending a 1501 byte packet?

Mathias Morbitzer Remote OS detection with IPv6 43/80

Page 44: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

A 1501 byte ping

System Answer

Windows XP SP3 Reply (1 Packet)

Linux 3.2.0 Reply (1 Packet)

Windows 8 Reply (1 Packet)

OpenBSD 5.4 Reply (In fragments)

Solaris 11.1 Reply (1 Packet)

Mathias Morbitzer Remote OS detection with IPv6 44/80

Page 45: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Playing with the MTU

How about a ping with 1295 byte?

MTU in Ethernet is 1500

How about sending a 1501 byte packet?

Anything special about 1509 byte?

Mathias Morbitzer Remote OS detection with IPv6 45/80

Page 46: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

A 1509 byte ping

System Answer

Windows XP SP3 Reply (1 Packet)

Linux 3.2.0 Reply (1 Packet)

Windows 8 No Reply

OpenBSD 5.4 Reply (In fragments)

Solaris 11.1 Reply (1 Packet)

Mathias Morbitzer Remote OS detection with IPv6 46/80

Page 47: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Playing with the MTU

How about a ping with 1295 byte?

MTU in Ethernet is 1500

How about sending a 1501 byte packet?

Anything special about 1509 byte?

So what’s happening at 1815 byte?

Mathias Morbitzer Remote OS detection with IPv6 47/80

Page 48: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

A 1815 byte ping

System Answer

Windows XP SP3 No Reply

Linux 3.2.0 No Reply

Windows 8 No Reply

OpenBSD 5.4 Reply (In fragments)

Solaris 11.1 No Reply

Mathias Morbitzer Remote OS detection with IPv6 48/80

Page 49: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Routing Header

List intermediate nodes

Behavior of destination depends on Segments Left-field

Mathias Morbitzer Remote OS detection with IPv6 49/80

Page 50: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Sending wrong Routing Headers

Hdr Ext Len set to 0

Mathias Morbitzer Remote OS detection with IPv6 50/80

Page 51: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses to Hdr Ext Len set to 0

System Answer

Windows XP SP3 Replies normally

Linux 3.2.0 Replies normally

Windows 8 Replies normally

OpenBSD 5.4 ICMPv6 Erroneous hdr field

Solaris 11.1 Replies normally

Mathias Morbitzer Remote OS detection with IPv6 51/80

Page 52: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Sending wrong Routing Headers

Hdr Ext Len set to 0

Multiple RHs

Mathias Morbitzer Remote OS detection with IPv6 52/80

Page 53: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses to multiple RHs

System Answer

Windows XP SP3 Replies normally

Linux 3.2.0 Replies normally

Windows 8 Replies normally

OpenBSD 5.4 ICMPv6 Erroneous hdr field

Solaris 11.1 Replies normally

Mathias Morbitzer Remote OS detection with IPv6 53/80

Page 54: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Sending wrong Routing Headers

Hdr Ext Len set to 0

Multiple RHs

Segments left = 1 but no addresses

Mathias Morbitzer Remote OS detection with IPv6 54/80

Page 55: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses with segments left = 1

System Answer

Windows XP SP3 Replies normally

Linux 3.2.0 Replies normally

Windows 8 Replies normally

OpenBSD 5.4 Replies normally

Solaris 11.1 No reply

Mathias Morbitzer Remote OS detection with IPv6 55/80

Page 56: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Sending wrong Routing Headers

Hdr Ext Len set to 0

Multiple RHs

Segments left = 1 but no addresses

Segments left = 1 and one address

Mathias Morbitzer Remote OS detection with IPv6 56/80

Page 57: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses with segments left = 1 and one address

System Answer

Windows XP SP3 Dest. unreachable, Administratively prohibited

Linux 3.2.0 ICMPv6 Erroneous hdr field

Windows 8 ICMPv6 Erroneous hdr field

OpenBSD 5.4 ICMPv6 Erroneous hdr field

Solaris 11.1 No reply

Mathias Morbitzer Remote OS detection with IPv6 57/80

Page 58: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Sending wrong Routing Headers

Hdr Ext Len set to 0

Multiple RHs

Segments left = 1 but no addresses

Segments left = 1 and one address

Segments left = 1 and two addresses

Mathias Morbitzer Remote OS detection with IPv6 58/80

Page 59: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses with segments left = 1 and two address

System Answer

Windows XP SP3 Dest. unreachable, Administratively prohibited

Linux 3.2.0 ICMPv6 Erroneous hdr field

Windows 8 ICMPv6 Erroneous hdr field

OpenBSD 5.4 ICMPv6 Erroneous hdr field

Solaris 11.1 No reply

Mathias Morbitzer Remote OS detection with IPv6 59/80

Page 60: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Sending wrong Routing Headers

Hdr Ext Len set to 0

Multiple RHs

Segments left = 1 but no addresses

Segments left = 1 and one address

Segments left = 1 and two addresses

Segments left = 0 and one address

Mathias Morbitzer Remote OS detection with IPv6 60/80

Page 61: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The IPv6 headerFun with EHs: Fragmentation HdrFun with EHs: Routing Header

Responses with segments left = 0 and one address

System Answer

Windows XP SP3 Replies normally

Linux 3.2.0 Replies normally

Windows 8 Replies normally

OpenBSD 5.4 ICMPv6 Erroneous hdr field

Solaris 11.1 Replies normally

Mathias Morbitzer Remote OS detection with IPv6 61/80

Page 62: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Os detection with firewalls

NDP still works :)

Mathias Morbitzer Remote OS detection with IPv6 62/80

Page 63: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Reminder: Responses to NS

System Answer

Windows XP SP3 Flags: Solicited, Override

ND Option: Destination LL Address

Linux 3.2.0 Flags: Solicited

Windows 8 Flags: Solicited, Override

ND Option: Destination LL Address

OpenBSD 5.4 Flags: Solicited

Solaris 11.1 Flags: Solicited, Override

ND Option: Destination LL Address

Mathias Morbitzer Remote OS detection with IPv6 63/80

Page 64: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

OS detection with firewalls

NDP still works :)→ no unique identification possible

Rest does not :(

Fragmentation of NDP?→ Computer says no!(RFC 6980: Security Implications of IPv6 Fragmentation with IPv6ND)

Approach for targets in other networks?

Mathias Morbitzer Remote OS detection with IPv6 64/80

Page 65: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

The solution: Time exceeded messages

Mathias Morbitzer Remote OS detection with IPv6 65/80

Page 66: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

The solution: Time exceeded messages

Mathias Morbitzer Remote OS detection with IPv6 65/80

Page 67: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

The solution: Time exceeded messages

Mathias Morbitzer Remote OS detection with IPv6 65/80

Page 68: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

We have an answer!

HL allows differentiation between

WindowsLinuxOpenBSDSolaris

No differentiation between different versions

Why not try to force the FH in the reply?

Mathias Morbitzer Remote OS detection with IPv6 66/80

Page 69: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Reminder: Fragmentation in IPv6

Mathias Morbitzer Remote OS detection with IPv6 67/80

Page 70: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Get the FH into ICMPv6 time exceeded

So we can manipulate another host’s Path MTU!

Minimum IPv6 MTU is 1280→ create a time exceeded message > 1280 byte

Mathias Morbitzer Remote OS detection with IPv6 68/80

Page 71: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

ICMPv6 time exceeded message

Mathias Morbitzer Remote OS detection with IPv6 69/80

Page 72: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Get the FH into ICMPv6 time exceeded

So we can manipulate another host’s Path MTU!

Minimum IPv6 MTU is 1280→ create a time exceeded message > 1280 byte

ICMPv6 will not be fragmented

Mathias Morbitzer Remote OS detection with IPv6 70/80

Page 73: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Get the FH into ICMPv6 time exceeded

So we can manipulate another host’s Path MTU!

Minimum IPv6 MTU is 1280→ create a time exceeded message > 1280 byte

ICMPv6 will not be fragmented

Let’s have a look at RFC 1981

Mathias Morbitzer Remote OS detection with IPv6 71/80

Page 74: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Get the FH into ICMPv6 time exceeded

When a node receives a Packet Too Big message, it MUSTreduce its estimate of the PMTU for the relevant path, based onthe value of the MTU field in the message

A node MUST NOT reduce its estimate of the Path MTU belowthe IPv6 minimum link MTU. Note: A node may receive aPacket Too Big message reporting a next-hop MTU that is lessthan the IPv6 minimum link MTU. In that case, the node is notrequired to reduce the size of subsequent packets sent on thepath to less than the IPv6 minimum link MTU, but rather mustinclude a Fragment header in those packets

(RFC 1981, Path MTU Discovery for IP version 6)

AKA “atomic fragments”, credits to Fernando Gont

Mathias Morbitzer Remote OS detection with IPv6 72/80

Page 75: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Get the FH into ICMPv6 time exceeded

Mathias Morbitzer Remote OS detection with IPv6 73/80

Page 76: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Get the FH into ICMPv6 time exceeded

Mathias Morbitzer Remote OS detection with IPv6 74/80

Page 77: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Now we have a FH with an ID!

# System Assignment of Identification

1 Android 4.1 (Linux 3.0.15) Per host, incremental2 FreeBSD 7.4 Random3 FreeBSD 9.1 Random4 iOS 6.1.2 Random5 Linux 2.6.32 Per host, incremental6 Linux 3.2 Per host, incremental7 Linux 3.8 Per host, incremental8 OpenBSD 4.6 Random9 OpenBSD 5.2 Random10 OS X 10.6.7 Global, incremental11 OS X 10.8.3 Random12 Solaris 11 Per host, incremental13 Windows Server 2003 R2 Standard 64bit, SP2 Global, incremental14 Windows Server 2008 Standard 32bit, SP1 Global, incremental15 Windows Server 2008 R2 Standard 64bit, SP1 Global, incremental by 216 Windows Server 2012 Standard 64bit Global, incremental by 217 Windows XP Professional 32bit, SP3 Global, incremental18 Windows Vista Business 64bit, SP1 Global, incremental19 Windows 7 Home Premium 32bit, SP1 Global, incremental by 220 Windows 7 Ultimate 32bit, SP1 Global, incremental by 221 Windows 8 Enterprise 32 bit Global, incremental by 2

Mathias Morbitzer Remote OS detection with IPv6 75/80

Page 78: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Differentiation between per host and global assignmentstill possible

Mathias Morbitzer Remote OS detection with IPv6 76/80

Page 79: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Acceptance of PTB messages without prev. traffic

System Answer

Windows XP SP3 Yes

Linux 3.2.0 Yes

Windows 8 No

OpenBSD 5.4 Yes

Solaris 11.1 Yes

Mathias Morbitzer Remote OS detection with IPv6 77/80

Page 80: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

Funny stuff with PTB and PMTU < 1280

Linux 2.6.32: No packets sent on route

Linux 3.0.15 & Linux 3.2: Calculate wrong TCP checksum

OS X 10.6.7: PTB with PMTU < 1280 is dropped

Mathias Morbitzer Remote OS detection with IPv6 78/80

Page 81: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

The problemOn the way to the solutionThe solution

This is becoming pretty accurate# System Assignment of Identification

1 Android 4.1 (Linux 3.0.15) Per host, incremental (1)2 FreeBSD 7.4 Random3 FreeBSD 9.1 Random4 iOS 6.1.2 Random5 Linux 2.6.32 Per host, incremental (2)6 Linux 3.2 Per host, incremental (1)7 Linux 3.8 Per host, incremental8 OpenBSD 4.6 Random9 OpenBSD 5.2 Random10 OS X 10.6.7 Global, incremental (3)11 OS X 10.8.3 Random12 Solaris 11 Per host, incremental13 Windows Server 2003 R2 Standard 64bit, SP2 Global, incremental14 Windows Server 2008 Standard 32bit, SP1 Global, incremental15 Windows Server 2008 R2 Standard 64bit, SP1 Global, incremental by 216 Windows Server 2012 Standard 64bit Global, incremental by 217 Windows XP Professional 32bit, SP3 Global, incremental18 Windows Vista Business 64bit, SP1 Global, incremental19 Windows 7 Home Premium 32bit, SP1 Global, incremental by 220 Windows 7 Ultimate 32bit, SP1 Global, incremental by 221 Windows 8 Enterprise 32 bit Global, incremental by 2 (4)

(1) Hosts calculates wrong TCP checksum for routes with PMTU <1280(2) PMTU <1280 results in DoS(3) Does not accept PMTU <1280(4) Requires previous too big message piggybagged in ICMPv6 PTB(Not tested with all systems)

Mathias Morbitzer Remote OS detection with IPv6 79/80

Page 82: Remote OS detection with IPv6 - Troopers IT-Security ... Nmap does so far ... Flags are all 0 Only if target on the same subnet ... Mathias Morbitzer Remote OS detection with IPv6

IntroductionOS detection without firewalls

OS detection with firewallsConclusion

Conclusion

A lot of new possibilities for OS detection in IPv6Can be combined with others (TCP, ...)

More to discover (like Inverse NS)

Also firewalls can’t stop us

OpenBSD always behaves different ;)

Mathias Morbitzer Remote OS detection with IPv6 80/80