Шпаргалка MITM

1 травня 2023 5 хвилин Автор: Cyber Witcher

Атаки MITM і методи захисту від них

Однією з найстаріших і найнебезпечніших атак є атака типу Man-In-The-Middle (MITM). Дослівно це перекладається як «людина посередині», тобто коли хакер виступає в ролі посередника при передачі інформації. Цей тип атак є розповсюдженим та руйнівним. Суть атаки man-in-the-middle доволі проста: злочинець таємно перехоплює трафік з одного комп’ютера та відправляє його кінцевому одержувачу, попередньо прочитавши та змінивши на свою користь. Атаки MITM надають можливість робити такі дії як підміна криптовалютного гаманця для викрадення коштів, перенаправлення браузера на шкідливий веб-сайт або ж просто пасивний збір інформації з метою її подальшого злочинного використання. Найбільш очевидний спосіб, коли хтось може це зробити, коли ви користуєтесь незашифрованою, загальнодоступною мережею Wi-Fi, як у аеропортах чи кафе. MITM-атаки трапляються і на мережевому рівні.

Підробка DNS – подібний тип атаки. Інший підхід полягає у створенні шахрайської точки доступу або розташуванні комп’ютера між кінцевим користувачем та маршрутизатором або віддаленим сервером. На щастя, є способи, як можна захистити себе від MITM-атак. Основні, це не використовуйте загальнодоступні точки Wi-Fi та використовуйте VPN, який зашифрує весь трафік між Вашим комп’ютером та зовнішнім світом. Ми спробували зібрати всі відомі атаки MITM і методи захисту від цих атак. Тут також містяться інструменти для здійснення атак MITM, деякі цікаві випадки атак і деякі прийоми, пов’язані з ними. Майже всі інструменти атаки, описані тут, не мають сніфера. Він забезпечує лише атаку. Шпаргалка для пентестерів і оборонних команд про атаки «Людина посередині».

L2

Складність: низька. Актуальність: висока

Опис: Протокол розпізнавання адрес (ARP), розроблений для перетворення IP-адрес на MAC-адреси. Усі мережеві пристрої, яким потрібно спілкуватися в мережі, використовують широкомовні ARP-запити, щоб дізнатися MAC-адреси інших машин. Майже всі інструменти ARP-спуфінгу використовують безкоштовну відповідь ARP. Безкоштовна відповідь ARP – це відповідь без запиту ARP. Незважаючи на ефективність безкоштовного ARP, він особливо небезпечний, оскільки його можна використовувати, щоб переконати віддалений хост, що MAC-адреса системи в тій самій мережі змінилася і вказати, яка адреса використовується зараз.

Типовий приклад arp spoofing атаки

  1. Перед виконанням ARP-спуфінгу в таблицях ARP вузлів A і B є записи з IP- і MAC-адресами один одного. Інформація передається між вузлами A і B.

  2. Під час процесу ARP-спуфінгу комп’ютер С, який здійснює атаку, надсилає відповіді ARP (без отримання запитів = безкоштовний arp) =>

  3. Оскільки комп’ютери підтримують безкоштовний ARP, вони змінюють власні таблиці ARP і розміщують записи, де MAC-адреса комп’ютера C замість справжньої MAC-адреси комп’ютерів A і B.

Також є ймовірність успішної атаки іншим способом. Коли ви відстежуєте ARP-активність у сегменті мережі та раптом помічаєте arp-запит жертви, ви можете спробувати надіслати arp-відповідь жертві швидше, ніж адресату цього запиту. Деякі постачальники можуть прийняти цей трюк.

Інструменти атаки:

  1.  Arpspoof  -i eth0 -t 10.10.10.10

  2.  Intercepter-NG – Тепер його можна встановити в Linux

  3.  Bettercap -T 10.10.10.10 -X --httpd --proxy-https --proxy – Стара версія інструменту простіше, але є і новомодна, написана на Go. Примітка: Bettercap має чудовий сніфер всередині.

Виявлення атак

  1.  XArp – Arpwatch для Windows

  2.  remarp – Arpwatch через SNMP

  3.  arpwatch – Програма відстежує всю активність ARP на вибраних інтерфейсах. Коли він помічає аномалії, наприклад, зміну MAC-адреси під час збереження IP-адреси або навпаки, він повідомляє про це в системний журнал.

Запобігання нападам

Ручні таблиці ARP

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

Створення зашифрованих з’єднань

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

Створення VLAN на комутаторі

На комутаторі створюється мережа VLAN, яка містить лише сам комутатор і певний мережевий пристрій.

Латки

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

DAI

Динамічна перевірка ARP у системах Cisco допомагає запобігти атакам типу “людина посередині”, не пересилаючи недійсні або безпідставні відповіді ARP на інші порти тієї ж VLAN. Динамічна перевірка ARP перехоплює всі запити ARP і всі відповіді на ненадійних портах. Кожен перехоплений пакет перевіряється на дійсні прив’язки IP-до MAC за допомогою відстеження DHCP. Заборонені пакети ARP або відкидаються, або реєструються комутатором для аудиту, щоб зупинити атаки отруєння ARP. Вхідні ARP-пакети на довірених портах не перевіряються.

STP(RSTP, PVSTP, MSTP) spoofing

Складність: висока. Актуальність: середня

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

Інструменти атаки

  1.  Ettercap – Інструмент для Linux. Вам потрібно вибрати інтерфейси, потім торкнутися плагіна «stp mangier» і запустити його.

  2.  Yersinia -G – Yersinia має графічний інтерфейс та інтерактивну консоль, вам потрібно вибрати мережеві інтерфейси та запустити MITM-атаку. Графічний інтерфейс працює нестабільно, тому можна використовувати інтерактивний інтерфейс: yersinia –I

Техніка захисту

  1.  Засоби налаштування, які захищають STP (Cisco).

  2. Вимкнення STP на портах доступу (щоб припинити отримання BDPU від користувачів), увімкнення безпеки портів на всіх портах користувачів і обмеження фізичного доступу до мережевого обладнання.

VLAN hopping

Складність: cередня. Відповідність: немає

Опис: Віртуальна локальна мережа (локальна мережа) — це логічна підмережа, яка може групувати разом набір пристроїв з різних фізичних локальних мереж. Більші бізнес-комп’ютерні мережі часто встановлюють VLAN, щоб повторно розділити свою мережу для покращеного керування трафіком. VLANs працює шляхом застосування тегів до мережевих фреймів і обробки цих тегів у мережевих системах, створюючи вигляд і функціональність мережевого трафіку, який фізично знаходиться в одній мережі, але діє так, ніби він розділений між окремими мережами. VLAN hopping — це загальна назва для атак, які передбачають доступ до VLAN, який спочатку (до атаки) був недоступний для зловмисника.

Його можна було виконати двома способами:

1. Основна атака VLAN Hopping (з використанням DTP) працює тільки на старих комутаторах Cisco. Зловмисник діє як комутатор, щоб обманом змусити законний комутатор створити транкінгове з’єднання між ними. Пакетам з будь-якої VLAN дозволено проходити через транкінгове з’єднання. Після встановлення магістрального каналу зловмисник отримує доступ до трафіку з будь-якої VLAN. Цей метод ефективний лише тоді, коли законний комутатор налаштовано на узгодження транка. Це відбувається, коли для інтерфейсу налаштовано режим «динамічний бажаний», «динамічний автоматичний» або «магістральний». Якщо на цільовому комутаторі налаштовано один із цих режимів, зловмисник може згенерувати повідомлення DTP зі свого комп’ютера, і можна сформувати магістраль.

2. Подвійне тегування відбувається, коли зловмисник додає та змінює теги в кадрі Ethernet, щоб дозволити надсилання пакетів через будь-яку VLAN. Ця атака використовує те, скільки комутаторів обробляє теги. Більшість комутаторів видаляють лише зовнішній тег і пересилають кадр до всіх власних портів VLAN. З огляду на це, цей метод є успішним, лише якщо зловмисник належить до рідної VLAN магістральної лінії. Іншим важливим моментом є те, що ця атака суто одностороння, оскільки неможливо інкапсулювати зворотний пакет.

Інструменти атаки

  1.  Yersinia -G – Yersinia має графічний інтерфейс та інтерактивну консоль, вам потрібно вибрати мережеві інтерфейси та запустити MITM-атаку. Графічний інтерфейс працює нестабільно, тому можна використовувати інтерактивний інтерфейс: yersinia –I.

  2.  Scapy — це програма на Python, яка дозволяє користувачеві надсилати, аналізувати та підробляти мережеві пакети. Його можна використовувати для створення спеціально створених кадрів, необхідних для обробки цієї атаки.

  3.  Dtp-spoof.py -i eth0 надсилає пакет DTP Trunk на eth0, використовуючи mac-адресу eth0. DTP-spoof — це інструмент безпеки для перевірки конфігурації протоколу динамічного транкінгу (DTP) комутаторів. Якщо цільовий комутатор налаштовано на узгодження режиму порту, ви потенційно можете встановити порт цільового комутатора в режим Trunk, таким чином отримуючи доступ до додаткових VLAN.

Техніка захисту

 Основна атака VLAN Hopping з використанням DTP. Це можна виконати лише тоді, коли інтерфейси налаштовані на узгодження транка. Щоб запобігти використанню стрибків VLAN, ми можемо застосувати наведені нижче заходи пом’якшення:

  • Переконайтеся, що порти не налаштовані на автоматичне узгодження транків, вимкнувши DTP

  • Не налаштовуйте жодну точку доступу з такими режимами: «динамічний бажаний», «динамічний автоматичний» або «магістральний».

  • Вимкніть усі інтерфейси, які зараз не використовуються.

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

L3

SLAAC Attack

Складність: низька. Актуальність: висока

Опис: SLAAC – автоконфігурація адреси без збереження стану. SLAAC є одним із способів конфігурації хост-мережі, наприклад DHCPv4. SLAAC надає значення префікса хосту IPv6, довжину префікса та локальну адресу шлюзу за замовчуванням без DHCPv6-сервера, який зберігає стан наданих адрес (ось чому він називається без стану). Процес SLAAC виконується під час конфігурації SLAAC-only і SLAAC+DHCPv6 Stateless. Основна проблема цього процесу полягає в тому, що зловмисник може створити шахрайський RA, щоб надати хостам власну конфігурацію (наприклад, стати маршрутизатором за замовчуванням у з’єднанні). Усі хости, на яких увімкнено IPv6, потенційно вразливі до атак SLAAC. Особливо у випадках, коли IPv6 увімкнено як ОС за замовчуванням, але організація не розгорнула IPv6 у жодній формі. Інша загроза в RA походить від можливості надсилати конфігурацію DNS через RA, щоб зловмисник також міг її підробити: RFC 6106 – IPv6 Router Advertisement Options for DNS Configuration.

Інструменти атаки

  1.  Suddensix – це сценарій, який попередньо встановлює інструменти, які використовує дослідник безпеки Алек Вотерс у своєму post about SLAAC attack. Сценарій трохи застарів і добре працює на Ubuntu 12.04 LTS. Для нього краще створити окрему ВМ.

  2.  EvilFOCA – чудовий інструмент для Windows для атак IPv6 MITM. Написаний на C# інструмент із графічним інтерфейсом користувача, який дозволяє атаки IPv6, включаючи атаку SLAAC, фальшивий DHCPv6 і навіть SLAAC DoS, що означає оголошення фальшивих маршрутів у кількох RA за посиланням.

  3.  THC-IPv6 – набір інструментів атаки на C IPv6, який, серед багатьох інших опцій, дозволяє виконувати атаки за допомогою RA.

Техніка захисту

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

Впровадження постачальників

Cisco реалізувала технологію «IPv6 First Hop Security», яка включена в комутатори серії Catalyst 6500, 4500, 3850, 3750 і 2960, маршрутизатори серії 7600 і контролери бездротової локальної мережі Cisco серії 5700. Реалізовано RA Guard, DHCP Guard, а також IPv6 Snooping. Більше інформації можна знайти here.

Juniper реалізував RA Guard. Є один дивний факт: на роутері-рекламі-охороні documentation page згадується, що підтримуються лише платформи серії EX. Але на сторінці в Configuring Stateless IPv6 Router Advertisement Guard та Configuring Stateful IPv6 Router Advertisement Guard згадується, що як EX, так і деякі платформи серії QFX підтримують RA Guard: EX2300(15.1X53-D56), EX2300-VC(15.1X53-D56), EX3400(15.1X53-D55), EX3400-VC(15.1X53-D55) , EX4300(16.1R1), EX4300-VC(16.1R1), EX4300 Multigigabit(18.2R1), EX4600(18.3R1), EX4600-VC(18.3R1) і QFX5100(18.2R1), QFX5110(17.2R1), QFX5200( 18.2R1).

Компанія Mikrotik, на жаль, не впровадила такі технології. Є  презентація з зустрічі користувачів Mikrotik і автор порадив просто ізолювати сегмент мережі рівня 2. Інших цінних порад не знайшлося. Проблему також згадували на форумі користувачів Mikrotik у 2012 році.

На жаль, існують методи посилення аналізу трафіку, які порушують продуктивність методів захисту (наприклад, приховування RA в заголовку Hob-By-Hop). Існує проект RFC, який описує ухилення від RA Guard. Техніка ухилення базується на використанні фрагментації пакетів IPv6. Деякі додаткові рекомендації щодо фрагментації наведено в  RFC 6980 – Наслідки фрагментації IPv6 для безпеки з виявленням сусідів IPv6.

10 основних ідей для вирішення проблеми

RFC 6104 – Оголошення про проблему з рекламою несанкціонованого маршрутизатора IPv6 представило 10 основних ідей для вирішення проблеми Rogue RA:

  1. Налаштування IPv6-адреси вручну та вимкнення автоматичної конфігурації для ігнорування повідомлень RA.

  2. RA Snooping у L2 перемикається подібно до DHCP Snooping, тому RA з неправильних джерел можуть бути видалені.

  3. Список ACL на керованих комутаторах можна використовувати, якщо на комутаторі є механізм ACL, який може блокувати вихідну пошту ICMPv6 RA на портах користувача (використовуються для доступу користувачів до локальної мережі). Отже, якщо такий ACL можливо реалізувати на використовуваній платформі, жоден користувач у локальній мережі не зможе транслювати/одноадресно RA.

  4. Secure Neighbor Discovery — SEND — RFC 3971 — це протокол, який пропонує використання криптографії з відкритим ключем для захисту зв’язку між маршрутизатором і хостами.

  5. Router Preference Option – цей метод підходить лише у випадку випадкових RA від користувачів. Ідея полягає в тому, що адміністратор може встановити «Високий» рівень переваг у всіх законних RA, щоб хости IPv6 не перезаписували конфігурацію, отриману такими RA, якщо вони мають «Середній» або «Низький» рівень переваг. Параметр Router Preference Option присутній у RFC 4191 – параметри маршрутизатора за замовчуванням і більш конкретні маршрути.

  6. Rely on Layer 2 Admission Control — ідея базується на розгортанні 802.1x, щоб зловмисники не змогли приєднатися до локальної мережі, щоб надіслати RA та виконати атаку.

  7. Використання Host-Based Packet Filters – якщо є можливість надсилати конфігурацію на комп’ютери користувачів, фільтри пакетів на основі хоста можна налаштувати на прийом RA лише з точних адрес IPv6.

  8. Використання “Intelligent” Deprecation Tool  — ідея полягає в тому, щоб спостерігати за трафіком каналів для фальшивих RA і виключити їх для хостів, надіславши застарілий RA з адресою шахрайського маршрутизатора в ньому та полем тривалості маршрутизатора, встановленим на 0. Атакуйте трафік атаки.

  9. Використання Layer 2 Partitioning – ідея полягає в тому, що якщо кожен користувач або система розділені на інше середовище Layer 2, вплив певного шахрайського RA може бути обмеженим. Цей метод викликає зростання витрат на програмне та апаратне забезпечення.

  10. Adding Default Gateway/Prefix Options to DHCPv6 – залишення автоконфігурації SLAAC для автоконфігурації DHCPv6 частково вирішує проблему шлюзів за замовчуванням і префіксів, які надсилаються фальшивими RA, але також призводить до проблем із фальшивими серверами DHCPv6. Друга проблема полягає в тому, що RA все ще використовується для інформування хостів про використання DHCPv6.

У 4th section of RFC 6104 є таблиця, яка містить способи придатності пом’якшення для 2 випадків Rogue RA: помилка адміністратора та помилка користувача.

Відповідні інструменти моніторингу

Є деякі інструменти, які можуть бути корисними для виявлення та моніторингу фальшивого РА:

 NDPMon дозволяє вибрати наступні параметри конфігурації перед компіляцією:

  • –enable-mac-resolv Визначте постачальника за OUI в MAC-адресі.

  • –enable-countermeasures Функціональність відповіді на атаки (не описано на які і як).

  • –enable-syslogfilter Збережіть системний журнал у /var/log/ndpmon.lo.

  • –enable-lnfq Використовуйте libnetfilter_queue замість PCAP (є деякі вимоги для встановлення та правила ip6tables).

  • –enable-webinterface Публікуйте HTML-звіти (потрібен веб-сервер як nginx/apache).

Ramond дозволяє додати білий список MAC-адрес визначених законних маршрутизаторів, префікс, який використовується для 6to4, і невідомі префікси. На основі цієї конфігурації інструмент відстежує трафік RA, щоб знайти шахрайські.

6MoN дозволяє контролювати стан мережі, стежити за процесом DAD і повідомленнями NS. DAD розшифровується як Duplicate Address Discovery, і він визначає, чи існує конфлікт дублювання адрес у мережі. NS означає Neighbor Solicitation (ICMPv6 тип 135) і використовується для визначення сусіда за посиланням.

Hijacking HSRP (VRRP, CARP)

Складність: висока. Актуальність: висока.

Oпис: Інструменти атак Scapy — це найпростіший спосіб створити PoC і перехопити статус активного вузла:

Для HSRP:

Для VRRP:

RIPv2 Routing Table Poisoning

Складність: cередня.  Актуальність: середня. Умови: реалізовано RIP; RIPv1 у використанні; автентифікацію RIPv2 вимкнено.

Опис: є три версії RIP:

  1. RIPv1: перша версія, яка з’явилась і була описана в  RFC 1058;

  2. RIPv2: покращена шляхом додавання версії механізму автентифікації, описаної в  RFC 2453;

  3. RIPv3 або RIPng (наступне покоління): підтримує IPv6, описано в  RFC 2080.

Найпоширенішим протоколом є RIPv2. RIPv1 зовсім не безпечний, оскільки не підтримує автентифікацію повідомлень. Хоча існує докладний опис про використання RIPv1 шляхом впровадження підробленого маршруту. Як зазначено в RFC 2453, маршрутизатор RIPv2 повинен обмінюватися інформацією про маршрутизацію кожні 30 секунд. Ідея атаки полягає в тому, щоб надіслати фальшиві повідомлення RIP Response, які містять маршрут, який зловмисник повинен додати. Хоча для маршрутизаторів RIPv2 існує спеціальна багатоадресна розсилка – 224.0.0.9, відповіді, надіслані як unicast, також можуть прийматися. Це, наприклад, може посилити виявлення атаки порівняно з випадком розповсюдження фальшивої маршрутизації багатоадресної адреси. Існує хороший короткий докладний опис використання мережі RIPv2 без автентифікації RIPv2 із прикладом використання Scapy.

Інструменти атаки

 t50 – багатопротокольний інструмент для введення трафіку та тестування на проникнення в мережу. Серед багатьох інших протоколів він підтримує RIP.

Техніка захисту

Якщо маршрутизатор не налаштовано на автентифікацію повідомлень RIPv2, він прийматиме неавтентифіковані повідомлення RIPv1 і RIPv2. Найбезпечніша конфігурація в такий спосіб полягає в тому, щоб налаштувати автентифікацію RIPv2, щоб маршрутизатор не приймав неавтентифіковані повідомлення RIPv1 і v2 і таким чином не дозволяв неавтентифікованому маршрутизатору вставити маршрут. Цей механізм описано в  RFC 2082 – RIP-2 MD5 Authentication, але в ньому описано використання MD5, який визнано слабкою функцією хешування. Кращий, який означає використання SHA-1, описано в  RFC 4822 – RIPv2 Cryptographic Authentication.

На жаль, RIPv2 підтримує лише звичайний текст і автентифікацію MD5. Перший марний у разі нюхання мережі, MD5 Auth кращий у випадку пасивного зловмисника, який перехоплює пакети, оскільки він не передає пароль у вигляді звичайного тексту. У посібнику з налаштування RIPv2 Authentication guide  описано, як налаштувати цю функцію на пристроях Cisco. Інструкція з налаштування аутентифікації MD5 для Mikrotik представлена тут. Інструкція з налаштування аутентифікації MD5 на пристроях Juniper представлена тут.

EIGRP Routing Table Poisoning

Складність: cередня. Актуальність: середня. Умови: в мережі реалізований протокол EIGRP; не налаштовано автентифікацію повідомлень EIGRP.

Опис: EIGRP означає Enhanced Interior Gateway Routing Protocol. Це власний протокол дистанційної векторної маршрутизації Cisco, що використовує алгоритм розсіяного оновлення – DUAL. Основною метою цього протоколу є динамічне оновлення таблиці маршрутизації та поширення маршрутів на інші маршрутизатори. Основна проблема безпеки можлива у випадку підробки даних у повідомленні Оновлення, напр. ввести нелегітимний маршрут. У цьому випадку таблиця маршрутизації маршрутизатора змінюється, щоб він пропускав трафік через пристрій, яким керує зловмисник, тому присутня атака MitM.

Інструменти атаки

Eigrp Tools – cценарій perl, який дозволяє створювати пакети EIGRP і надсилати їх у мережу. Він навіть дозволяє встановити метрики K1-K4, усі прапори та поля пакета EIGRP. Сценарій вимагає встановлення пакетів libnet-rawip-perl і libnetpacket-perl. Деякі приклади використання:

  • ./eigrp.pl –sniff –iface eth0 – виконати аналіз інтерфейсу

  • ./eth0 ./eigrp.pl –file2ip update.dat –source 192.168.7.8 – відтворити трафік із файлу

  • ./eigrp.pl –update –external –as 65534 –source 192.168.7.8 – надіслати та оновити повідомлення

EIGRP Security Tool – Сценарій Python, який дозволяє створювати та надсилати різні пакети EIGRP. Проблема в тому, що спроби запустити скрипт були невдалими через відсутність модуля scapy_eigrp, який не був знайдений. Також автори не написали жодної документації для інструменту навіть в описі дослідження.

t50 – багатопротокольний інструмент для введення трафіку та тестування на проникнення в мережу. Серед багатьох інших протоколів він підтримує маніпулювання трафіком EIGRP.

Техніка захисту

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

На жаль, MD5 визнано слабким алгоритмом хешування через хеш-колізії. Пристрої Cisco також підтримують аутентифікацію оновлень EIGRP hmac-sha-256. Атака хеш-колізії на SHA-256 набагато складніша, ніж на MD5. Посібник з автентифікації EIGRP HMAC-SHA-256 можна знайти тут. Область маршрутизації заглушки EIGRP можна налаштувати, оскільки вона дозволяє визначити типи маршрутів, за якими маршрутизатор-заглушка має отримувати запити, а чи ні. Додаткову інформацію про EIGRP Stub Routing можна знайти тут.

Ще одна найкраща практика зменшення небажаного трафіку в мережі – це встановлення пасивних інтерфейсів. Функція пасивного інтерфейсу повинна бути встановлена ​​на інтерфейсах доступу, які спілкуються не з мережевими пристроями, а з кінцевими пристроями. Інструкції щодо налаштування пасивного інтерфейсу на EIGRP і пояснення того, як це працює, представлені на Cisco’s documentation page.

ICMP Redirect

Складність: cередня. Актуальність: середня.

Опис: Однією з цілей протоколу ICMP є динамічна зміна таблиці маршрутизації кінцевих систем мережі. Динамічна маршрутизація віддаленого управління спочатку була задумана для запобігання можливої ​​відправки повідомлення неоптимальним маршрутом, а також для підвищення відмовостійкості Мережі в цілому. Передбачалося, що сегмент мережі може бути підключений до Інтернету через кілька маршрутизаторів (а не через один, як це зазвичай буває). У цьому випадку ми можемо звернутися до зовнішньої мережі через будь-який з найближчих маршрутизаторів. Наприклад, до some_host.site найкоротший шлях проходить через «роутер A», а до another.site – через «router B». Якщо один з маршрутизаторів виходить з ладу, зв’язок із зовнішнім світом можливий через інший маршрутизатор. У якості «атаки ICMP Redirectest» ми змінюємо маршрут до певного сайту (DNS-ім’я) у таблиці маршрутизації вузла A (жертви), щоб трафік від вузла A до певного сайту проходив через ПК хакера.

Умови успіху:

  • IP-адреса нового маршрутизатора має бути в тій самій підмережі, що й сам атакуваний хост.

  • Не можна додати новий маршрут для IP-адреси, яка знаходиться в тій самій підмережі, що й сам хост.

  • ОС має підтримувати та обробляти пакети перенаправлення ICMP. За замовчуванням у Windows увімкнено переспрямування ICMP (HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersEnableICMPRedirect) і в деяких дистрибутивах Linux (cat /proc/sys/net/ipv4/conf/all/accept_redirects.)

Інструменти атаки

  1. Responder (example)

  2. Hping3 (example)

  3. Mitmf

  4. Bettercap (documentation)

Техніка захисту

Вимкнути перенаправлення icmp (example)

L4+

Складність: низька. Актуальність: висока

Опис: Якщо клієнт Windows не може визначити ім’я хоста за допомогою DNS, він використовуватиме протокол Link-Local Multicast Name Resolution (LLMNR), щоб запитати сусідні комп’ютери. LLMNR можна використовувати для визначення адрес як IPv4, так і IPv6. Якщо це не вдасться, буде використано службу імен NetBios (NBNS). NBNS — це протокол, схожий на LLMNR, який служить для тієї ж мети. Основна відмінність між ними полягає в тому, що NBNS працює лише через IPv4. Проблема цієї гарної речі полягає в тому, що коли LLMNR або NBNS використовуються для вирішення запиту, будь-який хост у мережі, який знає IP-адресу хоста, про який запитують, може відповісти. Навіть якщо хост відповість на один із цих запитів із неправильною інформацією, він все одно вважатиметься законним. Зловмисник може запросити автентифікацію NTLM у жертви, що призведе до того, що пристрій жертви надішле хеш NTLM, який потім можна буде використати для атаки грубою силою.

Також є можливість виконати підробку WPAD. Спуфінг WPAD можна назвати окремим випадком спуфінгу LLMNR і NBNS. Для автоматичного налаштування проксі-сервера HTTP використовується протокол Web Proxy Auto Discovery. Пристрій надсилає запит LLMNR/NBNS із хостом wpad, отримує відповідну IP-адресу та намагається через HTTP отримати доступ до файлу wpad.dat, що містить інформацію про налаштування проксі. У результаті зловмисник може виконати підробку LLMNR/NBNS і надати жертві власний файл wpad.dat, у результаті чого весь трафік HTTP і HTTPS проходитиме через зловмисника.

Інструменти атаки

  1. Responder – він може відповідати на запити LLMNR і NBNS, вказуючи власну IP-адресу як місце призначення для будь-якого запитуваного імені хоста. Відповідач має підтримку отруєння запитів WPAD і обслуговування дійсного файлу PAC wpad.dat.

  2. Mitm6 – це інструмент пентестування, розроблений для підробки WPAD і передачі облікових даних.

  3. Inveigh – це PowerShell ADIDNS/LLMNR/NBNS/mDNS/DNS-спуфер і інструмент “людина посередині”, призначений для допомоги тестувальникам проникнення/червоним командам, які виявляються обмеженими системою Windows.

Техніка захисту

  1. Вимкніть LLMNR і NBNS. Ви можете зробити це за допомогою GPO (як це зробити тут)

  2. Створіть запис DNS із «WPAD», який вказує на корпоративний проксі-сервер. Тому зловмисник не зможе маніпулювати трафіком.

  3. Вимкніть «Автовизначення параметрів проксі»

DHCP spoofing

Складність: cередня. Актуальність: cередня.

Опис: Метою цієї атаки є використання хоста або пристрою зловмисника як шлюзу за замовчуванням і змусити клієнтів використовувати фальшиву службу доменних імен (DNS) і службу імен Інтернету Windows (сервер WINS), налаштовану зловмисником. Завдання зловмисника полягає в тому, щоб налаштувати підроблений DHCP-сервер у мережі для надання DHCP-адрес клієнтам і вичерпати пул IP-адрес з інших законних DHCP-серверів (атака DHCP Starvation).

Умови успіху

  • Клієнт отримує IP-адресу від фальшивого DHCP-сервера швидше, ніж від законного DHCP-сервера.

  • Законний сервер вичерпав пул адрес, які потрібно надати (DHCP Starvation атака).

DHCP Starvation атака

  • Зловмисник запитує IP-адресу від сервера DHCP і отримує її.

  • MAC-адреса зловмисника змінюється, і він запитує наступну, іншу IP-адресу, замасковану як новий клієнт.

  • Ці дії повторюються, доки не буде вичерпано весь пул IP-адрес на сервері.

Інструменти атаки для DHCP starvation

  • DHCPig

  • nmap для пошуку DHCP-сервера (nmap -n –script=broadcast-dhcp-discover)

  • модулі metasploit (example)

  • використовувати scapy для атаки голодування DHCP (example)

Інструменти атак для підробки DHCP

  1. yersinia

  2. mitmf

  3. Ettercap

Техніка захисту

Увімкнути відстеження DHCP. Це функція комутатора L2, призначена для захисту від атак DHCP. Наприклад, атака DHCP spoofing або атака DHCP starvation. На комутаторах Cisco:

  • Switch(config)#ip dhcp snooping vlan 10 – увімкнути DHCP snooping для vlan10

  • Switch(config)# interface fa 0/1 – перейти до налаштувань конкретного інтерфейсу

  • Switch(config-if)#ip dhcp snooping trust – налаштування довірених портів на інтерфейсі (за замовчуванням усі порти ненадійні, сервер DHCP не повинен до них підключатися).

  • Switch(config)#ip dhcp-server 10.84.168.253 – вкажіть адресу довіреного DHCP-сервера, який доступний через довірений порт.

Важливо. За замовчуванням після ввімкнення відстеження DHCP комутатор увімкнено для перевірки відповідності MAC-адреси. Комутатор перевіряє, чи MAC-адреса в запиті DHCP відповідає MAC-адресі клієнта. Якщо вони не збігаються, комутатор відкидає пакет.

Rogue DHCP (DHCPv6)

Складність: низька. Актуальність: висока.

Опис: Клієнт Ipv6 надсилає повідомлення Solicit на адресу All_DHCP_Relay_Agents_and_Servers, щоб знайти доступні сервери DHCP. Будь-який сервер, який відповідає вимогам клієнта, відповідає повідомленням Advertise. Потім клієнт вибирає один із серверів і надсилає серверу повідомлення Request із запитом підтвердити призначення адрес та іншу конфігураційну інформацію. Сервер відповідає повідомленням відповіді, яке містить підтверджені адреси та конфігурацію. Ця схема виглядає подібно до DHCPv4, тому головна мета зловмисника — використовувати підроблений сервер DHCPv6 для перенаправлення трафіку жертви на себе. Зловмисник може перехопити повідомлення DHCP-запиту клієнта та може фактично відповісти, вдаючи, що він є сервером DHCPv6, і призначити облікові дані (наприклад, адресу DNS), які будуть використовуватися жертвою.

Інструменти атаки

  1. mitm6

  2. Деякі сценарії scapy python (example)

  3. snarf

Техніка захисту

  1. У пристроях Cisco увімкніть політику dhcpv6 guard (example)

  2. Вимкніть Ipv6, якщо ви його не використовуєте

Wireless

Karma attacks (Wi-Fi)

Складність: низька. Актуальність: висока.

Опис: Атака KARMA використовує особливості клієнтів, які надсилають запити, щоб визначити, які бездротові мережі знаходяться поблизу. Точка доступу Wi-Fi періодично надсилає запит маяка із зазначенням SSID мережі, який ідентифікує мережу Wi-Fi. Коли клієнт отримує кадр маяка з SSID, який він запам’ятовує, його можна пов’язати з бездротовою мережею. Уразливі клієнтські пристрої передають «список бажаних мереж» (PNL), який містить SSID точок доступу, до яких вони раніше підключалися та готові автоматично повторно підключитися без втручання користувача. Ці трансляції можуть прийматися будь-якою точкою доступу Wi-Fi у діапазоні. Атака KARMA полягає в тому, що точка доступу отримує цей список, а потім надає собі SSID з PNL, таким чином стаючи злим близнюком точки доступу, якій клієнт вже довіряє. У результаті клієнт підключається до мережі, відмінної від тієї, яку очікує користувач. І тепер зловмисник може виконувати MITM або інші атаки на клієнтську систему.

Однак сьогодні більшість сучасних мережевих менеджерів вжили заходів проти атаки KARMA, перейшовши на пасивне сканування; замість того, щоб довільно надсилати кадри запиту зондування, мережеві менеджери тепер очікують отримання кадру маяка зі знайомим ESSID, перш ніж зв’язуватися з бездротовою мережею. Хоча цей контрзахід знизив ефективність атаки KARMA, друга функція, використана KARMA, прапор Auto-Connect, який дозволяє станціям автоматично приєднуватися до раніше підключених мереж, залишилася недоторканою майже в кожній сучасній операційній системі. Зловмисник, який може вгадати SSID у списку бажаних мереж жертви, зможе передати відповідний кадр маяка та автоматично пов’язати цей пристрій із контрольованою зловмисником точкою доступу. У більш складній версії атаки зловмисник може використовувати «словник» поширених SSID, до яких жертва, ймовірно, підключалася в минулому.

Інструменти атаки

  1. Wifiphisher – The Rogue Access Point Framework

  2. Hostapd-mana – це функціональний інструмент точки доступу Wi-Fi. Його можна використовувати для безлічі цілей, від відстеження та деанонімізації пристроїв (так званих Snoopy), збору корпоративних облікових даних із пристроїв, які намагаються використовувати EAP (він же WPE), або залучення якомога більшої кількості пристроїв для підключення для здійснення атак MitM.

  3. WIFI PINEAPPLE – шахрайська точка доступу та інструментарій пентесту Wi-Fi. Як підсилити атаку MK5 Karma за допомогою модуля Dogma PineAP тут.

  4. FruityWIFI – це інструмент з відкритим кодом для аудиту бездротових мереж. Це дозволяє користувачеві розгортати розширені атаки, безпосередньо використовуючи веб-інтерфейс або надсилаючи йому повідомлення. Спочатку додаток було створено для використання з Raspberry-Pi, але його можна встановити на будь-якій системі на основі Debian.

Техніка захисту

  • Зверніть увагу на мережі Wi-Fi, до яких підключається ваш пристрій

  • Не використовуйте відкритий Wi-Fi у громадських місцях або використовуйте його дуже економно

  • Створіть зашифроване з’єдння (VPN тощо)

Сніфінг даних

Ін’єкції в дані

  • Malicious JS in HTML

  • HTA

Модифікація даних

  • Wsus

  • DNS hijacking

Нотатки хакера

Різниця між технологічним стеком (або чому більшість цих атак неможливі з вашого ноутбука.)

Мережеве обладнання має однакові центральні процесори загального призначення. MIPS або ARM для базових роутерів SOHO, багатоядерний x86 в більш серйозних коробках. Саме NIC із кількома апаратними чергами та спеціальними методами зв’язку NIC<->програмного забезпечення (явна кільцева буферизація, інтенсивне використання DMA) мають значення. Тож ви не можете просто підключитися до мережі та ввімкнути спуфінг, це може призвести до збою мережі одразу. Ваш маленький мережевий адаптер для ноутбука просто не зможе впоратися з великим потоком даних і почне їх скидати. Вам потрібно вибрати оптимальну кількість хостів, які можна підробити одночасно (~<4).

Атакувальний пристрій

Можливий кандидат: MikroTik hAP AC.

SSLStrip, SSLStrip+, HSTS

SSLStrip — це техніка, яка замінює безпечне (HTTPS) з’єднання відкритим (HTTP). Ця атака також відома як зниження версії HTTP Він перехоплював HTTP-трафік і щоразу, коли виявляв перенаправлення або посилання на сайти, що використовують HTTPS, прозоро видаляв їх. Замість підключення жертви безпосередньо до веб-сайту; жертва підключилася до зловмисника, а зловмисник ініціював зворотне підключення до веб-сайту. Перехоплювач встановлює зашифроване з’єднання з веб-сервером через HTTPS і повертає трафік відвідувачу сайту в незашифрованому вигляді. Але з появою HSTS це більше не працює. Точніше, він не працює там, де включено HSTS.

HTTP Strict Transport Security (HSTS) — це механізм політики веб-безпеки, який допомагає захистити веб-сайти від атак із пониженням версії протоколу (видалення SSL). Він дозволяє веб-серверам декларувати, що веб-браузери повинні взаємодіяти з ним, використовуючи лише захищені з’єднання HTTPS і ніколи не через незахищений протокол HTTP.

HSTS — це протокол відстеження стандартів IETF, який описано в RFC 6797. HSTS працює так, що сервер відповідає спеціальним заголовком під назвою Strict-Transport-Security, який містить відповідь, яка повідомляє клієнту, що коли він повторно підключається до сайту, він повинен використовувати HTTPS. Ця відповідь містить поле “max-age”, яке визначає, як довго це правило має діяти з моменту його останнього використання. Також він має includeSubDomains (необов’язково). Якщо вказано цей необов’язковий параметр, це правило також застосовується до всіх субдоменів сайту. Але не всі налаштовують HSTS однаково.

Так з’явився SSLstrip++ — це інструмент, який прозоро перехоплює HTTP-трафік у мережі, відстежує HTTPS-посилає та переспрямовує, а потім відображає ці посилання на схожі HTTP-посилання або на омографічні HTTPS-посилання. Одним із недоліків HSTS є те, що для безпечного підключення до певного сайту потрібне попереднє підключення. Коли відвідувач вперше підключається до веб-сайту, він не отримує правило HSTS, яке вказує йому завжди використовувати HTTPS. Лише під час наступних підключень браузер відвідувача дізнається про правило HSTS, яке вимагає підключення через HTTPS.

Списки попереднього завантаження HSTS є одним із потенційних рішень для вирішення цих проблем. Вони ефективно працюють шляхом жорсткого кодування списку веб-сайтів, до яких потрібно підключитися лише за допомогою HTTPS. У вихідному коді Google Chrome є файл, який містить жорстко закодований файл із переліком властивостей HSTS для всіх доменів у списку попереднього завантаження. Кожен запис відформатовано в JSON.

Інструменти атаки

  1. sslstrip – це інструмент MITM, який реалізує атаки видалення SSL від Moxie Marlinspike.

  2. sslstrip2 – це нова версія [Moxie´s SSLstrip] (http://www.thoughtcrime.org/software/sslstrip/) з новою функцією для уникнення механізму захисту HTTP Strict Transport Security (HSTS).

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