WindowsКак сделать

Компьютерщик Hacker: снятие отпечатков ОС с размерами окон TTL и TCP

sshot-1

Знаете ли вы, что вы можете узнать, в какой операционной системе работает сетевое устройство, просто взглянув на то, как оно взаимодействует в сети? Давайте посмотрим, как мы можем узнать, на какой операционной системе работают наши устройства.

Зачем ты это делаешь?

Определение операционной системы, на которой работает машина или устройство, может быть полезным по многим причинам. Сначала давайте взглянем на повседневную жизнь. Представьте, что вы хотите переключиться на нового интернет-провайдера, который предлагает безлимитный интернет за 50 долларов в месяц, чтобы вы могли попробовать их сервис. Используя дактилоскопию ОС, вы скоро обнаружите, что они имеют мусорные маршрутизаторы и предлагают услугу PPPoE, предлагаемую на множестве компьютеров с Windows Server 2003. Разве это не так уж хорошо, а?

Другое использование для этого, хотя и не столь этичного, — факт, что дыры в безопасности являются специфическими для ОС. Например, вы выполняете сканирование портов и обнаруживаете, что порт 53 открыт, и на компьютере установлена ​​устаревшая и уязвимая версия Bind, у вас есть ОДИН шанс получить возможность использовать дыру в безопасности, поскольку неудачная попытка может привести к сбою демона.

Как работает фингерпринтинг ОС?

При пассивном анализе текущего трафика или даже при просмотре захвата старых пакетов один из самых простых и эффективных способов сделать отпечатки пальцев ОС — просто посмотреть на размер окна TCP и время жизни (TTL) в заголовке IP первого пакет в сеансе TCP.

Вот значения для более популярных операционных систем:

Операционная система Время жить Размер окна TCP
Linux (ядро 2.4 и 2.6) 64 5840
Google Linux 64 5720
FreeBSD 64 65535
Windows XP 128 65535
Windows Vista и 7 (Server 2008) 128 8192
iOS 12.4 (маршрутизаторы Cisco) 255 4128

Основная причина того, что операционные системы имеют разные значения, связана с тем, что в RFC для TCP / IP не предусмотрены значения по умолчанию. Другая важная вещь, которую следует помнить, это то, что значение TTL не всегда будет соответствовать одному в таблице, даже если ваше устройство работает под управлением одной из перечисленных операционных систем, вы видите, когда вы отправляете IP-пакет по сети, операционная система отправляющего устройства устанавливает TTL в значение TTL по умолчанию для этой ОС, но по мере прохождения пакетов маршрутизаторами TTL уменьшается на 1. Поэтому, если вы видите TTL 117, можно ожидать, что это будет пакет, который был отправлен с TTL 128 и прошел 11 роутеров, прежде чем был захвачен.

Использование tshark.exe — это самый простой способ увидеть значения, поэтому после получения пакета перехвата убедитесь, что у вас установлен Wireshark, и перейдите к:

C: \ Program Files \

Теперь, удерживая кнопку Shift, щелкните правой кнопкой мыши папку Wireshark и выберите здесь открыть командное окно из контекстного меню.

sshot-2

Теперь введите:

Как только вы нажмете Enter, вам будут показаны все пакеты SYN из вашего захвата в более удобном для чтения формате

image

Теперь это случайный захват пакетов, который я сделал, подключившись к сайту How-To Geek, и среди всего остального, что делает Windows, я могу точно сказать вам две вещи:

  • Моя локальная сеть 192.168.0.0/24
  • Я на Windows 7 коробке

Если вы посмотрите на первую строку таблицы, то увидите, что я не вру, мой IP-адрес — 192.168.0.84, мой TTL — 128, а размер окна TCP — 8192, что соответствует значениям для Windows 7.

Следующее, что я вижу, это адрес 74.125.233.24 с TTL 44 и размером окна TCP 5720. Если я посмотрю на мою таблицу, то не будет ОС с TTL 44, однако там будет сказано, что Linux — это серверы Google. Запустите окно TCP размером 5720. После быстрого поиска по IP-адресу в Интернете вы увидите, что это на самом деле сервер Google.

sshot-4

Для чего еще вы используете tshark.exe, сообщите нам в комментариях.

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone