Головна » як » Hacker Geek ОС відбитків пальців з TTL і TCP вікна розмірів

    Hacker Geek ОС відбитків пальців з TTL і TCP вікна розмірів

    Чи знаєте ви, що ви можете дізнатися, яку операційну систему працює мережевий пристрій, просто подивившись, як він спілкується в мережі? Давайте подивимося, як ми можемо виявити, яку операційну систему працюють наші пристрої.

    Чому ви це робите?

    Визначення того, яку ОС працює машина або пристрій, може бути корисним з багатьох причин. Спочатку давайте подивимося на повсякденну перспективу, уявіть, що ви хочете переключитися на нового провайдера, який пропонує безроздільний інтернет за 50 доларів на місяць, щоб ви пробували їхнє обслуговування. Скориставшись ОС відбитків пальців, ви незабаром виявите, що вони мають маршрутизатори для сміття і пропонують послугу PPPoE, що пропонується на зв'язці машин Windows Server 2003. Не звучить як така гарна справа більше, huh?

    Ще одне використання для цього, хоча і не настільки етичне, полягає в тому, що отвори безпеки є специфічними для ОС. Наприклад, ви виконуєте сканування портів і знаходите порт 53 відкритим, і машина працює з застарілою і вразливою версією Bind, у вас є SINGLE шанс скористатися отвором безпеки, оскільки невдала спроба припинила роботу демона.

    Як працює ОС?

    При пасивному аналізі поточного трафіку або навіть при перегляді старих пакетних знімків, один з найпростіших, ефективних способів ведення ОС Fingerprinting - це просто перегляд розміру вікна TCP і Time To Live (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: Файли програм

    Тепер утримуйте кнопку shift і клацніть правою кнопкою миші на папці wireshark і виберіть у контекстному меню вікно відкриття команди

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

    tshark -r "C: Користувачі Тейлор Gibb Настільні blah.pcap" "tcp.flags.syn eq 1" -T поля -e ip.src -e ip.ttl -e tcp.window_size

    Переконайтеся, що замінили "C: Користувачі Тейлор Gibb Desktop blah.pcap" з абсолютним шляхом до захоплення пакета. Після натискання клавіші Enter ви побачите всі пакети SYN з вашого захоплення, легший для читання формат таблиці

    Тепер це випадкове захоплення пакетів, яке я зробив для мене підключенням до веб-сайту How-To Geek.

    • Моя локальна мережа 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.

    Що ще ви використовуєте для tshark.exe, повідомте нам у коментарях.