Донецкий техникум промышленной автоматики

Детектування найпростіших атак на Wi-Fi мережі за допомогою Wireshark

Wireshark і інші подібні продукти можуть використовуватися для швидкого виявлення атак, пов'язаних зі спамом мереж

Автор: Kody

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

Як зловмисники-дилетанти наводять перешкоди в мережі

У більшості DOS-атак застосовуються нехитрі прийоми і експлуатуються добре відомі уразливості, існуючі в мережах, де використовується технологія WPA. Оскільки пакети, використовувані пристроями для управління з'єднаннями, не зашифровані, зловмисник легко може сформувати підроблені пакети після сніффінга прилеглих бездротових каналів. Утиліти для реалізації подібного роду завдань безкоштовні, широко поширені і добре задокументовані. Навіть користувач, погано підкований технічно, може скористатися цими інструментами.

Найбільш популярні інструменти, як, наприклад, Aireplay-ng або MDK3, дозволяють закидати цільову систему пакетами для скасування аутентифікації або розриву з'єднання, які будуть виглядати легітимно і порушувати стабільність роботи мережі. Для вирішення цього завдання досить мати бездротової мережевий адаптер, що підтримує режим моніторингу. Найпростіша команда дозволяє вивести з ладу цілий канал, на базі якого функціонують кілька мереж, аж до блокування, без спеціального обладнання.

https://www.youtube.com/watch?v=HYwsJJuAYqc

Детектування поширених DOS-атак на Wi-Fi мережі

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

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

Використання Wireshark для сніффінга пакетів

У цьому прикладі ми будемо використовувати Wireshark для детектування атак, пов'язаних з внесенням перешкод в Wi-Fi мережу. Так як Wireshark видає занадто багато інформації, нам знадобляться фільтри. Як показано на малюнку нижче, навіть з використанням кольорового підсвічування видно, що по Wi-Fi каналу передається величезна кількість даних.

Малюнок 1: Приклад використання Wireshark

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

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

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

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

По-третє, в Wireshark передбачені екранні фільтри, за допомогою яких можна задавати різні критерії для відображення перехоплених пакетів.

Налаштування тестового середовища

Wireshark є фантастичним інструментом, оскільки розробники приділяють багато часу підтримки цього продукту. Ця утиліта доступна для Window, macOS і Linux і вміє перехоплювати різні типи пакетів. Ми будемо Снифф Wi-Fi пакети, але Wireshark також можна використовувати для перехоплення Bluetooth- і Ethernet-пакетів.

Всі маніпуляції я виконуватимуть в Kali Linux, оскільки в цій ОС можна легко поміняти канал для сканування вашої карти за допомогою утиліт кшталт Airodump-ng. Kali Linux можна запустити на віртуальній машині або завантажувального USB-флешки. Хоча ви можете використовувати будь-яку іншу операційну систему.

Детектувати атаки на Wi-Fi мережу можна і без перемикання карти в режим моніторингу, проте, використовуючи карти, які підтримують цей режим, ви побачите набагато більше пакетів. Багато бездротові карти підтримуються в Wireshark, так що можете спробувати ту, якої користуйтеся зараз, замість установки окремого адаптера.

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

Крок 1: Налаштування мережевої карти

Спочатку потрібно налаштувати в бездротової карті правильний канал для моніторингу. У Kali Linux ці маніпуляції, після з'ясування імені мережевого інтерфейсу, запустивши ifconfig або ip a, виконуються за допомогою наступних команд:

airmon-ng start NameOfYourWirelessCard airodump-ng NameOfNetworkAdapter

Якщо ви не впевнені, який канал вам потрібен, Airodump-ng буде перемикати карту між різними каналами для повноцінного сканування. Однак в цьому випадку безліч пакетів буде «фрагментировано», оскільки карта буде перемикатися між різними мережами, і краще все ж вказати конкретний канал.

Airodump-ng відобразить всі мережі, які побачить. Якщо ви хочете вказати конкретний канал, натисніть Ctrl-C для припинення виконання команди і додайте опцію -c ItsChannelNumber в кінець попередньої команди, щоб прикріпити картку до потрібного каналу.

Тепер наша карта закріплена за правильним каналом і сканує в режимі моніторингу. Відкриваємо Wireshark і починаємо застосовувати різні фільтри для аналізу.

Крок 2: Налаштування фільтрів в Wireshark

При першому запуску Wireshark ви побачите меню, показане на малюнку нижче. Виберіть адаптер, який буде використовуватися для перехоплення. У нашому прикладі буде використовуватися en0. Потім ви побачите область, позначену як «Capture», де можна налаштувати фільтри.

Малюнок 2: Перелік доступних інтерфейсів

Ми будемо використовувати наступний фільтр, щоб відсіяти непотрібні пакети:

wlan type data or wlan type mgt and (subtype deauth or subtype disassoc)

Цей фільтр вказує, що нам потрібні тільки бездротові LAN-пакети, які використовуються для передачі інформації або управління. Крім того, нам потрібні тільки пакети для скасування аутентифікації або розриву з'єднання. Ви можете погратися зі своїми власними фільтрами. Щоб подивитися доступні фільтри, клікніть на зелену іконку поруч з полем введення.

Щоб подивитися доступні фільтри, клікніть на зелену іконку поруч з полем введення

Малюнок 3: Додавання фільтра

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

Крок 3: Підсвічування різних типів пакетів

Оскільки ми шукаємо два типи пакетів, потрібно налаштувати два правила для колірного підсвічування. В іншому випадку буде складно розібратися в міру швидкого появи пакетів. В меню клікніть на розділ «View» і в випадаючому списку виберіть «Coloring Rules».

Малюнок 4: Розділ меню для настройки правил колірного підсвічування

З'явиться список правил. Ви можете створити свій власний правило, натиснувши кнопку (+) в лівому нижньому кутку. Тут ви можете вказати вміст і ім'я фільтра.

Щоб поміняти кольори, клікніть на кнопку «Foreground» або «Background». Для підсвічування потрібних пакетів я використовував помаранчеву кнопку.

Малюнок 5: Налаштування колірних фільтрів

У нашому прикладі пакети даних будуть підсвічені зеленим, пакети для скасування аутентифікації - червоним, для розриву з'єднання - жовтим. Нижче показані налаштування цих фільтрів:

Data flow - data Deauth: Airmon or MDK3 - wlan.fc.type_subtype == 0x00c Disassoc: Airmon or MDK3 - wlan.fc.type_subtype == 0x00a

За допомогою вищевказаних фільтрів ми зможемо розділити шукані пакети по типу.

За допомогою вищевказаних фільтрів ми зможемо розділити шукані пакети по типу

Малюнок 6: Список колірних фільтрів

Після завершення налаштувань відзначаємо вибрані фільтри і натискаємо OK для збереження змін.

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

data || wlan.fc.type_subtype == 0x00c || wlan.fc.type_subtype == 0x00a

Після введення фільтра натискаємо Enter для підсвічування потрібної інформації.

Після введення фільтра натискаємо Enter для підсвічування потрібної інформації

Малюнок 7: Маркування пакетів за типами

Крок 4: Класифікація схем роботи найбільш поширених утиліт

Тепер настав час приступити до тестування. За допомогою утиліт Aireplay-ng і MDK3 починаємо впливати на цільову Wi-Fi мережу і оцінювати результати. На базі інформації, яка відображається в Wireshark, ви повинні помітити два типи патернів, які відповідають використовуваним утилітам.

· Aireplay-ng: при використанні Aireplay-ng ви повинні побачити виключно жовті рядки, пов'язані з пакетами для скасування аутентифікації. Це єдина схема, реалізована через Aireplay-ng. Ви можете налаштувати кількість пакетів для відправки, а потім подивитися, скільки незмінних пакетів з'явиться в Wireshark.

Малюнок 8: Перехоплені пакети, що відсилаються через Aireplay-ng

· MDK3: Суміш помаранчевих і жовтих рядків може свідчити про використання утиліти MDK3, коли відсилаються пакети на скасування аутентифікації і призвести до втрати з'єднання. Крім того, перестануть з'являтися пакети даних, підсвічені зеленим, в слідстві великої кількості спаму.

Крім того, перестануть з'являтися пакети даних, підсвічені зеленим, в слідстві великої кількості спаму

Малюнок 9: Перехоплені пакети, що відсилаються через MDK3

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

Крок 5: Налаштування інших фільтрів

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

Щоб побачити більш детальну інформацію про пакет, на нижній панелі клацніть на стрілку вниз. Якщо ви, наприклад, хочете залишити тільки цей тип пакетів, клікніть правою кнопкою миші на потрібному рядку, виберіть «Apply as Filter», а потім «Selected».

Якщо ви, наприклад, хочете залишити тільки цей тип пакетів, клікніть правою кнопкою миші на потрібному рядку, виберіть «Apply as Filter», а потім «Selected»

Малюнок 10: Швидка настройка фільтра по типу пакета

Так само легко ви можете налаштувати колірні фільтри.

Наприклад, якщо потрібно відфільтрувати передачу пакетів від або на певний MAC адресу. Цей трюк корисний, щоб уточнити екранний фільтр по конкретному пристрою. Для доопрацювання фільтра в кінці додайте дві вертикальні риси ||, які означають «АБО», і нову умову.

Для створення більш тонких фільтрів ви можете додавати вираз &&, що означає «І», або, наприклад, замінити вираз == на! =, Що означає «не дорівнює», щоб відфільтрувати все, що не відповідає потрібному значенню.

висновок

Wireshark і інші подібні продукти можуть використовуватися для швидкого виявлення атак, пов'язаних зі спамом мереж. Оскільки інструменти для виявлення і локалізації джерела перешкод широко доступні, початківці хакери, які використовують MDK3 і Aireplay-ng, легко можуть бути виявлені аж до додатків, які застосовуються при реалізації атаки. Подібний рівень інформаційної обізнаності надзвичайно корисний для розробки автоматичних комплексів для виявлення і усунення загрози. З іншого боку, хакерам також корисно мати на увазі, що відбувається на стороні цільової системи.

Уразливості в Wi-Fi мережах, пов'язаних з незахищеними фреймами управління, будуть багато в чому усунуті в новому стандарті WPA3, проте вже зараз не варто чекати біля моря погоди і почати вживати превентивних заходів для захисту. Захищені керуючі фрейми деякий час були доступні в стандарті 802.11w, проте в більшості пристроїв відключені за замовчуванням. Якщо ви зацікавлені в захисті від подібного роду атак, вам слід розібратися, як включити захищені керуючі фрейми в налаштуваннях вашого роутера.

Сподіваюся вам сподобалося це керівництво. З будь-яких питань ви завжди можете зв'язатися зі мною в Твіттері @KodyKinzie .

Com/watch?