Wireshark – докладний посібник з початку використання

01.06.2023 1 хвилин Автор: Cyber Witcher

Аналізуйте та Захищайте вашу Мережу з Wireshark

Wireshark – це безкоштовний і відкритий аналізатор мережевого трафіку, який дозволяє моніторити, захоплювати та аналізувати пакети даних, що передаються по комп’ютерній мережі. Він надає можливість детального розгляду мережевих протоколів, виявлення проблем у мережі, аналізу безпекових вразливостей і відлагодження мережевих проблем. Wireshark підтримує різноманітні мережеві інтерфейси і протоколи, і дозволяє користувачам отримати повну картину того, як дані пересилаються і взаємодіють в мережевому середовищі. Він є потужним інструментом для адміністраторів мережі, системних аналітиків, етичних хакерів та інших фахівців, які працюють з мережами і потребують детального аналізу мережевого трафіку.

Wireshark також надає можливість перегляду і розшифрування зашифрованого мережевого трафіку, включаючи SSL/TLS, SSH та інші протоколи шифрування. Це дозволяє аналізувати зміст пакетів, передаваних по захищених каналах зв’язку. Крім того, Wireshark підтримує фільтрацію пакетів, що дозволяє користувачам швидко знаходити та аналізувати потрібні дані. Цей інструмент також може бути використаний для відлагодження мережевих проблем, виявлення несправностей у налаштуванні мережі, а також для вивчення протоколів і дослідження мережевих аспектів програмного забезпечення. Загалом, Wireshark є потужним інструментом для аналізу мережевого трафіку, який допомагає зрозуміти, контролювати і вдосконалювати роботу мережевих систем. У цьому посібнику ми розглянемо основний функціонал програми Wireshark, співвіднесемо її з моделлю OSI, навчимося аналізувати мережевий трафік та убезпечимо своє перебування у глобальній мережі Інтернет.

Як встановити Wireshark?

Спочатку нам потрібно завантажити та встановити Wireshark. Оскільки програма випущена під ліцензією GNU GPL v2 (а це означає, що вона може вільно поширюватися), знайти будь-яку версію програми у відкритому доступі нескладно. У підручнику ми будемо використовувати функції зі старішої версії програми (1.12.3). Це пояснюється тим, що протокол SSL, який використовується в Розділі 6, безпосередньо інтегрований у цю версію.Установка старішої версії полегшує підготовку до роботи з програмою, тому ми вибираємо її. Ви можете знайти інсталятор на офіційному сайті .

Подальша установка програми проста – натискаємо “Next” – “Next” – “Next”.

Встановлення програми

Після успішного встановлення на Вашому робочому столі з’явиться ярлик Wireshark. Ми можемо починати розгляд функціоналу!

Ярлик програми на робочому столі

 Як користуватися програмою Wireshark?

Однією з головних можливостей програми є захоплення трафіку мережі. Тому спочатку необхідно навчитися захоплювати трафік Вашої мережі.

Запустимо програму! Нас відразу зустрічає стартове меню, на якому можна побачити доступні для захоплення інтерфейси комп’ютера, посібники від розробників програми та безліч інших цікавих речей.

Стартове меню

З усього цього нам необхідно звернути увагу на цю сферу програми.

Область захоплення трафіку мережного інтерфейсу

Тут потрібно вибрати той інтерфейс, через який Ви підключені до Інтернету.

Мережевий інтерфейс – це програмне забезпечення, яке взаємодіє з мережним драйвером та з рівнем IP. Він забезпечує рівню IP доступ до всіх наявних мережних адаптерів, трафік яких ми будемо перехоплювати. Найчастіше у програмі Wireshark можна зустріти мережний інтерфейс бездротової (Wi-Fi) та кабельний (Ethernet).

У посібнику використовується Wi-Fi, тому ми виконуємо захоплення “Бездротової мережі”, після чого натискаємо “Start”.

Якщо ви вибрали правильний інтерфейс, то зможете побачити наступне.

Огляд початку захоплення трафіку

Розглянемо докладніше це вікно за пунктами, вказаними на ньому:

  1. Панель фільтрів дозволяє знайти необхідну інформацію. Докладніше про неї розказано у п’ятому розділі керівництва.

  2. Панель найменувань, що поділяє інформацію з пункту 3 на номер, час від початку захоплення трафіку, джерело та адресат, а також протокол, розмір пакета і невелику інформацію про мережевий пакет.

  3. Панель пакетів оновлюється в реальному часі. Тут інформація про пакети розділена на стовпці, визначені на панелі найменувань.

  4. Панель рівнів, що описує рівні моделі OSI вибраного мережного пакета.

  5. Панель метаданих, що представляє дані у шістнадцятковому коді та символах.

Вітаємо! Ви успішно захопили трафік вашої мережі. Тепер можна побачити пакети даних, що проходять по мережі, а також деяку інформацію про них: адреси відправника та одержувача, протоколи та вміст пакета. Тепер можна розпочати аналіз мережевого трафіку.

 Як знайти приховану інформацію?

Перед початком аналізу трафіку необхідно мати базові знання протоколах мережевої моделі OSI. Достатньо прочитати статтю у Вікіпедії.

Багато програм для передачі інформації використовується протокол HTTP, який дозволяє отримувати різні ресурси з Інтернету і назад. Розглянемо один із пакетів, переданих за протоколом HTTP.

Огляд пакета HTTP
HTTP використовує запити GET (отримання даних) і POST (надсилання даних) для передачі даних. На зображенні в полі 1 ми бачимо IP-адресу одержувача (в даному випадку це адреса мого комп’ютера). У полі 2 ми знаємо, що антивірусний сервер надіслав запит GET, щоб отримати дані з мого комп’ютера. Це необхідно для коректного оновлення програми. А в полі 3 ми бачимо, як цей запит виглядає як URL (інтернет-посилання).

Невелике домашнє завдання!

Щоб закріпити матеріал, спробуйте проаналізувати будь-який пакет протоколу HTTP на Вашому комп’ютері та спробуйте пояснити, для чого він був відправлений.

Як з усіх пакетів знайти необхідні?

Під час виконання домашнього завдання у Вас могла виникнути проблема знаходження необхідного пакета. Для її вирішення у програмі Wireshark є рішення – фільтрація! У спеціальному полі Filter можна ввести необхідні команди або скористатися підказками.

Огляд поля “Filter”

Найчастіше використовується фільтрація за IP-адресами, за номерами порту та протоколами. Погляньмо, як це відбувається.

Фільтрування за IP-адресою дозволяє нам переглядати всі пакети, що надходять від кого-небудь або ті, що йдуть будь-кому. Наприклад, відберемо всі пакети, що надходять від IP-адреси 10.1.30.46 за допомогою введення у фільтрі «ip.src == xxxx».

Огляд “ip.src”

Також можна відфільтрувати трафік мережі IP-адресою одержувача пакетів за допомогою команди «ip.dst == xxxx».

Огляд “ip.dst”

Крім того, можна побачити пакети незалежно від напрямку трафіку за допомогою ip.addr == xxxx.

Огляд “ip.addr”

Для фільтрації за номером порту використовується .port = x після назви протоколу. Наприклад, для перегляду TCP-порту 80, який використовується для незашифрованого трафіку HTTP, використовуємо команду «TCPport == 80».

Огляд “tcp.port”

І, нарешті, для фільтрації трафіку за пакетами протоколів необхідно просто ввести назву протоколу.

Зверніть увагу, що фільтри можна комбінувати за допомогою логічних операторів І «and/&&», АБО «or/||» і НЕ “not/!”

Огляд логічних операторів

Знову домашнє завдання!

Щоб попрактикуватися у пошуку необхідної інформації, спробуйте подивитися кількість пакетів того чи іншого протоколу та подумайте, чому їх так багато.

Як перехопити дані, що передаються захищеними каналами зв’язку?

Розібравшись із основним функціоналом Wireshark, ми можемо приступити до більш складного та корисного.

Передача даних у глобальній мережі Інтернет є небезпечною, особливо якщо не захищати їх. У сучасних браузерах використовується протокол SSL/TLS, який шифрує інформацію та дозволяє безпечно передати її.

Іноді користувачеві або системному адміністратору необхідно перевірити трафік на наявність підозрілої активності або коректну роботу програми. Через це виникає потреба розшифровувати перехоплений захищений трафік.

Спочатку розберемося у тому, як працює протокол SSL/TLS. Перед обміном шифрованими даними використовується процес встановлення з’єднання, також званий рукостисканням .

На етапі рукостискання клієнт та сервер проходять автентифікацію (перевірку справжності), обмінюються інформацією про свої можливості і лише після цього починають узгодження загального сеансового ключа.

Для узгодження незахищеним каналом зв’язку існує безліч алгоритмів. Вибір походить зі списку алгоритмів, що підтримуються клієнтом, на початковій стадії рукостискання.

Найбільш поширеним алгоритмом обміну сеансовим ключем є RSA. Розглянемо інфографіку, яка описує механізм роботи алгоритму.

Алгоритм обміну сеансовим ключем RSA

Під час рукостискання клієнт генерує випадкове число, яке називається секретною монетою, і надсилає його, зашифроване відкритим ключем сервера. Потім обидві сторони перетворюють попередній секрет у головний секрет і генерують сеансовий ключ, який використовується для обміну додатковою інформацією.

Тепер спробуйте отримати захищену інформацію в програмі Wireshark. Виконайте підготовчі дії, а саме перевірте алгоритм узгодження сеансових ключів і налаштуйте браузер. Спочатку ми знаходимо рукостискання за допомогою фільтра, ввівши «ssl.handshake» і перевіряємо повідомлення від сервера.

Огляд команди “ssl.handshake”

У полі “Cipher Suite” ми можемо побачити“TLS_RSA”. Це означає, що ми можемо розпочинати подальші дії.

Налаштування браузера в операційній системі Windows досить просте. Відкриваємо властивості комп’ютера, потім «Додаткові параметри системи» та вибираємо «Змінні середовища…».

Налаштування браузера у Windows 10

Додаємо нову змінну користувача «SSKEYLOGFILE» і вказуємо шлях до файлу, куди ми ходимо його зберігати.

Розглянемо повідомлення у відповідь клієнта: воно містить зашифроване значення попереднього секрету поточної сесії.

Повідомлення клієнта у відповідь

Далі переходимо до налаштування програми Wireshark. Комбінацією клавіш “Ctrl + Shift + P” відкриваємо меню “Preferences”, потім розкриваємо гілку “Protocols” і вибираємо “SSL”.

Налаштування Wireshark
Перевіряємо встановлення необхідних полів, показаних на картинці, і тиснемо кнопку “Edit”. У вікні натискаємо на кнопку «New» і заповнюємо наступні поля: IP Address (IP-адреса SSL-сервера), Port (порт SSL-сервера), Protocol (протокол, що використовує шифрацію SSL. При невідомому вказувати data), Key File ( шлях до файлу із секретним ключем сервера, який ми вказували у Змінних середовищах) та Password (якщо секретний ключ захищений паролем).

Налаштування SSL у Wireshark

Тепер можна підтвердити налаштування та розпочати перегляд розшифрованого трафіку. Не забувайте використати фільтр!

Закріплення пройденого матеріалу!

Спробуйте самостійно підключитися до сервера будь-якого сайту та подивитися, якими пакетами обмінюється ваш комп’ютер із ним.

Які можливості дає захоплення захищеного трафіку?

Захоплення захищеного трафіку відкриває багато можливостей. Один з них полягає в перехопленні запитів HTTPS від користувачів, підключених до мережі. Давайте подивимося, як це буде зроблено, і які результати ми отримаємо.

Для початку повторюємо дії попереднього пункту, але в якості IP-адреси SSL-сервера вказуємо адресу запитуваної сторінки. Протокол передачі HTTP зазвичай використовується для передачі паролів. Ми говорили про методи, які використовуються в цьому розділі, у Розділі 4. Щоб використовувати метод фільтрації HTTP-трафіку, ви можете використати команду «http.request.method == «назва методу»». Оскільки ми хочемо перехопити дані, надіслані клієнтом на сервер, ми розглянемо запити POST. Для цього ми застосуємо фільтр “http.request.method ==”POST””.

Захоплення захищеного трафіку

Виконавши ці нескладні дії, ми отримали важливі дані іншого користувача. Тому слід пам’ятати, що загальнодоступні мережі є небезпечними і загрожують навіть захищеному трафіку.

Невелика практика!

Спробуйте захопити захищений трафік сервера електронної пошти та авторизуйтесь, використовуючи логін та пароль. Знайдіть запит POST і подивіться, що там знаходиться.

Швидше за все, важливі дані будуть зашифровані. У такий спосіб поштовий сервіс захищає Ваші дані, але ризик злому все одно залишається.

 Як можна співвіднести модель OSI та програму Wireshark?

Розглянувши весь функціонал програми Wireshark ми можемо співвіднести її з мережевою моделлю OSI. Але для початку слід згадати, що собою являє ця модель.

OSI – це набір мережевих протоколів, з якого різні мережеві пристрої взаємодіють друг з одним. Модель визначає сім рівнів взаємодії систем. Розглянемо таблицю рівнів моделі OSI.

Тепер співвіднесемо ці рівні з Wireshark. Розглянемо найпоширеніші під час аналізу трафіку протоколи, саме HTTP, TCP і ICMP.

Протокол HTTP у програмі Wireshark має 4 рівні за моделлю OSI, а саме прикладний (Hypertext Transfer Protocol), транспортний (TCP), мережевий (IPv4) та канальний (Ethernet II).

Огляд протоколу HTTP

Протокол TCP має 3 рівні за моделлю OSI, в які входять транспортний (TCP), мережевий (IPv4) та канальний (Ethernet II).

Огляд протоколу TCP

Протокол ICMP взагалі має лише 2 рівні за моделлю OSI: мережевий (IPv4) та канальний (Ethernet II).

Огляд протоколу ICMP

Загалом у програмі Wireshark визначається лише 5 рівнів моделі OSI: прикладний, транспортний, мережевий, канальний та фізичний. Залежно від протоколу можна побачити різні рівні.

Підбиття підсумків

Прочитавши цей посібник, ми навчилися аналізувати трафік і знаходити приховану інформацію, а також блокувати захищену інформацію. Для майбутніх фахівців з інформаційної безпеки це дуже важливі навички, які неодмінно стануть у нагоді в майбутньому та є основою для подальшого розвитку кар’єри.

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.