Le serveur DHCP peut-il déterminer le système d'exploitation du client? [fermé]


18

Le serveur DHCP peut-il déterminer le système d'exploitation client?

Je travaille sur un outil de surveillance des passerelles sur les réseaux locaux basé sur le Web et j'aimerais pouvoir en quelque sorte déterminer quel système d'exploitation un appareil sur le réseau exécute et il me semble que l'endroit le plus évident pour découvrir c'est à l'heure à laquelle une adresse IP est attribuée par le serveur DHCP.

À défaut, je sais comment filtrer le trafic sur le port 80 et extraire les informations d'en-tête HTML, mais cette méthode repose sur l'attente de l'appareil pour surfer sur le Web et donc moins souhaitable qu'une détection / résolution très précoce, en particulier. car tous les appareils ne seront pas utilisés pour naviguer sur Internet.

J'ai un contrôle complet sur la configuration de la passerelle - elle exécute une distribution Debian simplifiée, donc tous les autres outils qui feraient le travail - DHCP, DNS, ARP, etc., je suis ouvert aux suggestions!


Infoblox dispose d'un serveur DHCP qui effectuera les empreintes digitales du système d'exploitation.
some_guy_long_gone

Réponses:


15

Certains travaux ont été effectués pour déterminer les différences subtiles dans les paquets DHCP de différents systèmes d'exploitation, entraînant des empreintes digitales DHCP. Les exemples incluent les options présentes dans la requête DHCP et leur ordre, et le contenu de certaines options comme l'option 55 (liste des paramètres).

Jetez un œil aux papiers et signatures sur fingerbank.org . Cela suggère (je ne l'ai pas testé moi-même) que les empreintes digitales du système d'exploitation passif basées sur le trafic DHCP peuvent être effectuées. Le résultat peut éventuellement être amélioré en incluant d'autres informations, comme les propriétés IP génériques (TTL, diffserv, ...).

L'empreinte digitale active peut fournir un meilleur résultat, mais peut ne pas être une option dans votre cas d'utilisation.

Le site Web de Fingerbank mentionne quelques produits open source qui utilisent les signatures. L'appliance DHCP propriétaire Infoblox semble inclure une fonctionnalité similaire, mais aucun détail technique n'est fourni.


3

Certains clients DHCP ne divulguent pas de manière fiable les informations du système d'exploitation au démarrage. Comme cela a été mentionné ci-dessus, il existe une certaine propriété intellectuelle associée à ces techniques; par exemple, Infoblox et Cisco ISE peuvent créer des profils de système d'exploitation client basés sur les paquets DHCP qu'ils voient. En fait, Cisco ISE inclut des algorithmes de classification de système d'exploitation assez sophistiqués, si vous pouvez lui envoyer plus de DHCP.

Alternativement, vous pouvez utiliser une heuristique comme le bogue endian de Windows dans le champ "secondes écoulées", mais s'appuyer sur un bogue du système d'exploitation est une mauvaise façon de gérer la détection du système d'exploitation.

Si vous devez vraiment détecter le système d'exploitation sans dispositif de fournisseur dédié, émettez simplement une adresse IP et scannez l'hôte avec NMAP après avoir envoyé le DHCP Ack. L'utilisation d'en-têtes HTTP n'est pas aussi fiable que nmap , car n'importe qui peut modifier la chaîne UserAgent s'il le souhaite. nmap n'est pas fiable à 100% pour la détection du système d'exploitation, mais il est à peu près aussi bon que vous le constaterez si vous devez choisir une seule méthode pour tout.

Je voudrais en faire une option configurable sur le serveur, car certaines personnes peuvent ne pas aimer une analyse nmap par défaut sur chaque hôte DHCP.

Exemple d' analyse du système d'exploitation nmap contre Windows7:

[mpenning@myhost ~]$ sudo nmap -O 10.1.1.1

Starting Nmap 5.51 ( http://nmap.org ) at 2013-08-24 16:20 CDT
Nmap scan report for 10.1.1.1
Host is up (0.00078s latency).
Not shown: 985 closed ports
PORT      STATE SERVICE
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds

Device type: general purpose
Running: Microsoft Windows Vista|2008|7
OS details: Microsoft Windows Vista SP0 - SP2, Server 2008, or Windows 7 Ultimate
Network Distance: 5 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.25 seconds
[mpenning@myhost ~]$

Merci d'avoir souligné les capacités d'empreinte digitale de nmap ... Son propre et fonctionne environ 50% du temps (5 ordinateurs sur 10 corrects sur mon réseau), mais ses analyses prennent de 25 secondes à 102 secondes pour chaque appareil. Cela m'a cependant aidé à mieux comprendre les empreintes digitales du système d'exploitation et en particulier. options passives qui semblent être mon meilleur pari.
Michael Lang

@MichaelLang Pour alléger la quantité de temps qu'il faut, exécutez nmap avec le -T5drapeau à accélérer les choses de façon drastique .
Ryan Foley

2

Dans le cadre du processus DHCP lui-même, je ne le pense pas. Cependant, vous pouvez gratter vos journaux dhcpd, surveiller les acks dhcp et en fonction de ceux-ci exécuter un processus externe comme nmap os fingerprinting pour voir si vous pouvez comprendre ce qui se cache derrière l'IP qui vient d'être attribuée.


2

La réponse exacte la plus courte est non. Vous avez déjà obtenu des réponses utiles nmap, mais si cela doit être via DHCP, de nombreux clients envoient leurs identificateurs de classe de fournisseur (option DHCP 60) dans leurs paquets de découverte afin que le serveur DHCP puisse fournir une offre avec des options spécifiques au fournisseur (option DHCP 43). Si vous exécutez tcpdump, jetez un œil aux paquets de découverte DHCP envoyés par les clients pour l'option 60, vous pouvez voir des trucs comme MSFT 5.0pour les clients Windows, généralement udhcpcpour les périphériques intégrés exécutant le client micro dhcp, etc. Gardez à l'esprit que ces informations ne sont pas très spécifiques car elles sont utilisées pour distinguer le client DHCP plutôt que le système d'exploitation.


1
En outre, un autre moyen utile de réduire au moins ce qu'un périphérique peut être sur le réseau est de rechercher son OUI en fonction de son adresse MAC sur le site Web de l'IEEE.
Michael Lang
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.