Pentesting Network
Виявлення хостів ззовні
Це буде короткий розділ про те, як знайти IP-адреси, які відповідають з Інтернету. У цій ситуації у вас є деякий діапазон IP-адрес (можливо, навіть кілька діапазонів), і вам просто потрібно знайти які IP-адреси відповідають.
ICMP
Це найпростіший і найшвидший спосіб виявити, чи працює хост чи ні.
Ви можете спробувати відправити деякі пакети ICMP і очікувати відповіді. Найпростіший спосіб - просто відправити запит на ехо і очікувати відповіді. Це можна зробити за допомогою простої команди ping
або використовуючи fping
для діапазонів.
Ви також можете використовувати nmap для відправлення інших типів пакетів ICMP (це уникне фільтрів для звичайних запитів-відповідей на ехо ICMP).
Виявлення TCP-портів
Дуже поширеною є ситуація, коли всі види пакетів ICMP фільтруються. Тоді все, що ви можете зробити, щоб перевірити, чи працює хост, - це спробувати знайти відкриті порти. Кожен хост має 65535 портів, тому, якщо у вас є "великий" обсяг, ви не можете перевірити, чи відкритий кожен порт кожного хоста, це займе занадто багато часу. Отже, вам потрібен швидкий сканер портів (masscan) та список найбільш використовуваних портів:
Ви також можете виконати цей крок за допомогою nmap
, але це повільніше і деякі проблеми з ідентифікацією хостів nmap
.
Виявлення порту HTTP
Це просто виявлення TCP-порту, корисне, коли ви хочете зосередитися на виявленні HTTP-сервісів:
Виявлення портів UDP
Ви також можете спробувати перевірити, чи є відкриті UDP порти, щоб вирішити, чи варто приділити більше уваги хосту. Оскільки UDP-сервіси зазвичай не відповідають жодними даними на звичайний порожній пакет запиту UDP, важко сказати, чи порт фільтрується чи відкритий. Найпростіший спосіб вирішити це - відправити пакет, пов'язаний з робочим сервісом, і оскільки ви не знаєте, який сервіс працює, вам слід спробувати найбільш ймовірний на підставі номера порту:
Рядок nmap, запропонований раніше, протестує перші 1000 портів UDP в кожному хості всередині діапазону /24, але навіть це займе >20 хв. Якщо потрібні найшвидші результати, ви можете використати udp-proto-scanner: ./udp-proto-scanner.pl 199.66.11.53/24
Це відправить ці UDP запити на їх очікуваний порт (для діапазону /24 це займе всього 1 хв): DNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike,ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp.
Відкриття портів SCTP
Тестування на проникнення Wifi
Тут ви знайдете чудовий посібник з усіма відомими атаками на Wifi на момент написання:
pagePentesting WifiВиявлення хостів зсередини
Якщо ви знаходитесь всередині мережі, однією з перших речей, які ви захочете зробити, буде виявлення інших хостів. Залежно від того, наскільки багато шуму ви можете/хочете створити, можуть виконуватися різні дії:
Пасивний
Ви можете використовувати ці інструменти для пасивного виявлення хостів всередині підключеної мережі:
Активний
Зверніть увагу, що техніки, які коментуються в Виявлення хостів ззовні (Виявлення портів TCP/HTTP/UDP/SCTP), також можуть бути застосовані тут. Але, оскільки ви знаходитесь в одній мережі з іншими хостами, ви можете робити більше речей:
Активний ICMP
Зверніть увагу, що техніки, які коментуються в Виявлення хостів ззовні (ICMP), можуть бути також застосовані тут. Але, оскільки ви знаходитесь в тій самій мережі що і інші хости, ви можете робити більше речей:
Якщо ви пінгуєте адресу мережевого підсегменту, пінг повинен дійти до кожного хоста, і вони можуть відповісти вам:
ping -b 10.10.5.255
Пінгуючи адресу мережевого мовлення, ви навіть можете знайти хости всередині інших підмереж:
ping -b 255.255.255.255
Використовуйте прапорці
-PE
,-PP
,-PM
уnmap
для виконання виявлення хостів, надсилаючи відповідно запити ICMPv4 echo, відмітки часу та маски підмережі:nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24
Прокидання через мережу (Wake On Lan)
Прокидання через мережу використовується для увімкнення комп'ютерів за допомогою мережевого повідомлення. Магічний пакет, який використовується для увімкнення комп'ютера, це лише пакет, в якому надається MAC Dst, і потім він повторюється 16 разів всередині того ж пакету. Потім такі пакети зазвичай надсилаються в Ethernet 0x0842 або в UDP пакет на порт 9. Якщо не вказано [MAC], пакет надсилається на широкомовну Ethernet мережу (і широкомовний MAC буде тим, що повторюється).
Сканування хостів
Після того, як ви виявили всі IP-адреси (зовнішні або внутрішні), які ви хочете детально просканувати, можна виконати різні дії.
TCP
Відкритий порт: SYN --> SYN/ACK --> RST
Закритий порт: SYN --> RST/ACK
Фільтрований порт: SYN --> [НЕМАЄ ВІДПОВІДІ]
Фільтрований порт: SYN --> повідомлення ICMP
UDP
Є 2 варіанти для сканування UDP-порту:
Надіслати пакет UDP та перевірити відповідь ICMP unreachable, якщо порт закритий (у декотрих випадках ICMP буде фільтруватися, тому ви не отримаєте жодної інформації, якщо порт закритий або відкритий).
Надіслати форматовані датаграми, щоб отримати відповідь від сервісу (наприклад, DNS, DHCP, TFTP та інші, як вказано в nmap-payloads). Якщо ви отримуєте відповідь, то порт відкритий.
Nmap буде комбінувати обидва варіанти, використовуючи "-sV" (скани UDP дуже повільні), але слід зауважити, що скани UDP повільніше за скани TCP:
Сканування SCTP
SCTP (Протокол керування потоками передачі) призначений для використання разом з TCP (Протокол керування передачею) та UDP (Протокол користувацьких дейтаграм). Його основна мета - сприяти транспорту телефонних даних через IP-мережі, відтворюючи багато з функцій надійності, які знаходяться в Системі сигналізації 7 (SS7). SCTP є основним компонентом сімейства протоколів SIGTRAN, яке спрямоване на транспортування сигналів SS7 через IP-мережі.
Підтримка SCTP надається різними операційними системами, такими як IBM AIX, Oracle Solaris, HP-UX, Linux, Cisco IOS та VxWorks, що свідчить про його широкий прийом та корисність у галузі телекомунікацій та мереж.
Nmap пропонує два різних типи сканування для SCTP: -sY та -sZ
Ухилення IDS та IPS
pageIDS and IPS EvasionДодаткові опції nmap
pageNmap Summary (ESP)Розкриття внутрішніх IP-адрес
Неправильно налаштовані маршрутизатори, брандмауери та мережеві пристрої іноді відповідають на мережеві запити, використовуючи непублічні джерелні адреси. tcpdump може бути використаний для ідентифікації пакетів, отриманих з приватних адрес під час тестування. Зокрема, на Kali Linux пакети можна захоплювати на інтерфейсі eth2, який доступний з відкритої мережі Інтернету. Важливо зауважити, що якщо ваша конфігурація знаходиться за NAT або брандмауером, такі пакети ймовірно будуть відфільтровані.
Прослуховування
Під час прослуховування можна дізнатися деталі IP-діапазонів, розмірів підмереж, MAC-адрес та імен хостів, переглядаючи захоплені фрейми та пакети. Якщо мережа налаштована неправильно або комутаційна тканина перебуває під стресом, зловмисники можуть захопити чутливий матеріал шляхом пасивного прослуховування мережі.
Якщо комутована Ethernet-мережа налаштована належним чином, ви побачите лише трансляційні фрейми та матеріал, призначений для вашої MAC-адреси.
TCPDump
Також можна захоплювати пакети з віддаленої машини під час сеансу SSH за допомогою Wireshark як графічного інтерфейсу в реальному часі.
Bettercap
Wireshark
Очевидно.
Захоплення облікових даних
Ви можете використовувати інструменти, такі як https://github.com/lgandx/PCredz, щоб розбирати облікові дані з pcap-файлу або живого інтерфейсу.
Атаки в локальній мережі
ARP-підроблення
ARP-підроблення полягає в тому, що відправляються безкоштовні ARP-відповіді, щоб вказати, що IP-адреса машини має MAC-адресу нашого пристрою. Потім жертва змінить таблицю ARP і буде звертатися до нашої машини кожного разу, коли вона хоче звернутися до підробленої IP-адреси.
Bettercap
Arpspoof
Переповнення CAM-таблиці - MAC-флудінг
Переповніть CAM-таблицю комутатора, відправляючи багато пакетів з різними джерелами MAC-адрес. Коли CAM-таблиця переповнена, комутатор починає вести себе як концентратор (розсилаючи весь трафік).
У сучасних комутаторах ця вразливість виправлена.
Атаки на 802.1Q VLAN / DTP
Динамічне тронкування
Протокол Dynamic Trunking Protocol (DTP) розроблений як протокол рівня зв'язку для полегшення автоматичної системи тронкування, що дозволяє комутаторам автоматично вибирати порти для режиму тронкування (Trunk) або не-тронкування. Використання DTP часто розглядається як показник неоптимального дизайну мережі, що підкреслює важливість ручної настройки тронків лише там, де це необхідно, та забезпечення належної документації.
За замовчуванням порти комутатора встановлені в режимі Dynamic Auto, що означає, що вони готові ініціювати тронкування за вимогою сусіднього комутатора. Проблема безпеки виникає, коли пентестер або атакуючий підключається до комутатора та надсилає фрейм DTP Desirable, що змушує порт увійти в режим тронкування. Ця дія дозволяє атакуючому перелічити VLAN через аналіз фреймів STP та обійти сегментацію VLAN, створюючи віртуальні інтерфейси.
Наявність DTP в багатьох комутаторах за замовчуванням може бути використана зловмисниками для імітації поведінки комутатора, тим самим отримуючи доступ до трафіку по всіх VLAN. Сценарій dtpscan.sh використовується для моніторингу інтерфейсу та виявлення того, чи комутатор перебуває в режимі за замовчуванням, тронкування, динамічного, автоматичного або доступу — останній єдиний конфігураційний варіант, який захищений від атак на перехід між VLAN. Цей інструмент оцінює статус вразливості комутатора.
Якщо виявлено вразливість мережі, можна використовувати інструмент Yersinia для "увімкнення тронкування" через протокол DTP, що дозволяє спостерігати за пакетами з усіх VLAN.
Для переліку VLAN також можливо згенерувати рамку DTP Desirable за допомогою скрипту DTPHijacking.py**. Не переривайте скрипт ні за яких обставин. Він впроваджує DTP Desirable кожні три секунди. Динамічно створені транк-канали на комутаторі існують лише п'ять хвилин. Після цього терміну транк відключається.
Я хочу вказати, що Access/Desirable (0x03) вказує на те, що кадр DTP є типу Desirable, що вказує порту перейти в режим Trunk. А 802.1Q/802.1Q (0xa5) вказує на тип інкапсуляції 802.1Q.
Аналізуючи кадри STP, ми дізнаємося про існування VLAN 30 та VLAN 60.
Атака на конкретні VLAN
Як тільки ви дізнаєтеся ідентифікатори VLAN та значення IP, ви можете налаштувати віртуальний інтерфейс для атаки конкретного VLAN. Якщо DHCP недоступний, використовуйте ifconfig для встановлення статичної IP-адреси.
Автоматичний VLAN Hopper
Обговорювана атака Динамічне з'єднання та створення віртуальних інтерфейсів для виявлення хостів всередині інших VLAN автоматично виконується за допомогою інструменту: https://github.com/nccgroup/vlan-hopping---frogger
Подвійне тегування
Якщо зловмисник знає значення MAC, IP та VLAN ID хоста-жертви, він може спробувати подвійно позначити фрейм з призначеним для нього VLAN та VLAN жертви та відправити пакет. Оскільки жертва не зможе підключитися назад до зловмисника, то найкращий варіант для зловмисника - спілкуватися через UDP з протоколами, які можуть виконувати цікаві дії (наприклад, SNMP).
Інша опція для зловмисника - запустити сканування портів TCP, підробивши IP, керований зловмисником і доступний для жертви (мабуть через Інтернет). Потім зловмисник може перехоплювати пакети в другому хості, який належить йому, якщо він отримує деякі пакети від жертви.
Для виконання цієї атаки можна використовувати scapy: pip install scapy
Обхід бокової сегментації VLAN
Якщо у вас є доступ до комутатора, до якого ви безпосередньо підключені, ви маєте можливість обійти сегментацію VLAN в мережі. Просто перемкніть порт у режим транка (відомий як транк), створіть віртуальні інтерфейси з ідентифікаторами цільових VLAN та налаштуйте IP-адресу. Ви можете спробувати запросити адресу динамічно (DHCP) або налаштувати її статично. Це залежить від ситуації.
pageLateral VLAN Segmentation BypassОбхід приватної VLAN на рівні 3
У певних середовищах, таких як гостьові бездротові мережі, налаштування ізоляції портів (також відоме як приватна VLAN) використовується для запобігання прямому спілкуванню клієнтів, підключених до точки доступу бездротової мережі. Однак була виявлена техніка, яка може обійти ці заходи ізоляції. Ця техніка використовує або відсутність списків керування доступом мережі, або їх неправильну конфігурацію, що дозволяє маршрутизувати IP-пакети через маршрутизатор для досягнення іншого клієнта в тій же мережі.
Атака виконується шляхом створення пакета, який містить IP-адресу цільового клієнта, але з MAC-адресою маршрутизатора. Це призводить до того, що маршрутизатор помиляється, пересилаючи пакет до цільового клієнта. Цей підхід схожий на той, що використовується в атаках з подвійним тегуванням, де використовується можливість керувати хостом, до якого має доступ жертва, для експлуатації уразливості безпеки.
Основні кроки атаки:
Створення пакета: Пакет спеціально створюється таким чином, щоб містити IP-адресу цільового клієнта, але з MAC-адресою маршрутизатора.
Експлуатація поведінки маршрутизатора: Створений пакет відправляється до маршрутизатора, який, через конфігурацію, перенаправляє пакет до цільового клієнта, обходячи ізоляцію, надану налаштуваннями приватної VLAN.
Атаки на VTP
VTP (VLAN Trunking Protocol) централізує управління VLAN. Він використовує номери ревізій для збереження цілісності бази даних VLAN; будь-яка модифікація збільшує цей номер. Комутатори приймають конфігурації з більшими номерами ревізій, оновлюючи свої власні бази даних VLAN.
Ролі домену VTP
Сервер VTP: Управляє VLAN — створює, видаляє, змінює. Розсилає оголошення VTP членам домену.
Клієнт VTP: Отримує оголошення VTP для синхронізації своєї бази даних VLAN. Ця роль обмежена від локальних модифікацій конфігурації VLAN.
Прозорий VTP: Не бере участі в оновленнях VTP, але пересилає оголошення VTP. Не піддається атакам VTP, підтримує постійний номер ревізії нуль.
Типи оголошень VTP
Оголошення загальної інформації: Розсилається сервером VTP кожні 300 секунд, несучи важливу інформацію домену.
Оголошення підмножини: Надсилається після змін конфігурації VLAN.
Запит оголошення: Видано клієнтом VTP для запиту оголошення загальної інформації, зазвичай у відповідь на виявлення більш високого номера ревізії конфігурації.
Уразливості VTP можна експлуатувати виключно через транк-порти, оскільки оголошення VTP циркулюють лише через них. Сценарії атак після атаки DTP можуть переходити до VTP. Інструменти, такі як Yersinia, можуть сприяти атакам на VTP, спрямованим на видалення бази даних VLAN, ефективно нарушуючи мережу.
Примітка: Ця дискусія стосується VTP версії 1 (VTPv1).
У графічному режимі Yersinia виберіть опцію видалення всіх VTP вланів для очищення бази даних VLAN.
Атаки STP
Якщо ви не можете захопити фрейми BPDU на своїх інтерфейсах, ймовірно, вам не вдасться успішно виконати атаку STP.
STP BPDU DoS
Відправляючи багато BPDUs TCP (повідомлення про зміну топології) або Conf (BPDUs, які відправляються при створенні топології), комутатори перевантажуються і перестають працювати правильно.
Атака STP TCP
Коли відправляється TCP, таблиця CAM комутаторів буде видалена через 15 с. Потім, якщо ви надсилаєте безперервно цей тип пакетів, таблиця CAM буде постійно перезапускатися (або кожні 15 с), і коли вона перезапускається, комутатор веде себе як концентратор.
Атака на корінь STP
Атакувальник симулює поведінку комутатора, щоб стати коренем STP мережі. Після цього через нього буде проходити більше даних. Це цікаво, коли ви підключені до двох різних комутаторів. Це робиться шляхом відправлення пакетів CONF BPDUs, в яких вказується, що значення пріоритету менше, ніж фактичний пріоритет поточного кореневого комутатора.
Якщо зловмисник підключений до 2 комутаторів, він може бути коренем нового дерева, і весь трафік між цими комутаторами буде проходити через нього (буде виконано атаку MITM).
Атаки CDP
Протокол виявлення CISCO (CDP) є важливим для зв'язку між пристроями CISCO, що дозволяє їм ідентифікувати один одного та обмінюватися конфігураційними даними.
Пасивний збір даних
CDP налаштований на трансляцію інформації через всі порти, що може призвести до ризику безпеки. Атакуючий, підключившись до порту комутатора, може використовувати сніфери мережі, такі як Wireshark, tcpdump або Yersinia. Ця дія може розкрити чутливі дані про мережевий пристрій, включаючи його модель та версію Cisco IOS, яку він використовує. Після цього атакуючий може спрямувати свою увагу на конкретні вразливості в ідентифікованій версії Cisco IOS.
Викликання переповнення таблиці CDP
Більш агресивний підхід передбачає запуск атаки відмови в обслуговуванні (DoS), перевантажуючи пам'ять комутатора, претендуючи на легітимні пристрої CISCO. Нижче наведена послідовність команд для запуску такої атаки за допомогою Yersinia, мережевого інструмента, призначеного для тестування:
Під час цього нападу процесор комутатора та таблиця сусідів CDP значно перевантажуються, що часто призводить до так званої «мережевої паралізації» через надмірне споживання ресурсів.
Атака імітації CDP
Ви також можете використовувати scapy. Обов'язково встановіть його з пакетом scapy/contrib
.
Атаки на VoIP та інструмент VoIP Hopper
Телефони VoIP, які все більше інтегруються з пристроями Інтернету речей, пропонують функціонал, такий як відкривання дверей або керування термостатами за допомогою спеціальних телефонних номерів. Однак ця інтеграція може становити загрозу безпеці.
Інструмент voiphopper призначений для емуляції телефону VoIP в різних середовищах (Cisco, Avaya, Nortel, Alcatel-Lucent). Він виявляє ідентифікатор VLAN голосової мережі за допомогою протоколів, таких як CDP, DHCP, LLDP-MED та 802.1Q ARP.
VoIP Hopper пропонує три режими для протоколу виявлення Cisco (CDP):
Режим перехоплення (
-c 0
): Аналізує мережеві пакети для ідентифікації ідентифікатора VLAN.Режим підробки (
-c 1
): Генерує власні пакети, що імітують пакети реального пристрою VoIP.Режим підробки з попередньо створеним пакетом (
-c 2
): Надсилає пакети, ідентичні пакетам певної моделі IP-телефону Cisco.
Перевагу слід надавати третьому режиму для швидкості. Для його використання потрібно вказати:
Мережевий інтерфейс атакуючого (
-i
параметр).Назву емульованого пристрою VoIP (
-E
параметр), дотримуючись формату найменування Cisco (наприклад, SEP, за яким слідує MAC-адреса).
У корпоративних налаштуваннях для імітації існуючого пристрою VoIP можна:
Перевірити мітку MAC на телефоні.
Перейти до налаштувань дисплея телефону, щоб переглянути інформацію про модель.
Підключити пристрій VoIP до ноутбука та спостерігати за запитами CDP за допомогою Wireshark.
Приклад команди для виконання інструменту у третьому режимі:
Атаки DHCP
Перелік
DoS
Існують два типи DoS атак, які можна виконати проти серверів DHCP. Перший полягає в імітації достатньої кількості фальшивих хостів для використання всіх можливих IP-адрес.
Ця атака буде працювати лише у випадку, якщо ви можете бачити відповіді від сервера DHCP та завершити протокол (Discover (Комп) --> Offer (сервер) --> Request (Комп) --> ACK (сервер)). Наприклад, це неможливо в бездротових мережах.
Інший спосіб виконання атаки DHCP DoS полягає в надсиланні пакету DHCP-RELEASE, використовуючи як джерело коду кожну можливу IP-адресу. Потім сервер буде вважати, що всі закінчили використання IP.
Більш автоматизованим способом це робити є використання інструменту DHCPing
Ви можете використовувати згадані атаки DoS, щоб змусити клієнтів отримувати нові лізинги в середовищі, та вичерпати законні сервери, щоб вони стали несправними. Таким чином, коли законні спробують повторно підключитися, ви можете надати зловмисні значення, зазначені в наступній атакі.
Встановлення зловмисних значень
Зловмисний DHCP сервер можна налаштувати за допомогою скрипту DHCP, розташованого за шляхом /usr/share/responder/DHCP.py
. Це корисно для мережевих атак, таких як захоплення HTTP трафіку та облікових даних, перенаправляючи трафік на зловмисний сервер. Однак встановлення зловмисного шлюзу менш ефективно, оскільки воно дозволяє лише захоплювати вихідний трафік від клієнта, пропускаючи відповіді від реального шлюзу. Замість цього рекомендується встановити зловмисний DNS або сервер WPAD для більш ефективної атаки.
Нижче наведені параметри команд для налаштування зловмисного DHCP сервера:
Наш IP-адреса (Оголошення шлюзу): Використовуйте
-i 10.0.0.100
, щоб оголосити IP-адресу вашого комп'ютера як шлюз.Локальне доменне ім'я DNS: Опціонально, використовуйте
-d example.org
, щоб встановити локальне доменне ім'я DNS.Оригінальний IP-адреса маршрутизатора/шлюзу: Використовуйте
-r 10.0.0.1
, щоб вказати IP-адресу законного маршрутизатора або шлюзу.IP-адреса основного DNS сервера: Використовуйте
-p 10.0.0.100
, щоб встановити IP-адресу зловмисного DNS сервера, яким ви керуєте.IP-адреса вторинного DNS сервера: Опціонально, використовуйте
-s 10.0.0.1
, щоб встановити IP-адресу вторинного DNS сервера.Маска підмережі локальної мережі: Використовуйте
-n 255.255.255.0
, щоб визначити маску підмережі для локальної мережі.Інтерфейс для трафіку DHCP: Використовуйте
-I eth1
, щоб прослуховувати трафік DHCP на конкретному мережевому інтерфейсі.Адреса конфігурації WPAD: Використовуйте
-w “http://10.0.0.100/wpad.dat”
, щоб встановити адресу для конфігурації WPAD, допомагаючи в перехопленні веб-трафіку.Підроблена IP-адреса типового шлюзу: Включіть
-S
, щоб підробити IP-адресу типового шлюзу.Відповідь на всі запити DHCP: Включіть
-R
, щоб сервер відповідав на всі запити DHCP, але пам'ятайте, що це шумно і може бути виявлено.
Правильно використовуючи ці параметри, можна створити зловмисний DHCP сервер для ефективного перехоплення мережевого трафіку.
Атаки EAP
Ось деякі тактики атаки, які можна використовувати проти реалізацій 802.1X:
Активне переборення пароля методом EAP
Атака на сервер RADIUS за допомогою некоректного вмісту EAP **(експлойти)
Захоплення повідомлення EAP та офлайн-відновлення пароля (EAP-MD5 та PEAP)
Примусова аутентифікація EAP-MD5 для обхіду перевірки сертифіката TLS
Впровадження зловмисного мережевого трафіку при аутентифікації за допомогою концентратора або подібного
Якщо атакуючий знаходиться між жертвою та сервером аутентифікації, він може спробувати знизити (якщо потрібно) протокол аутентифікації до EAP-MD5 та захопити спробу аутентифікації. Потім він може спробувати зламати це, використовуючи:
Атаки на протоколи FHRP (GLBP та HSRP)
FHRP (Протокол першого кроку резервування) - це клас мережевих протоколів, призначених для створення гарячої резервної системи маршрутизації. За допомогою FHRP фізичні маршрутизатори можуть бути об'єднані в один логічний пристрій, що збільшує стійкість до відмов та допомагає розподілити навантаження.
Інженери компанії Cisco Systems розробили два протоколи FHRP, GLBP та HSRP.
pageGLBP & HSRP AttacksRIP
Відомо, що існують три версії протоколу маршрутизації інформації (RIP): RIP, RIPv2 та RIPng. Датаграми надсилаються пірингам через порт 520 за допомогою UDP за допомогою RIP та RIPv2, тоді як датаграми транслюються на UDP-порт 521 через мультікаст IPv6 за допомогою RIPng. Підтримка аутентифікації MD5 була введена в RIPv2. З іншого боку, в RIPng не включено вбудовану аутентифікацію; замість цього використовується необов'язкові заголовки IPsec AH та ESP в мережі IPv6.
RIP та RIPv2: Комунікація відбувається через UDP-датаграми на порту 520.
RIPng: Використовує UDP-порт 521 для трансляції датаграм через мультікаст IPv6.
Зверніть увагу, що RIPv2 підтримує аутентифікацію MD5, тоді як RIPng не має вбудованої аутентифікації, покладаючись на заголовки IPsec AH та ESP в IPv6.
Атаки на EIGRP
EIGRP (Протокол покращеної внутрішньої шлюзової маршрутизації) - це динамічний протокол маршрутизації. Це протокол вектора відстані. Якщо немає аутентифікації та налаштування пасивних інтерфейсів, зловмисник може втрутитися в маршрутизацію EIGRP та спричинити затруєння таблиць маршрутизації. Крім того, мережа EIGRP (іншими словами, автономна система) є плоскою і не має сегментації на будь-які зони. Якщо атакувач впроваджує маршрут, ймовірно, що цей маршрут розповсюдиться по всій автономній системі EIGRP.
Для атаки на систему EIGRP потрібно встановити сусідство з легітим маршрутизатором EIGRP, що відкриває багато можливостей, від базового розвідування до різних впроваджень.
FRRouting дозволяє вам реалізувати віртуальний маршрутизатор, який підтримує BGP, OSPF, EIGRP, RIP та інші протоколи. Вам просто потрібно розгорнути його на системі вашого атакувальника, і ви фактично можете претендувати на роль легітимного маршрутизатора в домені маршрутизації.
pageEIGRP AttacksColy має можливості для перехоплення мовлення EIGRP (Протокол покращеної внутрішньої шлюзової маршрутизації). Також він дозволяє впровадження пакетів, які можуть бути використані для зміни конфігурацій маршрутизації.
OSPF
У протоколі Open Shortest Path First (OSPF) аутентифікація MD5 часто використовується для забезпечення безпечного зв'язку між маршрутизаторами. Однак ця захисна міра може бути скомпрометована за допомогою інструментів, таких як Loki та John the Ripper. Ці інструменти здатні захоплювати та розкривати хеші MD5, розкриваючи аутентифікаційний ключ. Як тільки цей ключ отримано, його можна використовувати для введення нової маршрутної інформації. Для налаштування параметрів маршруту та встановлення компрометованого ключа використовуються відповідно вкладки Injection та Connection.
Захоплення та розкриття хешів MD5: Для цього використовуються інструменти, такі як Loki та John the Ripper.
Налаштування параметрів маршруту: Це робиться через вкладку Injection.
Встановлення компрометованого ключа: Ключ налаштовується під вкладкою Connection.
Інші загальні інструменти та джерела
Above: Інструмент для сканування мережевого трафіку та пошуку вразливостей
Ви можете знайти деяку додаткову інформацію про мережеві атаки тут.
Підроблення
Атакувальник налаштовує всі мережеві параметри (ШПД, IP, DNS) нового учасника мережі, надсилаючи фальшиві відповіді DHCP.
ARP Підробка
Перевірте попередній розділ.
ICMPRedirect
ICMP Redirect полягає в тому, що відправляється пакет ICMP типу 1 код 5, який вказує, що атакувальник є найкращим шляхом до IP. Потім, коли жертва хоче зв'язатися з IP, вона відправить пакет через атакувальника.
DNS Spoofing
Атакуючий буде розв'язувати деякі (або всі) домени, які запитує жертва.
Налаштування власного DNS за допомогою dnsmasq
Локальні шлюзи
Часто існує кілька маршрутів до систем та мереж. Після створення списку MAC-адрес у локальній мережі використовуйте gateway-finder.py для ідентифікації хостів, які підтримують пересилання IPv4.
Для локального вирішення імен хостів, коли DNS-запити невдались, системи Microsoft покладаються на Link-Local Multicast Name Resolution (LLMNR) та NetBIOS Name Service (NBT-NS). Так само, Apple Bonjour та Linux zero-configuration використовують Multicast DNS (mDNS) для виявлення систем у мережі. Через відсутність аутентифікації цих протоколів та їхню роботу через UDP, розсилання повідомлень, їх можуть використовувати зловмисники з метою перенаправлення користувачів на шкідливі сервіси.
Ви можете підробити сервіси, які шукаються хостами, використовуючи Responder для відправлення фальшивих відповідей. Докладніше про як підробити сервіси за допомогою Responder.
Браузери зазвичай використовують протокол Web Proxy Auto-Discovery (WPAD) для автоматичного отримання налаштувань проксі. Це включає отримання конфігураційних даних з сервера, зокрема через URL, такий як "http://wpad.example.org/wpad.dat". Виявлення цього сервера клієнтами може відбуватися за допомогою різних механізмів:
Через DHCP, де виявлення сприяється використанням спеціального коду 252.
Через DNS, що включає пошук імені хоста з позначкою wpad у локальному домені.
Через Microsoft LLMNR та NBT-NS, які є резервними механізмами у випадках, коли DNS-запити не вдаються.
Інструмент Responder використовує цей протокол, діючи як зловмисний сервер WPAD. Він використовує DHCP, DNS, LLMNR та NBT-NS, щоб ввести клієнтів в оману і підключитися до нього. Для докладнішої інформації про те, як можуть бути підроблені сервіси за допомогою Responder, перевірте це.
Ви можете пропонувати різні сервіси в мережі, щоб обманути користувача та введення паролів у відкритому тексті. Додаткова інформація про цей атаку в Підробка SSDP та UPnP пристроїв.
Підробка сусідів IPv6
Ця атака дуже схожа на ARP-підробку, але в світі IPv6. Ви можете змусити жертву вважати, що IPv6 шлюза має MAC-адресу атакуючого.
Зловмисне підроблення/затоплення маршрутизаторних оголошень IPv6
Деякі ОС налаштовані за замовчуванням на встановлення шлюзу з пакетів RA, відправлених в мережу. Щоб визначити зловмисника як маршрутизатор IPv6, ви можете використовувати:
Заміна DHCP для IPv6
За замовчуванням деякі операційні системи намагаються налаштувати DNS, читаючи пакет DHCPv6 в мережі. Тоді зловмисник може відправити пакет DHCPv6, щоб налаштувати себе як DNS. DHCP також надає IPv6 жертві.
HTTP (фальшива сторінка та впровадження коду JS)
Інтернет-атаки
sslStrip
Основна мета цієї атаки полягає в тому, що у випадку, якщо користувач намагається отримати доступ до сторінки HTTP, яка перенаправляється на версію HTTPS, sslStrip буде підтримувати HTTP-з'єднання з клієнтом та HTTPS-з'єднання з сервером, щоб мати можливість перехоплювати з'єднання у звичайному тексті.
Додаткову інформацію можна знайти тут.
sslStrip+ та dns2proxy для обхіду HSTS
Відмінність між sslStrip+ та dns2proxy від sslStrip полягає в тому, що вони будуть перенаправляти, наприклад, www.facebook.com на wwww.facebook.com (зверніть увагу на додаткову "w") і встановлять адресу цього домену як IP атакуючого. Таким чином, клієнт буде підключатися до wwww.facebook.com (атакуючого), але за кадром sslstrip+ буде зберігати реальне з'єднання через https з www.facebook.com.
Мета цієї техніки - уникнути HSTS, оскільки wwww.facebook.com не буде збережено в кеші браузера, тому браузер буде обманутий для виконання аутентифікації facebook через HTTP. Зверніть увагу, що для виконання цього нападу потерпілий повинен спробувати спочатку отримати доступ до http://www.faceook.com і не https. Це можна зробити, змінивши посилання на сторінці http.
Додаткову інформацію можна знайти тут, тут та тут.
sslStrip або sslStrip+ більше не працюють. Це через те, що в браузерах заздалегідь зберігаються правила HSTS, тому навіть якщо користувач вперше отримує доступ до "важливого" домену, він отримає до нього доступ через HTTPS. Також зверніть увагу, що заздалегідь збережені правила та інші згенеровані правила можуть використовувати прапорець includeSubdomains
тому приклад з _wwww.facebook.com_ зазначений вище більше не працюватиме, оскільки facebook.com використовує HSTS з includeSubdomains
.
TODO: easy-creds, evilgrade, metasploit, factory
TCP прослуховування на порту
TCP + SSL прослуховування на порту
Згенерувати ключі та самопідписаний сертифікат
Прослуховування за допомогою сертифіката
Слухати за допомогою сертифіката та перенаправляти на хости
Іноді, якщо клієнт перевіряє, що СА є дійсним, ви можете подавати сертифікат іншого хоста, підписаний СА. Ще одне цікаве тестування - це подача сертифіката запитаного хоста, але самопідписаного.
Інші речі для тестування - спробуйте підписати сертифікат дійсним сертифікатом, який не є дійсним СА. Або використовуйте дійсний відкритий ключ, змушуйте використовувати алгоритм, як, наприклад, Діффі-Геллман (той, що не потребує розшифрування чого-небудь за допомогою реального приватного ключа), і коли клієнт запитує дослідження реального приватного ключа (наприклад, хеш), надсилайте фальшиве дослідження і очікуйте, що клієнт цього не перевірить.
Bettercap
Активні примітки про відкриття
Враховуйте, що коли пакет UDP надсилається на пристрій, який не має запитаного порту, відправляється ICMP (Порт недоступний).
ARP відкриття
Пакети ARP використовуються для виявлення IP-адрес, які використовуються в мережі. ПК повинен надіслати запит для кожного можливого IP-адреси, і лише ті, які використовуються, відповідатимуть.
mDNS (multicast DNS)
Bettercap надсилає запит MDNS (кожні X мс) для _services_.dns-sd._udp.local, машина, яка бачить цей пакет, зазвичай відповідає на цей запит. Потім він шукає лише машини, які відповідають на "services".
Інструменти
Avahi-browser (--all)
Bettercap (net.probe.mdns)
Responder
NBNS (NetBios Name Server)
Bettercap розсилає пакети на порт 137/UDP, запитуючи ім'я "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA".
SSDP (Simple Service Discovery Protocol)
Bettercap розсилає пакети SSDP, шукаючи всі види сервісів (UDP Port 1900).
WSD (Web Service Discovery)
Bettercap розсилає пакети WSD, шукаючи сервіси (UDP Port 3702).
Посилання
Network Security Assessment: Know Your Network (3rd edition)
Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things. By Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Wood
Last updated