+ All Categories
Home > Documents > Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State...

Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State...

Date post: 01-Apr-2015
Category:
Upload: clayton-grimble
View: 222 times
Download: 3 times
Share this document with a friend
Popular Tags:
39
Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University
Transcript
Page 1: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Using DHCP for Passive OS Identification

David LaPorteHarvard University

Eric KollmannBoise State University

Page 2: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Who We Are

• David LaPorte– Network Security Manager

Harvard University Network and Server Systems– Co-developer of PacketFence, an open-source

NAC solution

• Eric Kollmann– Systems Engineer, Boise State University– Developer of Satori, a Windows-based passive OS

fingerprinting tool

Page 3: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Types of OS Fingerprinting

• Active– Port interrogation

• nmap

• Passive– traffic analysis

• P0f• DHCP fingerprinting

Page 4: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Why DHCP is Unique

• Broadcast protocol– Totally passive collection

• Most networks come with a built-in probe– DHCP relay agents!

• Extremely accurate

Page 5: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

DHCP Primer

• Dynamic Host Configuration Protocol• Entirely client-driven (currently)• Main types of packets

– DHCP Discover– DHCP Offer– DHCP Request– DHCP Acknowledgement– DHCP Information– DHCP Release

Page 6: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

DHCP Primer, contd.

• Relevant RFCs– RFC 1541

– RFC 2131 • Added DHCPINFORM, extended vendor classes

– RFC 2132 • Vendor Extensions

– RFC 4361• Option 61 updates

– RFC 4578• PXE Boot Information

Page 7: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

DHCP Primer, contd. Server Client Server (not selected) (selected)

v v v | | | | Begins initialization | | | | | _____________/|\____________ | |/DHCPDISCOVER | DHCPDISCOVER \| | | | Determines | Determines configuration | configuration |\ | | | \ | ____________/| | \________ | /DHCPOFFER | | DHCPOFFER\ |/ | | \ | | | Collects replies | | \| | | Selects configuration | | | | | _____________/|\____________ | |/ DHCPREQUEST | DHCPREQUEST\ | | | | | | Commits configuration | | | | | _____________/| | |/ DHCPACK | | | | | Initialization complete | | | | . . . . . . | | | | Graceful shutdown | | | | | |\ ____________ | | | DHCPRELEASE \| | | | | | Discards lease | | | v v v

Page 8: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Which ones are useful

• Discover, Request, Information– All will help you identify the client OS, some are

more useful than others

• Offer – Useful in a SOHO environment

• Release – Seen on a graceful shutdown on some OS's

Page 9: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Fingerprinting the hard way

• When there is no DHCP Server responding– DHCP retransmission timing

• How long does each OS wait between DHCP Discover packets before it sends another one

• RFC's state they should wait 4, 8, 16, 32, up to 64, all +/- 1 second

• RFC's also state that the seconds field should not be set to a constant value

Page 10: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Fingerprinting the hard way, contd.

• Seconds Elapsed Field

Page 11: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Fingerprinting the hard way, contd.

• What it should look like– RFC's state they should wait 4, 8, 16, 32, up to 64,

all +/- 1 second

Page 12: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Fingerprinting the hard way, contd.

• Problem 1 – Incorrect time difference• Problem 2 – Incorrect use of 'secs' field

– 1 Second does not = 256

Page 13: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Fingerprinting the hard way, contd.

• Seconds Elapsed Field set to a constant– RFC's state that the seconds field should not be set

to a constant value

Page 14: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Fingerprinting the hard way, contd.

• Two overlapping attempts at the same time

Page 15: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

IP TTL on DHCP Packets

TTL 255Mac OS X

TTL 128MS Windows >95

TTL 64Linux Group 2

TTL 32MS Windows 95TTL 16Linux Group 1

•Provides a rough guide to OS

Page 16: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

More with TTL and DHCP

• Typically, no guessing required

Page 17: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Issues with TTL with DHCP

• DHCP Relay– Some Cisco devices will change the TTL to 255– Some HP devices will leave the TTL field alone

Page 18: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Fingerprinting the easy way

• Using DHCP Options– All of the options– Option 55 (requested parameter list)– Option 60 (vendor id)– Option 61 (client id)– Option 77 (user class information)– Option 82 (relay agent information)– Option 93 (client system architecture)

Page 19: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

All of the Options

• Of limited use, but may get us to the “family” of the OS. – 53, 61, 50, 54, 12,

55, 43

Page 20: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

All of the Options, contd.

• Still can't be ruled out– Some systems will not provide you with other

options that you want • Windows 95 Discover

– Note that hostname below is what we put in, the OS isn't nice enough to tell us this!

Page 21: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 55 - requested parameter list

• The easiest and most accurate way to identify a machine

Page 22: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 55, contd.

• Number and order of requested parameters forms a fingerprint– eg.,

1,15,3,6,44,46,47,31,33,249,431,15,3,6,44,46,47,31,33,249,43,2521,15,3,6,44,46,47,31,33,249,43,252,1215,3,6,44,46,47,31,33,249,4315,3,6,44,46,47,31,33,249,43,25215,3,6,44,46,47,31,33,249,43,252,1228,2,3,15,6,12,44,47

MS Windows XP

Apple iPhone1,3,6,15,119,78,79,95,2521,3,6,15,119,95,252,44,46,47

Page 23: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 60 - vendor id

• Vendor ID– May be quite specific or very generic– May even be misleading

Page 24: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 60, contd.

Page 25: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 60, contd.

• Cisco VOIP devices– Generic

• Cisco Systems, Inc. IP Phone– Specific

• Cisco Systems, Inc. IP Phone 7905• Cisco Systems, Inc. IP Phone 7912• Cisco Systems, Inc. IP Phone CP-7960G

Page 26: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 60 (contd.)

• Some Linux distributions make it easy!

Page 27: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 61 - client id

• Client Identifier– In most cases this will just be the MAC of the

device, but, if you want to identify a MS RRAS server

Page 28: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 77 - user class information

• User Class Information– Be careful with this one, it is user-defined!– If you need to identify MS RRAS…

Page 29: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 93 – client system architecture

• PXE boot• Determine the underlying hardware

9 EFI x86-644 Arc x86

8 EFI Xscale3 DEC Alpha

7 EFI BC2 EFI Itanium

6 EFI IA321 NEC/PC98

5 Intel Lean Client0 Intel x86PC

Page 30: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Option 82 - relay agent information

• RFC 3046, DHCP Relay Agent Information Option– Compatible devices “tag” DHCP packet with

additional information• What is included is varies by vendor• Exposes information about client or switch

– eg. Cisco provides port, vlan, and switch data. Data format is model-dependent

Code Len Agent Information Field+------+------+------+------+------+------+--...-+------+| 82 | N | i1 | i2 | i3 | i4 | | iN |+------+------+------+------+------+------+--...-+------+

SubOpt Len Sub-option Value+------+------+------+------+------+------+--...-+------+| 1 | N | s1 | s2 | s3 | s4 | | sN |+------+------+------+------+------+------+--...-+------+

DHCP Agent Sub-Option DescriptionSub-option Code--------------- ----------------------1 Agent Circuit ID Sub-option2 Agent Remote ID Sub-option

Page 31: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Use Cases

• Targeted identification or enumeration• System Inventory• NAC integration to enforce OS-based policy

– PacketFence– Cisco NAC Appliance

Page 32: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Mitigation Strategies

• Modify default DHCP client• Keep IP segments as small as is reasonable

– /24 segment = 254 hosts– /20 segment = 4094 hosts

Page 33: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Repository

• Submit, search, and export DHCP fingerprints– 169+ fingerprints collected– eg., gaming consoles, DVRs, VoIP phones

http://www.fingerbank.org

Page 34: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Additional Links

• Satori & DHCP Fingerprinting Whitepaper– http://myweb.cableone.net/xnih

• PacketFence (and WRT54G tool)– http://www.packetfence.org

• Next Generation DHCP (SysAdmin, 02/2005)– http://insipid.com/NGDHCP.pdf

Page 35: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Related Publications

• 'New scheme for passive OS fingerprinting using DHCP message’– Joho Shori Gakkai Kenkyu Hokoku, 02/2003

• 'Next Generation DHCP Deployments’– SysAdmin Magazine, 02/2005

Page 36: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Other Implementations

• RINGS project• RogueScanner (Network Chemistry)• DHCPListener• Dhcprint• Beacon (Great Bay)

Page 37: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Summary

• DHCP is an accurate and overlooked source of fingerprinting data

• Multiple methods available– Option 55, most reliable – Option 60, easiest (when accurate)

• Many potential applications– NAC– Asset inventory

Page 38: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Demo

Page 39: Using DHCP for Passive OS Identification David LaPorte Harvard University Eric Kollmann Boise State University.

Recommended