28Aug
Saviez-vous que vous pouvez savoir quel système d'exploitation un périphérique en réseau est en train d'exécuter simplement en regardant la façon dont il communique sur le réseau? Jetons un coup d'oeil à la façon dont nous pouvons découvrir quel système d'exploitation nos appareils sont en cours d'exécution.
Pourquoi le feriez-vous?
La détermination du système d'exploitation d'une machine ou d'un périphérique peut être utile pour de nombreuses raisons. Jetons d'abord un coup d'œil à une perspective quotidienne, imaginons que vous voulez passer à un nouveau fournisseur d'accès Internet qui offre un accès Internet non branché pour 50 $ par mois afin que vous preniez un essai de leur service. En utilisant les empreintes digitales du système d'exploitation, vous découvrirez bientôt qu'ils ont des routeurs de déchet et offrent un service PPPoE offert sur un tas de machines Windows Server 2003.Ça ne ressemble plus à une bonne affaire, hein?
Une autre utilisation pour cela, bien que pas très éthique, est le fait que les trous de sécurité sont spécifiques au système d'exploitation. Par exemple, si vous effectuez une analyse de port et que le port 53 est ouvert et que la machine exécute une version obsolète et vulnérable de Bind, vous avez une chance unique d'exploiter le trou de sécurité car une tentative échouée entraînerait le crash du démon.
Comment fonctionnent les empreintes digitales OS?
Lorsque vous effectuez une analyse passive du trafic actuel ou que vous observez d'anciennes captures de paquets, l'une des méthodes les plus simples et les plus efficaces consiste à regarder simplement la taille de la fenêtre TCP et le temps de vie( TTL) dans l'en-tête IP.premier paquet dans une session TCP.
Voici les valeurs pour les systèmes d'exploitation les plus populaires: Système d'exploitation
Temps de vie | Taille de fenêtre TCP | |
Linux( Kernel 2.4 et 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista et 7( Server 2008) | 128 | 8192 |
iOS12.4( Cisco Routers) | 255 | 4128 |
La principale raison pour laquelle les systèmes d'exploitation ont des valeurs différentes est due au fait que les RFC pour TCP / IP ne stipulent pas de valeurs par défaut. Une autre chose importante à retenir est que la valeur TTL ne correspondra pas toujours à une valeur dans la table, même si votre périphérique exécute l'un des systèmes d'exploitation listés, vous voyez quand vous envoyez un paquet IP sur le réseau.définit le TTL à TTL par défaut pour ce système d'exploitation, mais lorsque le paquet traverse les routeurs, le TTL est abaissé de 1. Par conséquent, si vous voyez un TTL de 117 cela peut être un paquet envoyé avec un TTL de 128 eta traversé 11 routeurs avant d'être capturé.
L'utilisation de tshark.exe est le moyen le plus facile de voir les valeurs. Une fois que vous avez une capture de paquets, assurez-vous que Wireshark est installé, puis naviguez jusqu'à:
C: \ Program Files \
Maintenant maintenez le bouton Maj enfoncé et faites un clic droitdans le dossier wireshark et sélectionnez ouvrir la fenêtre de commande ici à partir du menu contextuel
Maintenant, tapez:
tshark -r "C: \ Utilisateurs \ Taylor Gibb \ Bureau \ blah.pcap" "tcp.flags.syn eq 1" -T champs -e ip.src -e ip.ttl -e tcp.window_size
Assurez-vous de remplacer "C: \ Utilisateurs \ Taylor Gibb \ Desktop \ blah.pcap" par le chemin absolu de votre capture de paquets. Une fois que vous frappez, vous verrez tous les paquets SYN de votre capture un format de table plus facile à lire
Maintenant, c'est une capture de paquet aléatoire que je fais de me connecter au How-To Geek Website, parmi tous les autres bavardages WindowsJe peux vous dire deux choses à coup sûr:
- Mon réseau local est 192.168.0.0/24
- Je suis sur une boîte Windows 7
Si vous regardez la première ligne de la table, vous verrez que je ne mens pas, mon adresse IP est192.168.0.84 mon TTL est 128 et ma taille de fenêtre TCP est 8192, ce qui correspond aux valeurs pour Windows 7.
La prochaine chose que je vois est une adresse 74.125.233.24 avec un TTL de 44 et une taille de fenêtre TCP de 5720,si je regarde ma table, il n'y a pas de système d'exploitation avec un TTL de 44, cependant, il est dit que les serveurs de Linux que les serveurs de Google utilisent ont une taille de fenêtre TCP 5720. Après une recherche rapide sur le web, vous verrezen fait, un serveur Google.
Quoi d'autre utilisez-vous tshark.exe, dites-nous dans les commentaires.